question about landline phones as an input device

Hey everyone, I have a broad question. Google did not help that much since I am probably googling the wrong terms in the first place. I would like to undertand how does a phone works as an input device. For example, there were some game shows on TV a while ago, where the user would call the program and use their landlinephone to control the character in a game (Street Fighter, Hugo, Mortal Kombat etc.).

I am guessing you could get the keytone, analyze it and check which range the sound belongs to and use this, but there has to be a gadget or a more stable way around this.

I would love to learn more if anyone knows anything about the subject.

Unfortunately, I never saw the show you’re talking about, so I don’t know what kind of control they used in that particular instance.

However, I can still probably tell you a few things about using the phone as an input device.

There are three possible ways to get input from the telephone, and two for any given telephone: receiver pulses DTMF signals, and spoken commands.

Receiver pulses are what you generate when you dial on a rotary phone. Turning the dial to 1 and letting go generates 1 pulse, turning the dial to 2 and letting go generates 2 pulses, etc. (0=10 pulses). The system at the other end listens for those pulses, and when they stop coming, it knows/assumes they’re done and accepts that number.

DTMF signals are those two-tone bloops you get from a touch-tone phone. The buttons in each row generate a tone, the buttons in each column generate a second tone, and the machine on the other end interprets the frequencies of those two tones to determine what number was pressed.

Spoken commands are more recent, and depend on the computer having sufficient processing power to record and interpret what’s spoken in order to decide what’s to be done.

And frankly, I see all three of those methods having too much latency to be good for anything except RTS. When rotary dialing, larger numbers take longer to dial, spoken commands take a second or two to interpret… touch-tone would be the best way to go, but even that takes time to interpret, and you can only press one button at a time. Both SF and MK have combos that require multiple buttons, and then there’s the problem of that pesky joystick.

The fourth way, which I only thought of just now, would be to have a custom device that generates tones based on which way a joystick was moved or which buttons were pushed on a custom device hooked up to the phone for that express purpose. Could work, but I’d still be concerned about latency. I admit it, I’m a worrywort.

@sulas - it’s possible, I’d be interested to see the implementation that would have people dial in a game, but none the less… Your two (as far as I can remember right now) choices are:

  1. tone / signal processing - as you described. It’s complicated, but there are some (fairly expensive) off the shelf solutions out there. The rest is custom integration with the game engine (see below for integration options)

or

  1. The “easier” and more “standard” development approach using VXML processing, VOIP, and likely a EPABX - electronic private automatic branch exchange. I’d have to dig deeper, but the basics are: you do “web” like development with pre-recorded messages, then use a custom EPABX to route your call via VOIP to a application server and process the responses using a VXML solution. Businesses use this fairly commonly, call Sprint help for example. In your case you’d simply want to interface the end processing with a game (or game server depending on the type of interaction / visualization you’re looking for).

Hope this helps,

Galen

galent territan, thanks a lot guys, that explains the subject well I think.

Kind of sad to see that it actually works as how I imagined it would do and I’m worried about the performance hit. This might be a hobby project btw,I am not after a full fledged commercial solution.

Found this:
http://www.soundplusdesign.com/?p=879

Since the tones can be recreated, maybe it would also be possible to check if the recieved sound tone overlaps with a pre-defined tone and use that data.

Thnaks for the explanations again :slight_smile:

Not that I have a dog in this particular horse race [sic], but here’s something to consider:

http://www.voxeo.com/prophecy/

It’s a free VXML/VOIP solution, as long as you use it on two lines or less. We should ask for a Unity hook into it, just to watch Unity’s developers have kittens. :twisted:

@sulas - you may find some helpful information in researching work done on game design for the visually impaired. I’ve looked at a variety of research and design theories in augmented gameplay, adaptive interfaces, etc… It may not be your target audience, however, that is the field most invested in developing/designing less conventional game development. As for performance, telephony is no more challenging (probably less) than MMO over IP.

@Territan - Unity already supports enough tools to implement a solution like this, it’s not a plug-and-play interaction, however, the technologies involved are disparate enough that any implementation is going to be custom.

Hope this helps,

Galen