Mod ssml

From FreeSWITCH Wiki
Jump to: navigation, search
Warning

Superseded by Confluence

 

mod_ssml implements the SSML (Speech Synthesis Markup Language) and TTS (text-to-speech) file formats.

This module is used primarily by mod_rayo.

Contents

Installing

To use mod_ssml

Tell FreeSWITCH to compile in this module by editing modules.conf in /usr/src/freeswitch/trunk and adding:

 formats/mod_ssml

Now go recompile FreeSWITCH.

make
make install

Tell FreeSWITCH to actually use the module when running by adding the module to modules.conf.xml in /usr/local/freeswitch/conf/autoload_configs:

<load module="mod_ssml"/>

ssml.conf.xml Configuration

The conf/autoload_configs/ssml.conf.xml file contains the configuration. An example configuration is located in formats/mod_ssml/conf/autoload_configs/ssml.conf.xml.

IT IS RECOMMENDED THAT YOU START WITH THE EXAMPLE CONFIG AND ADJUST THE SETTINGS AS NEEDED

tts-voices

This section defines all the available voice languages and genders. mod_ssml will search these voices for the closet match.


    <!-- voices in order of preference -->
    <tts-voices>
      <voice name="slt" language="en-US" gender="female" prefix="tts://flite|slt|"/>
      <voice name="kal" language="en-US" gender="male" prefix="tts://flite|kal|"/>
      <voice name="rms" language="en-US" gender="male" prefix="tts://flite|rms|"/>
      <voice name="awb" language="en-US" gender="male" prefix="tts://flite|awb|"/>
    </tts-voices>

Say module integration

These sections map languages to the appropriate FreeSWITCH say module (like mod_say_en), define say voices in order of preference, and map interpret-as to the say types and methods

    <!-- say voices in order of preference -->
    <say-voices>
      <voice name="callie" language="en-US" gender="female" prefix="$${sounds_dir}/en/us/callie/"/>
    </say-voices>

    <!-- maps ISO language to say module -->
    <language-map>
      <language iso="en-US" say-module="en" language="en"/>
    </language-map>

    <!-- map interpret-as to say macros -->
    <macros>
      <macro name="cardinal" method="pronounced" type="number"/>
      <macro name="characters" method="pronounced" type="name_spelled"/>
    </macros>

ssml:// format

To use the format:

  ssml://<speak xmlns="http://www.w3.org/2001/10/synthesis" version="1.0" xml:lang="en-US"><p>Hello there!</p></speak>

tts:// format

To use the format:

  tts://flite|slt|Hello there!