I did a project during my Computer Science graduate program at Utah State University implementing a 300 baud real time software modem. It was a great project, and given my past as a small town BBS sysop (which deserves a dedicated post, but search the linked page for Wade Berrier), it brought back some great memories.
I was inspired by this youtube video as well as by some of the projects and people I work with.
A video demonstration is posted here and the full write up is posted here.
Note: in the video I say that it was for Summer 2011, but I really did do it in 2012.
Note2: the write up was done with lout. Why isn't this more popular?
Anyway, enjoy the video and write up.