Posts Tagged ‘dtmf’

Modernize Your App with Speech Recognition

Thursday, October 6th, 2011


This commercial was released in 1971 but touchtone (DTMF) was originally invented in 1941. That was 70 years ago! If your voice application is still using touchtone for user input, don’t you think it’s time to enter the 21st century?

Tropo offers speech recognition in 24 languages by default on every prompt allowing callers to use either touchtone or their voice to answer prompts during the call. We support four forms of speech recognition grammars include:

  1. Simple Grammars – Tropo’s comma delimited grammar strings
  2. GrXML – Speech Recognition Grammar Specification Version 1.0
  3. JSGF – Java Speech Grammar Format or the JSpeech Grammar Format (in a W3C Note)
  4. ABNF – Augmented BNF (Backus Normal Form)

Using Tropo’s simple grammars are incredibly, well, simple. Here is what an auto-attendant’s dial directory prompt would look like using Tropo’s simple speech recognition grammar.

ask "Welcome to the Tropo company directory.  Who are you trying to reach?", {
    :choices => "department(support, engineering, sales), person(chris, jason, adam)",
    :onChoice => lambda { |event| 
        say("You said " + event.choice.interpretation + ", which is a " + event.value)    
    }
}

From here you could also transfer the call to the department or person’s phone number or SIP address by substituting the onChoice say prompt with the following logic:

say "Please wait while we transfer your call. Press star to cancel the transfer."
transfer ["+14075550100","sip:12345678912@221.122.54.86"], {
    :playvalue => "http://www.phono.com/audio/holdmusic.mp3",
    :terminator => "*",
    :onTimeout => lambda { |event|
        say "Sorry, but nobody answered"}
}

The possibilities of developing new voice apps using speech recognition are endless! For one, your customers will have a better user experience (UX) by not having to press buttons on the phone. Secondly, apps such as language translater applications and personal assistant applications are now possible.

We want to be your speech recognition and cloud communications partner.

Talking to the Cloud: Build Speech Recognition Applications with Tropo

Tuesday, December 28th, 2010

One of the things that makes Tropo truly amazing is it’s support for speech recognition.

Speech recognition is becoming increasingly important in our everyday lives. Smartphones and powerful handheld devices enable multimodality, and there are more and more restrictions placed on our use of phones while doing other things (like driving).

If you want to build cloud-based mobile applications, you’ve got to have speech recognition. Why would anyone use a platform that tied a developer to nothing but DTMF input (touch tone entry using a key pad) – a technology that was initially rolled out to the public when John F. Kennedy was still in the White House.

The screencast below demonstrates how to use Tropo to build a speech recognition application that can capture a caller’s address. All of the code used in this demo can be obtained on GitHub.

If you are building a mobile application and would like to use speech recognition, Tropo provides some nice choices.

If the input you want to collect is relatively simple, you can use one of the prebuilt simple Tropo grammars. In addition, as discussed in the screencast above, you can use industry standard SRGS grammars as well. Tropo also supports advanced grammar features like semantic interpretation.

While this post focused on using speech recognition to collect an address, you can use it for almost anything your application requires. With Tropo, the sky is the limit.

Which I guess is the point of cloud telephony…

Tropo DTMF to XMPP IM Relay

Friday, November 19th, 2010

Are you building real-time gaming applications that use the phone (Voice or DTMF touch-tone) and require immediate response to your application?  Ever wondered how to get input from a caller at the speed of light – rather than traditional AJAX API calls?

Tropo’s Scripting API allows you to do all sorts of interesting hacks to make this possible!  Earlier, Jason Geocke demonstrated how to do this using real-time TCP sockets in the following blog post: Using Persistent Sockets in Tropo Applications.  I recently had a customer asking about a similar request but using XMPP Instant Messaging to relay the DTMF touch-tones to any IM client.

I’m always up for a new challenge but was disappointed to find that this request wasn’t challenging at all.  Tropo is ideal for building multi-modal communications apps like this going from Voice to IM in the same application.

Here is a video that demonstrates how this works.

Here is the Tropo Scripting that I used to make this demo possible.

answer
sleep 2

keeprunning = true
while keeprunning

  ask "press a key or zero to end", {
    :choices => "[1 DIGITS]",
    :onChoice => lambda { |event|
    message event.value, {
      :to => "christoffe@jabber.org",
      :network => "JABBER"}
      if event.value == "0"
        keeprunning = false
      end
    }
  }

end

The only thing left to do is connect your IM bot to your Tropo application by simply creating one dynamically like cmtest@tropo.im.  See below:

That’s all she wrote :)

Latest Tropo Upgrade Completed

Tuesday, September 8th, 2009

We are continuing to evolve Tropo, by releasing a new upgrade to the Tropo cloud. This upgrade includes the following:

  • Support for fetching Java Speech Grammar Format (JSGF) and Speech Recognition Grammar Specification (SRGS) files from an external HTTP or FTP server, in addition to the built in support for Simple Grammar. We are working on a couple of follow up posts for how-tos on using these enhanced speech grammar capabilities.
  • When placing an outbound call, you must now include the ‘+’ and country code. To dial in the US would then need to be ‘+1415551212′ for every outbound call.
  • The ‘#’ symbol on the telephone keypad may now be used to terminate a recording in a Tropo application.
  • Addition of MP3 as an audio file playback format.
  • You may now play touch-tones (DTMF) after a call has connected. You may now issue a call with these additional parameters: “+14155551212;postd=1234;pause=22000ms”. Where ‘postd’ is the digits to be dialed and ‘pause’ is the amount of time to wait after connecting the call to issue the digits.
  • New accounts will now need to request outbound dialing access from support@voxeo.com. All existing accounts have outbound enabled and will continue to do so.

We continue to work on many new features and will roll them out as they become available. Enjoy the new features!