Text-to-Speech Caller ID with Perl

jbisbee on 2002-01-27T19:21:24

Awhile ago I came across this perl script that would use your modem as a caller id and would read the data coming in over the phone line and do something with it. Until now, I've been logging my calls to a MySQL database and pulling them up through a web browser here.

This weekend I got thinking about logging my e-mail as it came in to a transparent term at the bottom of my display and make it stack below. I got that working just fine by adding some hooks into my Mail::Audit script that printed the "from" and "subject" of my e-mails to a log that I could tail.

Once I got e-mail logging to work, I though it would be cool to also log my phone calls to the same file. The problem was that the modem was hooked up to my server and the log file was my workstation. It turns out that they guy who wrote this caller id script thought all of this in advance, so build in, is a daemon that requires you to authorize yourself with a user name, password, hostname, and port (the hostname and port is where you plan on listening for the UDP broadcasts).

Now that I have e-mail and my phone calls logging through common interface, I had another fun idea. In the past when I played with misterhouse, I came across festival text-to-speech synthesis and figured it would be really cool if I could add hooks to say a certain phrase for a particular e-mail address or phone number that came through. I decided to do a little hash lookup on phone number or e-mail address that would provide the phrase that I want festival to say.

With the help of Perl I can alert myself of important e-mails and screen calls in style :)

-biz-