legacy:text-to-speech_guide:tts_http_protocol:start

This is an old revision of the document!


HTTP/TTS Protocol

Home >

This protocol is simple :

  • From the VoiceXML browser, you configure to use HTTP, a (POST recommended) request containing mainly the text content and additional parameters (like language, voice…).
  • The server treats your request.
  • The VoiceXML browser receives an audio file (cpataible with Asterisk) : it keep it in cache and play it.

The main TTS configuration is set in /etc/vxmld.conf, in the section “TTS server configuration”, parameters prefix “client.prompt.resource.0.”.

  • method : When you set the method with POST or GET the HTTP/TTS protocol is used to process <prompt> text contents. If you set the value ASTERISK, the VoiceXML browser will send the content to the Asterisk module (as a text/UTF8 or XML/UTF8 content).
  • uri : You need to set the uri for the TTS (or TextToVideo) service (our scripts install the services in http://ip/tts/provider/tts.php).
  • format : Configure the audio file format used, all the scripts not support all the format. Have a look on the install documentation to check and set the correct format.
  • maxage : The parameter maxage force to refresh the cache after sometime. The value 0, disable the caching, the HTTP request will be use for each prompt. The value -1 define infinite age. If the file exist in the cache, it will be always used from the cache directly.
  • cutPrompt : The option cutPrompt, allows to slice the prompt in order to mutualize the maximal content (cuts in '.', ',', ':' …).
  • ssml : The option ssml for to send the content as SSML/XML well formatted content (with <?xml> and <ssml> roots tags).
############################
# TTS server configuration #
############################

#client.prompt.resource.0.uri                VXIString   http://localhost/tts/flite/tts.php
#client.prompt.resource.0.uriVideo           VXIString   http://localhost/tts/video/ttv.php
client.prompt.resource.0.method             VXIString   POST
client.prompt.resource.0.cacheDir           VXIString   /tmp/cacheContent
client.prompt.resource.0.format             VXIString   wav
client.prompt.resource.0.formatVideo        VXIString   3gp
client.prompt.resource.0.maxage             VXIInteger  -1
client.prompt.resource.0.checkBreak         VXIInteger  0
client.prompt.resource.0.cutPrompt          VXIInteger  0
#client.prompt.resource.0.api                VXIString   voxygen
#client.prompt.resource.0.user               VXIString   demo
#client.prompt.resource.0.password           VXIString   demo
client.prompt.resource.0.ssml               VXIInteger  0
  • text : the text to synthesize : from the <prompt> content (UTF8 format).
  • language : the language used (en-GB, fr-FR…) : from the xml:lang attribut.
  • format : the audio format to return (wav, gsm, mp4… formats supported by Asterisk) : from the configuration.
  • voice : the voice (Carla, Marcos… depends on the TTS provider) : from the xml:lang attribut.
  • size* : the size of the image : from the property promptsize.
  • backgroud* : the image reference or color used for the background : from the property promptbackground.
  • color* : the color for the text : from the property promptcolor.
  • font* : the size of the font : from the property promptfont.
  • offset* : the offset X shift to the text : from the property promptoffset
  • position* : the position Y shift to the text : from the property promptposition
  • hmac : MD5 key generated for Voxygen Cloud integration.
  • legacy/text-to-speech_guide/tts_http_protocol/start.1425415256.txt.gz
  • Last modified: 2017/07/28 22:29
  • (external edit)