In considering Echelon, the world-wide signals intelligence program supposedly capable of recording, transcribing, and analyzing most any voice communication anywhere, I was intrigued by the technology it would take to do it. Better yet, can I make my own Echelon system? The answer is truly surprising, not in how simple it is to do, but in how utterly cheap it is, at least on a small scale.
First, we need a method to record telephone conversations. Since the conversations are to be processed by a computer, it makes sense to capture them with a PC at the beginning. Let's start with an interface device made to record phone calls to a standard cassette tape recorder. Here's one at everyone's "favorite" electronics store, Radio Shack. RS has been selling this kind of device for 30 years. It simply plugs into a phone line and toggles the remote switch on when a conversation is present. We don't care about the remote switch, we just want a tap that will convert a phone signal into something we can use with the microphone input on a sound card. This device is about $27 if you're too lazy to a) shop, or b) make your own.
Next, we need a bit of smarts on the PC side. While I'm a Linux user, I'll be using a Windows machine for this project because of the availability of off-the-shelf software components. What we need is a simple program that monitors the sound card microphone input, and when a voice signal is present, record the input to a file. When the input is no longer present, close the file and continue to monitor the input.
Well, it turns out there is just the utility to do this. Try this utility. This little program does exactly what I described.
So what do we have now? Well, we now have a system that will monitor a single phone line and record any phone conversations on that line to a wav file. The file name is encoded with the date/time the conversation took place. It even captures the DTMF of outgoing calls. Wow, our little Echelon system is coming together!
What to do now? Well, there are a few options. One is to simply have another script email any new files that appear in the recordings directory to you. I'm thinking a bit bigger, however. How about filtering the files through a voice/text converter, such as Naturally Speaking? Then, store away the transcription (along with the original recording) in a DB, and index by key words? In reviewing the features list of Naturally Speaking, the Preferred Edition (list for $199) has a feature that monitors a directory and auto-converts any new sound files that appear in it. Perfect! A complete batched system is within sight!
I haven't done this yet, but I can see no reason why you couldn't. If I can defeat my lack of organizational inertia (read lazyness), I'll update this post and let you know how it works!
Notice: In most states, you are only permitted to record phone conversations you are a participant in. Some states don't even let you do that. If you were to make a system like this and have it record phone conversations you are not a party to, you would very likely violate state and/or federal law. Yes, I understand the contradiction. No, I don't like it either.
So why would I make such a system if using it is illegal? It's more of an exercise to demonstrate that, whatever your take on government surveillance, phone tapping, key word searching, etc., you can remove from the argument whether or not they can do it. They positively and absolutely CAN, because I can.