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)))