Hello all. I am pretty new to Freeswitch and have an experimental container
on Proxmox 6.3 Debian 10 to play with. The goal is to get mod_unimrcp
working. To that end, I have mod_tts_commandline (installed from binary
with FusionPBX as part of the default install) listed in modules.conf.xml
/etc/freeswitch/autoload_configs/modules.conf.xml
<!-- Speech Recognition / Text to Speech -->
<load module="mod_unimrcp"/>
<load module="mod_tts_commandline"/>
<load module="mod_flite"/>
I have tried it with and without mod_flite enabled.
Mod_tts_commandline refuses to pull a sound file and the debug log seems to
blame mod_sndfile. This is using the example from the mod_tts_commandline
page
<https://freeswitch.org/confluence/display/FREESWITCH/mod_tts_commandline#mod_tts_commandline-Configuringmod_tts_commandline>
as dialplan shows following the debug log output below:
2021-02-26 15:19:24.713040 [NOTICE] mod_dptools.c:1406 Channel
[sofia/internal/102@66.151.243.45] has been answered
2021-02-26 15:19:24.713040 [DEBUG] switch_channel.c:3865 (sofia/internal/
102@66.151.243.45) Callstate Change RINGING -> ACTIVE
2021-02-26 15:19:24.713040 [DEBUG] sofia.c:7326 Channel sofia/internal/
102@66.151.243.45 entering state [completed][200]
EXECUTE [depth=0] sofia/internal/102@66.151.243.45
speak(tts_commandline|pico|This is an example of using tts_commandline)
2021-02-26 15:19:24.713040 [DEBUG] switch_ivr_play_say.c:3023 OPEN TTS
tts_commandline
2021-02-26 15:19:24.713040 [DEBUG] switch_ivr_play_say.c:3033 Raw Codec
Activated
2021-02-26 15:19:24.713040 [DEBUG] mod_tts_commandline.c:160 Executing:
echo 'This is an example of using tts_commandline' | text2wave -f 8000 >
'/tmp/0665a30d-2bb8-40fe-b5a6-9625bd58306e.tmp.wav'
2021-02-26 15:19:25.433013 [WARNING] mod_sndfile.c:281 Error Opening File
[/tmp/0665a30d-2bb8-40fe-b5a6-9625bd58306e.tmp.wav] [File contains data in
an unknown format.]
2021-02-26 15:19:25.433013 [ERR] mod_tts_commandline.c:170 Failed to open
file: /tmp/0665a30d-2bb8-40fe-b5a6-9625bd58306e.tmp.wav
Since your goal is to use mod_unimrcp I think you should not spend your time with mod_tts_commandline.
Anyway, what do you get when you run these in the bash shell:
which text2wave
echo 'This is an example of using tts_commandline' | text2wave -f 8000 > test.wav
file test.wav
ls -l test.wav
Did you install festival? (text2wave comes with it)