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@192.168.216.18 parsing [default->test1] continue=false Dialplan: sofia/internal/1000@192.168.216.18 Regex (PASS) [test1] destination_number(9911) =~ /^9911$/ break=on-false Dialplan: sofia/internal/1000@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@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@192.168.216.18 [BREAK] 2011-05-23 18:13:09.859007 [DEBUG] switch_core_state_machine.c:364 (sofia/internal/1000@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@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@192.168.216.18) State EXECUTE 2011-05-23 18:13:09.859007 [DEBUG] mod_sofia.c:240 sofia/internal/1000@192.168.216.18 SOFIA EXECUTE 2011-05-23 18:13:09.859007 [DEBUG] switch_core_state_machine.c:157 sofia/internal/1000@192.168.216.18 Standard EXECUTE EXECUTE sofia/internal/1000@192.168.216.18 set(open=true) 2011-05-23 18:13:09.859007 [DEBUG] mod_dptools.c:1060 sofia/internal/1000@192.168.216.18 SET [open]=[true] EXECUTE sofia/internal/1000@192.168.216.18 hash(insert/192.168.216.18-spymap/1000/399178b8-8592-11e0-ae8d-e9a6940f4ae1) EXECUTE sofia/internal/1000@192.168.216.18 hash(insert/192.168.216.18-last_dial/1000/9911) EXECUTE sofia/internal/1000@192.168.216.18 hash(insert/192.168.216.18-last_dial/global/399178b8-8592-11e0-ae8d-e9a6940f4ae1) EXECUTE sofia/internal/1000@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@192.168.216.18 SET [RFC2822_DATE]=[Mon, 23 May 2011 18:13:09 -0500] EXECUTE sofia/internal/1000@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@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@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@192.168.216.18 [BREAK] 2011-05-23 18:13:09.879013 [DEBUG] switch_channel.c:2859 (sofia/internal/1000@192.168.216.18) Callstate Change RINGING -> ACTIVE 2011-05-23 18:13:09.879013 [NOTICE] mod_spidermonkey.c:2068 Channel [sofia/internal/1000@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@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@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.
Yungwei, I *think* sayPhrase is not supported by flite - only by other TTS engines. Try calling it in this javascript format: session.speak(ttsLib,ttsVoice,text); Jason Moran -----Original Message----- From: Yungwei Chen [mailto:yungwei@resolvity.com] Sent: Monday, May 23, 2011 7:46 PM To: freeswitch-users@lists.freeswitch.org Subject: [Freeswitch-users] Error playing TTS using flite 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@192.168.216.18 parsing [default->test1] continue=false Dialplan: sofia/internal/1000@192.168.216.18 Regex (PASS) [test1] destination_number(9911) =~ /^9911$/ break=on-false Dialplan: sofia/internal/1000@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@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@192.168.216.18 [BREAK] 2011-05-23 18:13:09.859007 [DEBUG] switch_core_state_machine.c:364 (sofia/internal/1000@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@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@192.168.216.18) State EXECUTE 2011-05-23 18:13:09.859007 [DEBUG] mod_sofia.c:240 sofia/internal/1000@192.168.216.18 SOFIA EXECUTE 2011-05-23 18:13:09.859007 [DEBUG] switch_core_state_machine.c:157 sofia/internal/1000@192.168.216.18 Standard EXECUTE EXECUTE sofia/internal/1000@192.168.216.18 set(open=true) 2011-05-23 18:13:09.859007 [DEBUG] mod_dptools.c:1060 sofia/internal/1000@192.168.216.18 SET [open]=[true] EXECUTE sofia/internal/1000@192.168.216.18 hash(insert/192.168.216.18-spymap/1000/399178b8-8592-11e0-ae8d-e9a6940f4 ae1) EXECUTE sofia/internal/1000@192.168.216.18 hash(insert/192.168.216.18-last_dial/1000/9911) EXECUTE sofia/internal/1000@192.168.216.18 hash(insert/192.168.216.18-last_dial/global/399178b8-8592-11e0-ae8d-e9a6 940f4ae1) EXECUTE sofia/internal/1000@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@192.168.216.18 SET [RFC2822_DATE]=[Mon, 23 May 2011 18:13:09 -0500] EXECUTE sofia/internal/1000@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@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@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@192.168.216.18 [BREAK] 2011-05-23 18:13:09.879013 [DEBUG] switch_channel.c:2859 (sofia/internal/1000@192.168.216.18) Callstate Change RINGING -> ACTIVE 2011-05-23 18:13:09.879013 [NOTICE] mod_spidermonkey.c:2068 Channel [sofia/internal/1000@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@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@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.
participants (2)
-
Jason Moran
-
Yungwei Chen