Gianni M.
Ultimi post di Gianni M. (vedi tutti)
- Miglior Software di Backup Gratuito: EaseUS Todo Backup Free 11.5 - 11 Giugno 2019
- Collegare iPhone e iPad alla Tv per Trasmettere Video via Wifi senza Jailbreak - 23 Maggio 2019
- Come Sbloccare i Video Bloccati di Youtube - 23 Maggio 2019
In questa guida vi spiegherò come usare il riconoscimento vocale di Google come “metodo di immissione” come si fa con Android cliccando sul classico simbolo del microfono
.
Il riconoscimento vocale in italiano in linux è materia un po’ ostica, ma la grande G ci da una mano con le Google Voice Api.
Grazie a Zenity tutto avviene in modo grafico, nonostante tutto sia realizzato attraverso un semplicissimo script bash.
Per quanto io ami l’utilizzo del terminale, creeremo un lanciatore nel nostro pannello di gnome, in modo da avere questa piccola utility sempre a disposizione.
Il funzionamento è abbastanza semplice, ma differisce un po’ dalla funzionalità che trovate sul vostro telefono Android o su Google Chrome: Si imposta un tempo di registrazione, poi si parla e dopo l’elaborazione, se il risultato è soddisfacente, si copia il testo ottenuto negli appunti oppure no…
Questo script si basa sul materiale che ho trovato in questa pagina, con l’integrazione di Zenity.
Prerequisiti
- SoX http://sox.sourceforge.net per convertire i file Wav in Flac
- WGET http://www.gnu.org/s/wget/ per inoltrare il file Flac alle Api di Google Voice
- SED http://sed.sourceforge.net/ per estrarre il testo riconosciuto dalle stringhe di testo di ritorno dalle Google Voice API
- XCLIP http://sourceforge.net/projects/xclip/ per copiare il testo nella clipboard del server X
per gli utenti Ubuntu basterà aprire un terminale con CTRL+ALT+T, quindi digitare o incollare:
sudo apt-get update
sudo apt-get install sox sed wget zenity xclip
Script Bash
Creiamo il file di testo googlevoicezen.sh nella vostra home con il comando
gedit ~/googlevoicezen.sh
quindi copiate il testo seguente, incollatelo in gedit, salvate e chiudete l’applicazione
#!/bin/sh
sec=$(zenity --entry --title="Google Speech Recognition for Linux" --text="Quanti secondi vuoi parlare? Prego inserire un numero ." --entry-text "10")
if [[ $sec -gt 0 ]]
then
(for i in `seq 0 $sec`; do
sleep 1
: $((x = sec - $i ))
echo "#attesa di $x sec."
echo "$x"
done) | zenity --progress --title="Parla adesso..." --auto-close & rec -r 16000 -b 16 -c 1 message.wav trim 0 $sec;
sox message.wav message.flac rate 16k gain -n -5 silence 1 5 2% ;
wget -q -U "Mozilla/5.0" --post-file message.flac --header="Content-Type: audio/x-flac; rate=16000" -O - "http://www.google.com/speech-api/v1/recognize?lang=it-IT&client=chromium" >message.ret
zenity --title="Google Speech Recognition for Linux" --text=" Invio richiesta in corso... " --info --timeout 3
echo "4 SED Extract recognized text"
cat message.ret | sed 's/.*utterance":"//' | sed 's/","confidence.*//' > message.txt
echo "5 Remove Temporary Files"
rm message.flac
rm message.ret
echo "6 Show Text "
mex=$(cat message.txt)
zenity --title="Copiare il testo negli appunti?" --text="$mex" --question
if [[ "$?" -eq "0" ]]
then
xclip message.txt;fi
else
zenity –title=”Errore” –text=”Valore errato.” –info;
fi
Bene, ora aggiungiamo i permessi di esecuzione al file:
chmod + ~/googlevoicezen.sh
Ora dobbiamo creare il lanciatore:
- Apriamo la tua directory home con Nautilus
- Trascina l’icona del file sul pannello superiore (o in qualsiasi altro pannello che preferisci)
- Clicca con il tasto destro sull’icona del lanciatore così creato, quindi seleziona proprietà: alla voce “Comando” trovi il path dello script, devi aggiungere all’inizio di tale stringa il comando “bash” (senza le virgolette ovviamente), seguito da uno spazio.
- Clicca sull’icona e impostane una di tuo gradimento. Se ti piace puoi usare questa immagine
.
Utilizzo
Cliccare sull’icona del lanciatore
Impostate il tempo di cui avete bisogno (meglio abbondare, ma senza strafare)
Parliamo scandendo bene le parole… ma non troppo;)
Attendiamo l’elaborazione
Se il risultato è soddisfacente copiamo il testo nella clipboard cliccando su “Si”
Incolliamo il testo dove vogliamo!;) NB: Per incollare il testo non potete utilizzare il classico CTRL+V o il tasto destro del mouse, ma il tasto centrale, premendo la rotellina del mouse. Questo succede perché c’è una clipboard primaria, come nel nostro caso, ed una secondaria, che siamo soliti utilizzare con il tasto destro. Se non avete lo scroll, ma utilizzate un mouse a due bottoni, una trackball o un touchpad basta cliccare entrambi i tasti contemporaneamente.
Puoi scaricare lo script già fatto e l’icona da qui. Lo script è sotto licenza GPL.
Le tue impressioni, precisazioni o miglioramenti sono bene accetti.







