Installa e configura Festival per l'utilizzo del PBX Asterisk
Esamineremo il processo di installazione e configurazione dell'utilità di sintesi vocale di Festival sviluppata dall'Università di Edimburgo, comunità del Regno Unito.
La conversione da testo a voce è fondamentale quando si lavora con Asterisk Pbx o qualsiasi server multimediale utilizzato per instradare le chiamate. Le utilità di sintesi vocale vengono utilizzate per convertire stringhe di parole in audio che può essere riprodotto ai chiamanti utilizzando il sistema. La sintesi vocale non sostituisce i suggerimenti registrati professionalmente.
Asterisco Guide all'installazione:
Installa Asterisk PBX su CentOS 7
Installa Asterisk PBX su CentOS 8
Installa Asterisk su Ubuntu/Debian
Festival è un'utilità di sintesi vocale gratuita che funziona su tutti i sistemi Linux. Non è consigliato per l'uso in produzione perché la sua qualità del suono non è sufficientemente chiara, ma viene utilizzato molto spesso per scopi di sviluppo e test. Per uso produttivo, puoi dare un'occhiata a Cepstral.
Installa Festival su CentOS e RHEL
sudo yum install epel-release
sudo yum install festival
Installa Festival su Ubuntu
sudo apt update
sudo apt-get install festival
Vedi l'output della schermata di installazione:
Configurazione di Festival per l'utilizzo con Asterisk
Dopo aver installato Festival, vorremmo configurarlo per consentirne l'utilizzo con Asterisk PBX. Per fare ciò, dobbiamo solo modificare il file festival.scm situato nella directory /usr/share/festival/. Apri il file con qualsiasi editor di testo che hai. Utilizzerò vim:
$ sudo vim /usr/share/festival/lib/festival.scm
Aggiungi il seguente testo appena sopra l'ultima riga; (fornire "festival):
(define (tts_textasterisk string mode)
(let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
(utt.wave.resample wholeutt 8000)
(utt.wave.rescale wholeutt 5)
(utt.send.wave.client wholeutt)))
Uscita sullo schermo:
Salva le modifiche e riavvia il server del Festival
sudo festival_server 2>&1 > /dev/null &
Vai alla directory dei sorgenti di Asterisk e verifica che l'applicazione app_festival sia selezionata sotto l'intestazione Applicazioni. In caso contrario, utilizza il comando make menuselect per installare l'applicazione diaplan Festival(). Se avessi utilizzato il mio tutorial su:
$ sudo make menuselect
Assicurati che sia selezionato. Vedi la schermata qui sotto
Quindi esegui:
sudo make install
Asterisk deve essere configurato per connettersi al server Festival sul file festival.conf . C'è un file di configurazione di esempio situato nella directory sorgente di Asterisk. Lo copieremo nella directory /etc/asterisk/ e poi lo modificheremo.
sudo cp configs/samples/festival.conf.sample /etc/asterisk/festival.conf
La configurazione predefinita è sufficiente per connettersi al server Festival a condizione che entrambi siano in esecuzione su un computer locale. Se il servizio Festival è in esecuzione su un dispositivo remoto, modificheremo il parametro host. Tutti gli altri parametri di configurazione verranno lasciati ai valori predefiniti.
sudo vim /etc/asterisk/festival.conf
Cambia dove necessario.
Per verificare che l'applicazione dialplan Festival() sia in esecuzione, digitare il seguente comando sull'interfaccia della riga di comando di Asterisk.
core show application festival
Se non ottieni alcun output, carica prima il modulo app_festival.so:
module load app_festival.so
module show app_festival.so
Puoi verificare la disponibilità dei file in /usr/lib/asterisk/modules. Se hai usato il mio tutorial per installare Asterisk, potresti aver realizzato che ho compilato asterisco con libdir che era –libdir=/usr/lib64. In questo caso, il modulo sarà acceso
ls -lh /usr/lib64/asterisk/modules/app_festival.so
altro :
ls -lh /usr/lib/asterisk/modules/app_festival.so
Da qui. puoi creare un dialplan semplice come quello qui sotto per i test:
exten => 110,1,Verbose(2,Performing Festival test)
same => n,Answer()
same => n,System(echo "We are now doing Festival Test after successful installation" | /usr/bin/text2wave -scale 1.5 -F 8000 -o /tmp/test.wav)
same => n,Playback(/tmp/test)
same => n,System(rm -f /tmp/test.wav)
same => n,Hangup()
Se componi il numero dell'interno 110, dovrebbe registrare automaticamente il file audio test.wav dalla stringa "Stiamo eseguendo Festival Test dopo l'installazione riuscita" e riprodurlo. Ci auguriamo che questo tutorial ti abbia aiutato con il tuo progetto PBX.
Puoi anche consultare i seguenti tutorial correlati: