Cool Tool Friday: Devices Talking to Each Other. Literally.

Before two devices can “talk” to each other (by “talk”, I mean in some way integrate with each other, or exchange data), they have to have some sort of protocol in common. Some examples include:

  • Networked computers talking over TCP/IP.
  • My phone talking to my PDA via infrared and/or bluetooth.
  • My PDA talking to my PC via WiFi talking to another PC via WiFi sending a signal to my stereo via RCA and playing MP3s through iTunes.
  • Tapping on a button on my PDA which makes an HTTP request through GPRS to a web server which executes an OS level command which relays a message to the device plugged into the serial port which sends a radio signal to an X10 device plugged into an electrical socket which uses the X10 protocol to turn a light on downstairs. (Yes, it really works!)

Anyway, you get the point. As long as two devices have a protocol in common, they can usually “talk” and be integrated in some way, and you can even chain devices together through multiple protocols to achieve something very unusual like a PDA “talking” to a lamp through the Internet.

I bought a digital voice recorder the other day, and I was surprised by how feature rich it was. One of the most interesting features is the ability to set an arbitrary time and date in the future for a recording to be played. Essentially, it’s an alarm clock with a custom alarm. Since my Mac has very impressive voice recognition built-in, I figured it would be kind of interesting to use the voice recorder as a kind of cron or scheduled tasks application. All I have to do is record the commands to make my Mac perform an operation, set a date and time, and leave the recorder near my Mac’s microphone.

I downloaded a bunch of iTunes speakable items scripts to make iTunes “speakable”, and recorded the following:

  1. “Wednesday, switch to iTunes.”
  2. “Wednesday, play random music.”

(“Wednesday” is the name of my computer, which is required before giving it a command.)

I had to make the recordings a couple of different times to get the timing and the clarity right, but now it works perfectly. That night, I configured the recording to play at 7:00 AM the next morning, and I woke up to a random iTunes track playing. The nice thing about the speakable items scripts I downloaded is that there’s one entitled “silence” and “shut up” so I was then able to stop the music by yelling at my computer, and then go back to sleep.

Admittedly, the end result wasn’t earth-shattering. I’m sure there are several other ways I could have woken up to a random iTunes track that would have been faster and easier to set up. But it’s not the end result that interests me. What interests me is that it was the first time I had every integrated two devices using the protocol of human speech, and it worked wonderfully. Using human speech as a protocol between devices allows us to easily eavesdrop, and even participate in the “conversation”, or intervene in ways bluetooth and infrared obviously don’t allow. Rather than dialing my cell phone with my PDA via bluetooth, maybe some day my PDA can speak instructions (my cell phone already allows for voice dialing) which means I can catch any mistakes that were made (maybe I tapped on a home number rather than cell phone number), and I could also use the exact same mechanism to dial my phone automatically myself. Or any other device capable of talking could use the same “protocol” as well. I can imagine in the future robots talking to each other in plain English so that we can be certain they aren’t conspiring behind our backs (just in time for the opening of “I, Robot”!), or at least about to perform some function that we would rather they didn’t.

Ok, well, this conversation is getting pretty off-topic, even for a Cool Tool Friday post, so I’ll end it here, and let you pick it up in the comments section. Can you think of any other cool scenarios for using the human voice as a machine protocol?

8 Responses to Cool Tool Friday: Devices Talking to Each Other. Literally.

  1. ericd says:

    Create an AppleScript application that performs the functionality you want and save it somewhere.Create a one-time or repeating event in iCal.Set the alarm properties on that event to open your AppleScript application.Turn on Speech Recognition in OSX – and have a command of SHUT UP stop iTunes.A lot cheaper than using your voice recorder – but thats cool too 🙂

  2. Mike Brunt says:

    What interests me about this thread is the items that we can create when we find the time to do so. In the incredibly congested world we live in when we are successful it can sometimes be very difficult to find the time to be creative.

  3. alex says:

    I love it – great idea and I agree there is a lot of interesting flexibility in enforcing human voice communication protocols for local e.g. household devices. Modifying or overriding scheduled commands becomes instantly easy. “fridge, ignore toaster.”

  4. Eric, the idea wasn’t to do something the simplest or even the best way. It’s was to see if it could be done in a completely new and different way. I didn’t buy the voice recorder so it could talk to my Mac, but the concept seemed interesting enough to pursue. I like the idea of writing scripts in plain English, and just saying them. I’m now wondering what other devices I can get to “talk” to each other in my house. Unfortunately, speech recognition isn’t as widespread as bluetooth or IR, and as Mike Brunt points out, time is limited. Anyone have any ideas?

  5. ericd says:

    how about your voice recorder turning on the coffee maker in the morning using the clapper? hehe

  6. Jed Wood says:

    Well, I purchased the Teleo intro component set this spring, and have yet to really play around with it– but I think it could definitely fit in here somewhere to help bridge the voice commands to other protocols that will control physical devices.As you’ve mentioned, it’s the process here that’s interesting. What’s also interesting to me is how it suddenly starts to make the idea of a “smart home” something in the price range that many people could afford, rather than being saved for millionaires that have completely custom-built solutions. Cool- keep us posted!

  7. Jon Cooper says:

    Security is always at the front of my mind and this got me thinking..you know how many homes now have light and curtain opening switches on timers for when thy are on holiday..how about combining these switches with some kind of rudimentary small talk app and voicerecognition devices. Now you could have self generated conversations going off around the house (two devices chatting as if husband and wife eg) BUT with the nice twist that, for instance, at dusk (light sensor) one would tell the other to close the curtains and, in doing so trigger the curtain switch in that room and flip on lights. Doesn’t sound too implausible to me!!Feedback appreciated..in the meantime, a really nice bit of lateral thinking Christian.cheersJon

  8. Rob Brooks-Bilson says:

    Christian, just noticed they blogged you on Engadget:http://www.engadget.com/entry/2598495637437141/Nice job!