The Story
I don't possess any fax hardware, so its hard for me to communicate with people who have a fax noise answering on the phone. It is hard even to imagine that in 2012 people are still using devices that eat trees and paper for communication. So, I wanted to fax them an announcement that new era of internet, email and video conferencing has finally arrived.
The Problem
As I don't possess any fax hardware, the obvious and fastest choice would be to send a message through online services. From the other side fax hardware is basically a speaker, a microphone and a little bit of digital signal processing code. The only obvious problem is the code. The fax protocol is known - it should not be a problem to implement it even in Python, but so far I haven't seen any examples of using speaker+mic for faxing. The CPU performance is out of question - modern PC have sufficient power to calculate enough noises for 2400 bits/second. So the only technical explanation for this I have is that latency - (the time of noise to travel from mic to a DSP code and back to speaker) is so long that it disrupts the transmission.
Questions
If the above is true - what is the required latency for fax protocol?
Is there a tool to measure mic-speaker latency?
What else did I miss?
Is it possible to implement everything in Python?
P.S. I couldn't find anything when I looked into ITU (except that I've discovered that ITU looks for you)
Fabrice Bellard (yes, the QEMU and Javascript-PC-emulator guy, he's awesome ;) ) did some work on software modems. According to his project page, there is code for "soundcard interface" as well as modulation/demodulation of various protocols. I haven't looked at the source, but this might provide useful pieces. There is also the linmodems.org site with further pointers.
Linmodems.org links to some software by the late Tony Fisher, who seems to have had a complete implementation of the sending part of what you want to achieve, although for an ancient workstation. Have a look at the manpage.
Additionally, there is this post on the GNU radio mailinglists from 2003 of a guy that seems to want the same thing, although he didn't have xkcd to describe it back then ;)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With