[Freeswitch-users] Error playing TTS using flite

Yungwei Chen yungwei at resolvity.com
Tue May 24 03:45:35 MSD 2011


Hi,

I am testing tts using flite against freeswitch (snapshot downloaded last week) on CentOS 5.
I'm getting "Invalid speech module [cepstral]!" and "Invalid TTS module" errors when dialing 9911 from my SIP client.
What am I missing here? Thanks.

...
Dialplan: sofia/internal/1000 at 192.168.216.18 parsing [default->test1] continue=false
Dialplan: sofia/internal/1000 at 192.168.216.18 Regex (PASS) [test1] destination_number(9911) =~ /^9911$/ break=on-false
Dialplan: sofia/internal/1000 at 192.168.216.18 Action javascript(dtmf_test.js)  --> Freeswitch figured out dtmf_test.js is the action to perform
2011-05-23 18:13:09.859007 [DEBUG] switch_core_state_machine.c:119 (sofia/internal/1000 at 192.168.216.18) State Change CS_ROUTING -> CS_EXECUTE
2011-05-23 18:13:09.859007 [DEBUG] switch_core_session.c:1114 Send signal sofia/internal/1000 at 192.168.216.18 [BREAK]
2011-05-23 18:13:09.859007 [DEBUG] switch_core_state_machine.c:364 (sofia/internal/1000 at 192.168.216.18) State ROUTING going to sleep
2011-05-23 18:13:09.859007 [DEBUG] switch_core_state_machine.c:325 (sofia/internal/1000 at 192.168.216.18) Running State Change CS_EXECUTE
2011-05-23 18:13:09.859007 [DEBUG] switch_core_state_machine.c:371 (sofia/internal/1000 at 192.168.216.18) State EXECUTE
2011-05-23 18:13:09.859007 [DEBUG] mod_sofia.c:240 sofia/internal/1000 at 192.168.216.18 SOFIA EXECUTE
2011-05-23 18:13:09.859007 [DEBUG] switch_core_state_machine.c:157 sofia/internal/1000 at 192.168.216.18 Standard EXECUTE
EXECUTE sofia/internal/1000 at 192.168.216.18 set(open=true)
2011-05-23 18:13:09.859007 [DEBUG] mod_dptools.c:1060 sofia/internal/1000 at 192.168.216.18 SET [open]=[true]
EXECUTE sofia/internal/1000 at 192.168.216.18 hash(insert/192.168.216.18-spymap/1000/399178b8-8592-11e0-ae8d-e9a6940f4ae1)
EXECUTE sofia/internal/1000 at 192.168.216.18 hash(insert/192.168.216.18-last_dial/1000/9911)
EXECUTE sofia/internal/1000 at 192.168.216.18 hash(insert/192.168.216.18-last_dial/global/399178b8-8592-11e0-ae8d-e9a6940f4ae1)
EXECUTE sofia/internal/1000 at 192.168.216.18 set(RFC2822_DATE=Mon, 23 May 2011 18:13:09 -0500)
2011-05-23 18:13:09.859007 [DEBUG] mod_dptools.c:1060 sofia/internal/1000 at 192.168.216.18 SET [RFC2822_DATE]=[Mon, 23 May 2011 18:13:09 -0500]
EXECUTE sofia/internal/1000 at 192.168.216.18 javascript(dtmf_test.js)
2011-05-23 18:13:09.879013 [DEBUG] sofia_glue.c:3034 AUDIO RTP [sofia/internal/1000 at 192.168.216.18] 192.168.216.18 port 31886 -> 192.168.216.9 port 5062 codec: 8 ms: 20
2011-05-23 18:13:09.879013 [DEBUG] switch_rtp.c:1636 Starting timer [soft] 160 bytes per 20ms
2011-05-23 18:13:09.879013 [DEBUG] sofia_glue.c:3296 Set 2833 dtmf send payload to 101
2011-05-23 18:13:09.879013 [DEBUG] sofia_glue.c:3301 Set 2833 dtmf receive payload to 101
2011-05-23 18:13:09.879013 [DEBUG] mod_sofia.c:681 Local SDP sofia/internal/1000 at 192.168.216.18:
v=0
o=FreeSWITCH 1306160503 1306160504 IN IP4 192.168.216.18
s=FreeSWITCH
c=IN IP4 192.168.216.18
t=0 0
m=audio 31886 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv

