关于 Festival-Asterisk 的错误

Error Regarding Festival-Asterisk

似乎一切正常perfectly.But没有声音audible.Corresponding已附加配置文件和 CLI 输出。 在另一台具有相同配置的机器上,节日服务器中出现新错误 SIOD ERROR。附加文件名是 SIOD 错误。我将我的配置文件附加到 CLI 输出。

节日服务器输出

root@IKVPLIB0056:/home/ingreens# festival --server
server    Mon Mar  9 16:48:57 2015 : Festival server started on port 1314
client(1) Mon Mar  9 16:49:48 2015 : accepted from localhost
client(1) Mon Mar  9 16:49:48 2015 : disconnected

SIP 配置

[general]
transport=udp

[friends_internal](!)
type=friend
host=dynamic
context=from-internal
disallow=all
allow=ulaw

[demo-alice](friends_internal)
secret=1234 ; put a strong, unique password here instead

[demo-bob](friends_internal)
secret=123 ; put a strong, unique password here instead

[demo-sip](friends_internal)
secret=12345 ; put a strong, unique password here instead

SIOD 错误

root@IKVPLIB0056:/home/ingreens# festival --server
server    Mon Mar  9 16:48:57 2015 : Festival server started on port 1314
client(1) Mon Mar  9 16:49:48 2015 : accepted from localhost
SIOD ERROR:unbound variable : string
client(1) Mon Mar  9 16:49:48 2015 : disconnected

Festival.scm

(Parameter.set 'Audio_Required_Format 'aiff)
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "paplay $FILE --client-name=Festival --stream-name=Speech")



;;Server access list(hosts)
;(set! server_access_lists '("[^.]+" "127.0.0.1" "IKVPLIB0056.192.168.0.141" "192.168.0.141"))
;; Enable access to localhost (needed by debian users)
;(set! server_access_list '("IKVPLIB0056\.192.168.0.141" "IKVPLIB0056"))
(set! server_access_list '("localhost\.localdomain" "localhost"))
;; set italian voice (comment the following 2 lines to use british_american)
;(language_italian)
;(set! voice_default 'voice_pc_diphone)

;;; Command for Asterisk begin


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

;;; Command for Asterisk end

Asterisk CLI 输出

 == Using SIP RTP CoS mark 5
    -- Executing [1234@from-internal:1] NoOp("SIP/demo-bob-00000001", "") in new stack
    -- Executing [1234@from-internal:2] Festival("SIP/demo-bob-00000001", "Hello world") in new stack
  == Parsing '/etc/asterisk/festival.conf':   == Found
    -- Executing [1234@from-internal:3] Hangup("SIP/demo-bob-00000001", "") in new stack
  == Spawn extension (from-internal, 1234, 3) exited non-zero on 'SIP/demo-bob-00000001'

Festival.conf

[general]
host=localhost
port=1314
usercache=no
cachedir=/var/cache/asterisk/festival/
festivalcommand=(tts_textasterisk "%s" 'file)(quit)\n

extensions.conf

[from-internal]
exten=>6001,1,Dial(SIP/demo-alice,20)
exten=>6002,1,Dial(SIP/demo-bob,20)
exten=>6003,1,Dial(SIP/demo-sip,20)
exten =>1234,1,NoOp()
exten=>1234,2,Festival(Hello world)
exten =>1234,3,Hangup()

在进行节日通话之前,您需要接听电话。 只需添加

exten =>1234,1,Answer