Asterisk v1.0 is running on RH 9. I installed festival RPM (festival-1.4.2-16.i386.rpm) and edited the festival.scm file to add: (define (tts_textasterisk string mode) "(tts_textasterisk STRING MODE) Apply tts to STRING. This function is specifically designed for use in server mode so a single function call may synthesize the string. This function name may be added to the server safe functions." (let wholeutt (utt.synth (eval (list 'Utterance 'Text string))) (utt.wave.resample wholeutt 8000) (utt.wave.rescale wholeutt 5) (utt.send.wave.client wholeutt))) I am getting the following error in the CLI: -- Executing Answer("SIP/phone1-e5f4", "") in new stack -- Executing Festival("SIP/phone1-e5f4", "Please record your message") in new stack == Parsing '/etc/asterisk/festival.conf': Found Jan 10 13:34:23 WARNING[4509]: app_festival.c:444 festival_exec: Festival returned ER Here is what is in the festival_server.log: "Load server start ./festival_server.scm" festival port=1314 wrapper Mon Jan 10 13:33:57 EST 2005 : USING DEFAULT CONFIGURATION wrapper Mon Jan 10 13:33:57 EST 2005 : waiting server Mon Jan 10 13:33:57 2005 : Festival server started on port 1314 client(1) Mon Jan 10 13:34:23 2005 : accepted from localhost client(1) Mon Jan 10 13:34:23 2005 : disconnected extensions.conf ; Record Message exten => _*500,1,Answer exten => _*500,2,Festival('Please record your message') exten => _*500,3,Record(mymessage:gsm) exten => _*500,4,Festival('You said') exten => _*500,5,Playback(mymessage) festival.conf [general] host=asterisk port=1314 usecache=yes cachedir=/var/lib/asterisk/festivalcache/ festivalcommand=(tts_textasterisk "%s" 'file)(quit)\n Any ideas?
I changed all the text to lower case and removed the quotes. After doing so, I got the following error: SIOD ERROR: wrong type of argument to car : wholeutt Strange thing is sometimes I get the error and sometimes I don't On Mon, 10 Jan 2005 13:54:25 -0500, Brian Dingman <bdingman@gmail.com> wrote:> Asterisk v1.0 is running on RH 9. I installed festival RPM > (festival-1.4.2-16.i386.rpm) and edited the festival.scm file to add: > (define (tts_textasterisk string mode) > "(tts_textasterisk STRING MODE) > Apply tts to STRING. This function is specifically designed for > use in server mode so a single function call may synthesize the string. > This function name may be added to the server safe functions." > (let wholeutt (utt.synth (eval (list 'Utterance 'Text string))) > (utt.wave.resample wholeutt 8000) > (utt.wave.rescale wholeutt 5) > (utt.send.wave.client wholeutt))) > > I am getting the following error in the CLI: > -- Executing Answer("SIP/phone1-e5f4", "") in new stack > -- Executing Festival("SIP/phone1-e5f4", "Please record your message") > in new stack > == Parsing '/etc/asterisk/festival.conf': Found > Jan 10 13:34:23 WARNING[4509]: app_festival.c:444 festival_exec: > Festival returned ER > > Here is what is in the festival_server.log: > "Load server start ./festival_server.scm" > festival port=1314 > wrapper Mon Jan 10 13:33:57 EST 2005 : USING DEFAULT CONFIGURATION > wrapper Mon Jan 10 13:33:57 EST 2005 : waiting > server Mon Jan 10 13:33:57 2005 : Festival server started on port 1314 > client(1) Mon Jan 10 13:34:23 2005 : accepted from localhost > client(1) Mon Jan 10 13:34:23 2005 : disconnected > > extensions.conf > ; Record Message > exten => _*500,1,Answer > exten => _*500,2,Festival('Please record your message') > exten => _*500,3,Record(mymessage:gsm) > exten => _*500,4,Festival('You said') > exten => _*500,5,Playback(mymessage) > > festival.conf > [general] > host=asterisk > port=1314 > usecache=yes > cachedir=/var/lib/asterisk/festivalcache/ > festivalcommand=(tts_textasterisk "%s" 'file)(quit)\n > > Any ideas? >
SIOD ERROR: wrong type of argument to car : wholeutt Try changing your festival.scm to the following: (Note the extra () on the 4th last line). (define (tts_textasterisk string mode) "(tts_textasterisk STRING MODE) Apply tts to STRING. This function is specifically designed for use in server mode so a single function call may synthesize the string. This function name may be added to the server safe functions." (let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string))))) (utt.wave.resample wholeutt 8000) (utt.wave.rescale wholeutt 5) (utt.send.wave.client wholeutt)))