2011-05-23 18:13:09.879013 [DEBUG] switch_core_session.c:707 Send signal sofia/internal/1000 at 192.168.216.18 [BREAK]
2011-05-23 18:13:09.879013 [DEBUG] switch_channel.c:2859 (sofia/internal/1000 at 192.168.216.18) Callstate Change RINGING -> ACTIVE
2011-05-23 18:13:09.879013 [NOTICE] mod_spidermonkey.c:2068 Channel [sofia/internal/1000 at 192.168.216.18] has been answered
2011-05-23 18:13:09.879013 [DEBUG] dtmf_test.js:34 sayivrmenu: menu=[mainmenu] validdigits=[0123#]
2011-05-23 18:13:09.879013 [DEBUG] sofia.c:4770 Channel sofia/internal/1000 at 192.168.216.18 entering state [completed][200]
2011-05-23 18:13:09.879013 [DEBUG] switch_ivr_play_say.c:244 Handle speak-text:[Press 0 for the Operator.] (en:en)
2011-05-23 18:13:09.879013 [ERR] switch_core_speech.c:61 Invalid speech module [cepstral]! -->cepstral is never installed. Why did Freeswitch try to use cepstral?
2011-05-23 18:13:09.879013 [ERR] switch_ivr_play_say.c:2361 Invalid TTS module!
2011-05-23 18:13:09.879013 [DEBUG] sofia.c:4770 Channel sofia/internal/1000 at 192.168.216.18 entering state [ready][200]
2011-05-23 18:13:09.939014 [DEBUG] switch_rtp.c:3104 Correct ip/port confirmed.
2011-05-23 18:13:15.979391 [DEBUG] switch_ivr_play_say.c:244 Handle speak-text:[Press 0 for the Operator.] (en:en)
2011-05-23 18:13:15.979391 [ERR] switch_core_speech.c:61 Invalid speech module [cepstral]!
2011-05-23 18:13:15.979391 [ERR] switch_ivr_play_say.c:2361 Invalid TTS module!
2011-05-23 18:13:22.079772 [DEBUG] switch_ivr_play_say.c:244 Handle speak-text:[Press 0 for the Operator.] (en:en)
2011-05-23 18:13:22.079772 [ERR] switch_core_speech.c:61 Invalid speech module [cepstral]!
2011-05-23 18:13:22.079772 [ERR] switch_ivr_play_say.c:2361 Invalid TTS module!

During installatio, I uncommented the following in modules.conf so mod_flite is installed. mod_cepstral remains commented.
asr_tts/mod_unimrcp
asr_tts/mod_flite
asr_tts/mod_pocketsphinx

After installation, I uncommented mod_flite in /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml
    <!-- ASR /TTS -->
    <load module="mod_flite"/>
    <!-- <load module="mod_pocketsphinx"/> -->
    <!-- <load module="mod_cepstral"/> -->
    <!-- <load module="mod_tts_commandline"/> -->
    <!-- <load module="mod_rss"/> -->

Here's my dial-plan
  <extension name="test1">
        <condition field="destination_number" expression="^9911$">
                <action application="set" data="tts_engine=flite"/>
                <action application="set" data="tts_voice=kal"/>
                <action application="javascript" data="dtmf_test.js" />
        </condition>
  </extension>

dtmf_test.js is copied from http://wiki.freeswitch.org/wiki/Examples_ivrmenu_js to /usr/local/freeswitch/scripts folder.
The phrase macro is also copied from that link to /usr/local/freeswitch/conf/lang/en/demo folder.





More information about the FreeSWITCH-users mailing list