Back to work on the TMBG answering machine. The clock is ticking down. John and John are going to be on the show on Tuesday, so it’s now or never.
I’m going to post my work notes, in case there’s some interest. I’ll turn them into an article for The Screen Savers web site that might be a little more readable. I imagine most of you will want to skip along to the next post, however.
I have borrowed a “voice modem” from Roger. It’s a Zoom Model 3049 – PC V.92 56K external modem with voice capabilities. I have no idea if vgetty will work with this thing at all, but I’m willing to give it a try.
I’ve modified /etc/inittab as indicated in the (sparse) vgetty documentation to start vgetty on boot. I’m kind of guessing here but this seems to work:
Checking the vgetty log file (/var/log/vgetty.modem – which is very helpful and complete) I see that indeed something is happening. Vgetty seems to be starting (amazing) and can even communicate with the modem. But I also see that I’ve put voice.conf, the vgetty configuration file, in the wrong spot. I’m moving it to the correct locale: /usr/local/sbin/mgetty+vgetty/.
Still not seeing voice.conf. I’m chmod’ing it to 666 to give world r+w privileges. That worked.
Now a new error message. There’s no group “modem”. So I’ll create one. I’ll make the root a member of modem. I think the system will always run as root anyway since there’s no net access and no way to hack it. Done. Error message is gone.
The log also tells me that the modem is a “generic Rockwell” voice modem. That’s very encouraging, since vgetty supports the Rockwell chipset. The log says it’s seeing the modem on /dev/modem and the config strings are going through. I’m getting an error however when vgetty tries to initialize the voice modem functions. Uh oh. Sure enough, the modem will not answer the phone. It sees it ringing – the AA light comes on – but it doesn’t pick up. I’m thinking it has a proprietary voice interface. Wish I had a ZyXel lying around.
While I’m pondering that problem, I’ll start working on the scripts to convert the MP3s on the CD into the answering machine message.
First I have to convert a TMBG MP3 into a form the voice modem understands (rmd) using the following programs, SoX, wavtopvf, and pvftormd. The last two come with vgetty, but I have to guess which rmd format to convert to. Probably Rockwell 8-bit, right?
# convert to 16-bit wav at 11,025 bps (that's all wavtopvf understands)
sox happy.mp3 -w -r 11025 happy.wav
# converts to pvf, an intermediate format
wavtopvf happy.wav happy.pvf
# final conversion to modem audio format
pvftormd -Rockwell 8 happy.pvf standard.rmd
This all seems to work, but there’s no way to verify it until I can get a voice modem that works with vgetty. I’m so close, but… that’s enough for today. Time to trick or treat.