ubreddy
ubreddy

Reputation: 875

Speech to Text using Twilio

We use microsoft botframework for our chatbots. We would want to enable Voice channel to our bot. Is there a way to solution this? Does Twilio have anything that can add speech capabilities to our bot. Our bots are exposed via webchat components, skype, facebook messenger etc.

Upvotes: 1

Views: 1924

Answers (2)

Borja SIXTO
Borja SIXTO

Reputation: 119

Voximal offers as Twillo a similar product but based on VoiceXML. The difference is that Voximal integrates natively most of STT engines (Microsoft, Google, Watson, iSpeech) in the solution (you only need to set the key or the user/password to configure them). You use a builtin grammar "text" to translate. Then the processing is very similar to the Twilio. You need to push the content to a chatbot engine (HTTP/XML/JSON), and you have a way to play the result with a TTS engine. Have a look to the Parrot example (a script that repeats all you said using the STT and TTS) :

https://github.com/voximal/voicexml-examples/blob/master/parrot/parrot.vxml

Upvotes: 0

philnash
philnash

Reputation: 73075

Twilio developer evangelist here.

There's no way within Botframework to add voice capabilities from Twilio, however receiving calls works in a similar way. When someone calls your Twilio number you receive a webhook which you can respond to with TwiML to tell Twilio what to do with the call.

To then perform things by voice action you can <Record> the caller's response and set the transcribe parameter to true. You also need to set a transcribeCallback URL as the transcription is done asynchronously. Once you receive that callback, the text of the transcription will be available as a parameter in the request. You could also perform the transcription yourself with a third party service by just taking the recording and sending it off.

Once you receive the transcription you can then make your decision as the the next step of the conversation and redirect the live call to the next step of your process using the REST API.

This is just a high level overview of how you might accomplish this. Let me know if it is of any help.

Upvotes: 4

Related Questions