Este script usa o reconhecimento de voz da Google, transformando a voz em formato de texto que posteriomente é utilizado como uma variavel de dialplan no asterisk.
Requisitos:
Perl The Perl Programming Language perl-libwww The World-Wide Web library for Perl IO-Socket-SSL Perl module that implements an interface to SSL sockets. flac Free Lossless Audio Codec Acesso à internet.
Instalar:
cd /var/lib/asterisk/agi-bin/
wget https://github.com/zaf/asterisk-speech-recog/archive/master.zip
unzip master
Copiar os ficheiros contidos no directório asterisk-speech-recog-master e seus sub-directórios para /var/lib/asterisk/agi-bin/
Exemplos Asterisk dialplan:
;;Simple speech recognition exten => 1234,1,Answer() exten => 1234,n,agi(speech-recog.agi,en-US) exten => 1234,n,Verbose(1,The text you just said is: ${utterance}) exten => 1234,n,Verbose(1,The probability to be right is: ${confidence}) exten => 1234,n,Hangup()
;;Speech recognition demo: exten => 1235,1,Answer() exten => 1235,n,agi(googletts.agi,"Say something in English, when done press the pound key.",en) exten => 1235,n(record),agi(speech-recog.agi,en-US) exten => 1235,n,Verbose(1,Script returned: ${status} , ${id} , ${confidence} , ${utterance}) ;Check return status: exten => 1235,n,GotoIf($["${status}" = "0"]?success:fail) ;Check the probability of a successful recognition: exten => 1235,n(success),GotoIf($["${confidence}" > "0.8"]?playback:retry) ;Playback the text: exten => 1235,n(playback),agi(googletts.agi,"The text you just said was...",en) exten => 1235,n,agi(googletts.agi,"${utterance}",en) exten => 1235,n,goto(end) ;Retry in case speech recognition wasn't successful: exten => 1235,n(retry),agi(googletts.agi,"Can you please repeat more clearly?",en) exten => 1235,n,goto(record) exten => 1235,n(fail),agi(googletts.agi,"Failed to get speech data.",en) exten => 1235,n(end),Hangup()
;;Voice dialing example exten => 1236,1,Answer() exten => 1236,n,agi(googletts.agi,"Please say the number you want to dial.",en) exten => 1236,n(record),agi(speech-recog.agi,en-US) exten => 1236,n,GotoIf($[$["${status}" = "0"] & $["${confidence}" > "0.8"]]?success:retry) exten => 1236,n(success),goto(${utterance},1) exten => 1236,n(retry),agi(googletts.agi,"Can you please repeat?",en) exten => 1236,n,goto(record)
Sem comentários:
Enviar um comentário