On 02/12/2011 02:27 AM, Steven D'Aprano wrote: > Corey Richardson wrote: >> Hello Tutors, >> >> I'm working on a small script that compresses a file, sends it through >> the telephone, and then receives and decompresses the file on the other >> end. The compression is the easy part. The transmission is the hard >> part. If anyone has worked with sound before, what do you recommend? > > [snip of excellent help and advice] > > http://en.wikipedia.org/wiki/TCP/IP_model > http://www.howstuffworks.com/modem.htm > http://en.wikipedia.org/wiki/Modem > > and this may entertain, and help: > http://www.joelonsoftware.com/articles/LeakyAbstractions.html >
Always been a fan of Joel's articles. > > Of course this can be done -- otherwise we wouldn't have the Internet! > But my guess is that doing this in pure Python will be so slow it will > be almost faster for you to copy the file onto a USB stick and > hand-deliver it to the other end. But if you insist... Well, I'm still on my way to learning other languages, Java (which I hate) and soon I begin my voyage onwards into C. I figure once I get something working in a tool I know how to use well, I'll be able to get it done in a tool that I /don't/ know as well. > > * Your compressed file is a bunch of bytes. You need to come up with > a scheme for encoding that to sound. This needs to be reversible > and designed to work on low-fidelity systems (phone networks). > The obvious way is to have one tone represent a one-bit, and another > *very different* tone represent a two-bit. See also "frequency > modulation" and "amplitude modulation". > > * Because of noise on the line, you need a scheme for error correction. > Google for "Error correcting codes" for more information. > > * The sender and receiver need a way to notify each other that they > are ready to start transmitting data. This is called a handshake. > Otherwise, you risk losing data from the ends of the transmission. > > You described this as "a small script" -- it might be so far, but by the > time you finish it will be huge. > >> I don't really want to use the wave module because it looks like too >> much work. > > Pardon me while I chortle :) Merely one aspect of a larger whole that I expected to be much more complex - I didn't want to spend all my time working on sound encoding. I think I have much more realistic view on it now. Thank you _so much_ for the help. I truly appreciate it, you've given me much more perspective, and I'll need to consider carefully my next steps. Probably quite a bit of time at the drawing board! _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor