//Installare un sintetizzatore vocale su un sistema Linux

Installare un sintetizzatore vocale su un sistema Linux

0 votes
Share on FacebookShare on Google+Tweet about this on TwitterEmail this to someonePrint this page

This post has already been read 3720 times!

Qualche settimana fa mi sono divertito a giocare con i sintetizzatori vocali, ne ho provati diversi, pero nella maggior parte dei casi la qualità era sinceramente scadente, soprattutto le voci suonavano realmente robotiche.

Uno dei migliori che ho trovato è senza ombra di dubbio “MARY Text-to-Speech System” (MaryTTS) che oltretutto dispone di un demo online.

In questo articolo parlerò della installazione locale di questo sintetizzatore opensource.

Dando per scontato che abbiate Java installato e configurato sulla vostra macchina per installarlo basta :

wget https://github.com/marytts/marytts/releases/download/v5.1/marytts-5.1.zip
sudo unzip marytts-5.1.zip -d /opt

Una volta installato dobbiamo avviare il server

/opt/marytts-5.1/bin/marytts-server.sh

A questo punto basterà aprire un browser e dirigerci alla url http://localhost:59125,  troveremo una Gui che ci permetterà fare qualche test.

Nel caso siate interessati a installare il pacchetto per altre lingue, tra cui l’italiano basterà eseguire l’assistente per l’installazione dei componenti :

/opt/marytts-5.1/bin/marytts-component-installer.sh

Una volta che l’installer è avviato con un click su “Update” possiamo fare il fetch delle ultime voci disponibili, selezionare la lingua e le voci corrispondenti, infine click su “install selected” per installarle.

Al momento sfortunatamente è disponibile solo una voce per l’italiano.

Giocherellando mi sono fatto anche un piccolo script da linea di comando per far parlare il pc con questo sintetizzatore vocale :

matteo@Duff:~$ cat say.sh
#!/bin/bash




text=$(urlencode "$1")
echo "texto:"$text

curl "http://localhost:59125/process?INPUT_TYPE=TEXT&OUTPUT_TYPE=AUDIO&INPUT_TEXT="$text"&OUTPUT_TEXT=&effect_Volume_selected=&effect_Volume_parameters=amount%3A2.0%3B&effect_Volume_default=Default&effect_Volume_help=Help&effect_TractScaler_selected=&effect_TractScaler_parameters=amount%3A1.5%3B&effect_TractScaler_default=Default&effect_TractScaler_help=Help&effect_F0Scale_selected=&effect_F0Scale_parameters=f0Scale%3A2.0%3B&effect_F0Scale_default=Default&effect_F0Scale_help=Help&effect_F0Add_selected=on&effect_F0Add_parameters=f0Add%3A50.0%3B&effect_F0Add_default=Default&effect_F0Add_help=Help&effect_Rate_selected=on&effect_Rate_parameters=durScale%3A1.5%3B&effect_Rate_default=Default&effect_Rate_help=Help&effect_Robot_selected=&effect_Robot_parameters=amount%3A100.0%3B&effect_Robot_default=Default&effect_Robot_help=Help&effect_Whisper_selected=&effect_Whisper_parameters=amount%3A100.0%3B&effect_Whisper_default=Default&effect_Whisper_help=Help&effect_Stadium_selected=&effect_Stadium_parameters=amount%3A100.0&effect_Stadium_default=Default&effect_Stadium_help=Help&effect_Chorus_selected=&effect_Chorus_parameters=delay1%3A466%3Bamp1%3A0.54%3Bdelay2%3A600%3Bamp2%3A-0.10%3Bdelay3%3A250%3Bamp3%3A0.30&effect_Chorus_default=Default&effect_Chorus_help=Help&effect_FIRFilter_selected=&effect_FIRFilter_parameters=type%3A3%3Bfc1%3A500.0%3Bfc2%3A2000.0&effect_FIRFilter_default=Default&effect_FIRFilter_help=Help&effect_JetPilot_selected=&effect_JetPilot_parameters=&effect_JetPilot_default=Default&effect_JetPilot_help=Help&HELP_TEXT=&exampleTexts=&VOICE_SELECTIONS=istc-lucia-hsmm%20it%20female%20hmm&AUDIO_OUT=WAVE_FILE&LOCALE=it&VOICE=istc-lucia-hsmm&AUDIO=WAVE_FILE" -H 'Accept-Encoding: identity;q=1, *;q=0' -H 'Accept-Language: en-US,en;q=0.8' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36' -H 'Accept: */*' -H 'Referer: http://localhost:59125/' -H 'Connection: keep-alive' -H 'Range: bytes=0-' --compressed  > test.wav ; aplay test.wav
matteo@Duff:~$

Realmente non fa altro che passare il testo del primo argomento da linea di comando e riprodurlo.

matteo@Duff:~$ ./say.sh "ciao, come va ? . io sono Mary "
texto:ciao%2C%20come%20va%20%3F%20.%20io%20sono%20Mary%20
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  107k  100  107k    0     0   845k      0 --:--:-- --:--:-- --:--:--  849k
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono
matteo@Duff:~$ 

Un esempio di come funziona lo potete trovare qui sotto.

 

Ho trovato anche altri sintetizzatori vocali molto interessanti, nei prossimi giorni farò una recensione anche su quelli.

 

marylogo