When I was growing up, my buddy's dad happened to be an old Berkley unix guru greybeard mad scientist type who told great stories of dumpster diving and the olden days. I was running a BBS at the time, and he told me stories of working in a modem manufacturing facility in QC. According to him, they would whistle into the receiver of each modem in order to test that it was at least minimally operational.
I tried this a number of times by dialing into my BBS and got good enough to be able whistle up a 9600baud connection. I don't know why, but I really relished getting that rush of static noise after connecting successfully.
The audio file on wikimedia commons provides automatically transcribed closed captioning that is unintentionally hilarious. The Portuguese subtitles include "Tchaaaaahhh puaaaoooooaaahhhhh" and "sshhhhhhshshhhhhhh."
http://commons.wikimedia.org/wiki/File:Dial_up_modem_noises....
I started with a 300 bps modem (Novation AppleCat II, it could actually do 1200 half-duplex to another AppleCat II). From there a 2400 bps modem, then a 9600, then finally a 56k before I had ISDN, DSL, etc.
I remember the evolution in tones but never knew what they were till I took a signaling class in college. One of the projects in that class was to build visual transmitters. We'd stand outside a few hundred yards apart and see how fast we could transmit a message to a partner. The trick to being fast was encoding multiple bits in each symbol, but not so many you'd fumble around grabbing the next symbol. I think my transmitter encoded 2 bits at a time (so four symbols).
The early modems I had access to were 300/300 or 1200/75.
Ah! V.23.
The 75 baud backward channel of 1200/75 was good enough to keep up with typing so it was my preferred speed when accessing various things remotely where I never needed to send large amounts of text/data but had lots of data coming back the other way.
What I never understood is why the modem plays this through its speakers instead of some other tone that lets us know that it is connecting. Any explanation?
That became a common practice before typical modems were able to identify call progress elements like dialtone, ring, busy, etc. Long after that changed, interoperability problems with the ad-hoc in band signaling conventions meant they were often disabled by default. Couple this with the fact that up through 9.6k or some negotiation problems were audibly diagnosable and the feature itself made sense up to a point. Inertia and industry dynamics probably account for why it persisted into the consumerization of the Internet - by this point the consumer market was dominated by low margin white box manufacturing.
Keep in mind that the very high rate of change in signaling standards (9.6 -> 14.4 -> 19.2 -> 28.8 -> 33.6 -> 56 in roughly ten years) seemed to essentially leave little energy for non-core engineering changes.
From what I've understood it's so you can identify if the line is, in fact, a modem. Easy to diagnose the issue when you hear "Mach Pizza, can I take your order?" coming through the speaker
Agreed. I've already witnessed Windows making a modem call the fire brigade emergency number (probably because it was confused about the country I was in). Woops.
The sound was useful. One of my modems in the 1990s would falter about 1 out of 8 times. When it faltered, it would never connect and never hang up. Without knowing or learning any of the technical information in the OP, I learned to distinguish the sound of a faltering attempt to connect from the sound of a normal one. If I were not able to hear the "tones"/sounds, the only way I would have been able to detect a faltering attempt is when the attempt lasted longer than successful attempts do. So, being able to hear the sound saved me time: I was able to detect a faltering attempt faster. (About 10 seconds faster. My response was to hang up and redial.)
In other words, having the modem duplicate the lines' "tones"/sounds over a speaker was a nice hack on the natural human ability to distinguish between different sets of complex patterns.
A similar hack: there is a blind programmer named Karl Dahlke who pipes the character stream being sent to his Linux console through his PC speaker. Even though it probably sounds like radio static or a cacophony to the untutored ear, he has been able to learn to distinguish certain patterns quickly without having to wait for his text-to-speech software to read him any of what is on the console.
ADDED. The "blinking lights" on the front panels of early computers and mini-computers is another example. I understand that computer operators learned to extract a lot of relevant information from the row of lights on the front of the computer that formed a binary representation of the contents of the program counter.
I understand that computer operators learned to extract a lot of relevant information from the row of lights on the front of the computer that formed a binary representation of the contents of the program counter.
Parenthetically, these "out of band" debugging cues still work. Try holding an AM radio next to your PC's motherboard. :)
This was occasionally useful for debugging before CPU clock frequencies started to look less like AM radio and more like microwave ovens...
My pet theory is that it's to convince you that your computer is doing something, instead of sitting there. One of my happiest moments growing up was finding out how to mute the damn thing - it annoyed everyone in my family :)
Cheaper and easier to just play back what's happening on the phone line (and it might help in debugging, if you're seriously competent), than somehow generating a "prettier" sound?
That feels like the obvious explanation to me ... Not sure if that means it must be wrong. :)
As modems got faster, the tones being played were pretty identifiable by a human. I could tell if my 56k connection was negotiating down to 28.8 or some other slower speed and preemptively disconnect and try again in order to get a better connection.
I seem to recall being able to turn the speaker noise off on at least one of my modems growing up. But I'd end up leaving it on, because you could follow the sounds like an auditory progress bar.
I wanted to see where in the spectrogram the sound was as it was playing, so I threw together this quickie jsbin to make it happen: http://jsbin.com/amunug/10
Useful for anyone else who wants to be able to match the sounds and pictures, I hope!
It worries/amazes me that along with all the nostalgia that this thread has brought up, it's made me realize I can still remember parts of my 28.8k modem's initialization string. AT&F&C1&D2 from memory.
Reading someone else's post about the Apple Cat II just reminded me of the sheer joy of experimentation at the time. While what we have now was what we were ultimately striving for and would have switched to in a heartbeat, I'm glad for the experience I gained at the time. And I didn't know better so I still loved it :)
I just want to know how I got my first BBS numbers - I was visiting NZ when I got my first modem, and somehow got hold of some local numbers and then found other BBSes from there... but how did I get the first one?
It was all word of mouth back then. I grew up in nz and while I didn't have a modem back in the bbs days, my best friend did. I distinctly remember cycling over to one of the bbs operators houses to pay him for extra access (he had two lines). Quite magical times really.
Got a wave of nostalgia from that, except that the line tests at the end are slightly different than the warbles my modem used to play. It's been years and I can still remember the difference between a 28.8k and 56.6k connection sound.
It's fascinating; what we would consider an ancient piece of technology performs a wide variety of tricks to overcome the optimizations done by telephone networks. I especially liked the part where they transmit data in order to measure the status of the phone line.
These modems are from 1999 or later, so not exactly ancient. Now I'm wondering if the limit to modem speeds in the 80s and 90s was encoding design or the cost of DSPs to implement more advanced encodings.
I think it's mostly due to the fact that modems used just the audio bandwidth of the telephone line, which is about 3 kHz (by design). This limits the maximum speed, earlier versions probably had problems with transceiver complexity.
Acoustic Couplers. The bane of my early childhood. When "real" modems came on sale, it was like the heavens opens and angels sang. For those old enough, you know what I am talking about.
It really is a wonder that this type of communications caught on at all when it started with acoustic couplers.
To reveal the magician's secret: the lower tone indicates the row on the phone keypad, and the higher tone indicates the column. So on a keypad, the first four digits 1-5-7-0 consecutively goes down the keypad's rows and alternate between the first and second column, and you can see that same pattern in the picture.
IOW, each digit plays a two-note chord indicating the row and column on the keypad.
A better way to picture a dial-up modem's sound is as a digital communication constellation. Modems likely used BPSK, QPSK, 8-PSK, 16-QAM, etc modulations. For a theoretical example, see http://en.wikipedia.org/wiki/Quadrature_amplitude_modulation
You've probably seen one before in relation to music. However, since we're dealing with computer-generated tones here, the spectrogram looks very very sparse (few overtones). You can see patterns in music as well, just not as clearly (because there's a lot more going on).
If you'd like to make your own, consider looking into GNU Octave (http://www.gnu.org/software/octave/) or possibly Scilab, both of which are free.
EDIT: I might add that Audacity can easily view the spectogram of a sound file, but if you want to manipulate the signal programatically (filters and so on; signal processing is a great subject), try the above.
Those of us who have been using Linux long enough to have written or used visualizer plugins for XMMS had the joy of becoming familiar with the Fast Fourier Transform.