When the alternative rock group They Might Be Giants were in studio last spring they complained about the problems they were having getting a reliable Dial-A-Song system up and running. I foolishly volunteered to work something up – and now they’re coming back in a week and I’ve got to have something working ASAP. This weekend, in fact. So follow along as I tear out my hair, howl at the moon, and stay up all night creating the Amazing Disc Based All Digital Dial-A-Song Doohickey.
First a little history. TMBG pioneered Dial-A-Song in the early 80s using a plain old telephone answering machine. Fans would call 718-387-6962 (a Brooklyn number – NOT toll free), a song would play, and the machine would hang up. Fans found this endlessly amusing. The band has since become pretty famous and probably doesn’t need the promotional bump that Dial-A-Song provides, but to their credit, John and John don’t want to abandon their roots and they keep it going. But the guys would like to make it a little easier, and perhaps more reliable. For instance, they’d like to use existing MP3s of their songs instead of recording directly into an answering machine. And it would be nice if the songs rotated as they do on the band’s fab Dial-A-Song web site.
After talking with John Flansberg, I’ve come up with the following plan. I’m going to build a Linux box, attach it to a voice capable modem, then use the vgetty program – a voice mail program based on mgetty, the modem tty program – as an answering machine. John can put a CD full of MP3s in the CD-ROM drive, along with an outgoing message named message.mp3. Each hour a cron job will select an MP3 from the CD at random, merge it with the outgoing message, then convert it to the Rockwell voice format needed by the modem. Vgetty will play the new song until the next hour. Fortunately, there’s no user interface needed. John can control the songs by switching CDs any time. If the machine crashes or the power goes out, it will reboot and pick up where it left off. The voice modem is external so J&J can turn it up to check on how it’s working, or turn it off if they’re working. They can also reset the modem without rebooting if it gets stuck, as modems often do. I’ll do this all with bash shell scripts. There will be minimal error checking necessary – I think we’ll have a default song that will play if the script can’t read the CD or something goes wrong in transcoding the MP3 – but otherwise the thing is designed to just sit in the corner and work forever. I hope.
The Linux box is running, a minimal Red Hat 8 is installed. I’ve got a voice modem: the US Robotics 56k Voice Faxmodem (0525). I’m downloading mgetty now. Once I compile and install it, I’ll get the vgetty extensions, and then try to see if I can get it to talk to the modem and answer the phone. I just have to find a dang serial cable. I’ll check in again when I’ve got that minimal setup working.