Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 1 del 21/07/2012 12.52.21

Nascondi questo messaggio


Problemi in questa pagina? Segnalali in questa discussione

Introduzione

La tecnologia del riconoscimento vocale ha fatto passi da gigante negli ultimi anni, la dimostrazione è l' avanzato strumento di riconoscimento vocale presente di default su Win 7. I primi motori e modelli acustici risalgono alla prima metà degli anni 80 in ambiente DOS, da allora sono sorti svariati progetti di ricerca portati avanti da diversi centri di ricerca universitaria di tutto il mondo. Lo scopo di questa guida è descrivere passo passo il procedimento da seguire per ottenere un sistema di riconoscimento vocale professionale su sistema UNIX in particolare per Linux Ubuntu 12.04 . Come premessa vorrei citare le diverse possibilità Open Source che sono disponibili per gli utilizzatori di linux.

Premessa

1-Perlbox Voice

Tale software sfrutta il motore di riconoscimento vocale chiamato Sphinx. Tale motore nasce una decina di anni fa circa ed oggi è alla versione 4 (Sphinx 4). Perlbox Voice utilizza Sphinx 2 in particolare, la versione che lavora con modelli acustici semicontinui compilata in C++ e sfrutta le librerie libsphinx2. Utilizza il server audio ormai obsoleto OSS e per farlo funzionare su ubuntu 12.04 si necessita del pacchetto di retrocompatibilità alsa-oss . Il programma è compilato in Perl quindi necessita inoltre delle librerie di riferimento. Utilizza il server festival come speech-synthesizer e sphinx2-continuous come acquisitore di dati.

0. Contro: La funzionalità è abbastanza limitata, non c'è la possibilità di interagire con le librerie acustiche, la sola lingua disponibile è l' inglese e la precisione di acquisizione è pessima, bisgona imparare a pronunciare le parole così come il programma richiede al fine di funzionare. 0. Pro: Ha piena compatibilità con Ubuntu 12.04 a patto di installare le librerie necessarie, alcune delle quali ormai obsolete e una GUI funzionale.

2-Speechlion

Progetto Open Source basato sul motore Sphinx 4. Sphinx4 a differenza dei predecessori è codificato interamente in Java ed è completamente continuo. Richiede Java JDK 6+ per funzionare e freeTTS.

0. Contro: Non ha una GUI, pur basandosi su un ottimo motore, non ne sfrutta le potenzialità, la sola lingua disponibile è l' inglese e a meno che non si sia uno sviluppatore non offre possibilità di configurazione approfondite. Anche in questo caso la precisione di riconoscimento è pessima bisogna avere un ottimo microfono e imparare a pronunciare i comandi così come il programma richiede. Non ha la capacità di dettare,ma riconosce solo semplici comandi preimpostati.

0. Pro: Utilizza moduli e librerie aggiornate, semplice nell' utilizzo.

Altri programmi basati ad esempio sul motore IBM ViaVoice non ho potuto testarli su Ubuntu 12.04 in quanto i pacchetti sono obsoleti e deprecati e di difficile reperimento. La situazione Open Source dei programmi di Speech Recognition purtroppo è pessima, infatti per ottenere programmi avanzati e professionali si necessita di algoritmi complicati e di un equipe organizzata di programmatori. Per ora in fase di early development c'è un interessante programma chiamato SPeech Controller nativo Ubuntu, che si propone di diventare l' equivalente SR di Win7, ma al momento ancora è in fase prenatale... Detto ciò appare evidente che se si vuole uno SR su Linux professionale bisogna rivolgersi al "non free"... Purtroppo anche su questo versante non esistono valide alternative specifiche per Linux, l' unica soluzione rimane quindi affidarsi al re della categoria SR, ossia Dragon Naturally Speaking giunto alla versione 11, nativo per Windows e provare a sfruttarne le potenzialità tramite WINE . DNS11 è il prodotto di circa 20 anni e più di lavoro, le prime versioni del programma risalgono alla seconda metà degli anni '80, giunto a questa versione mostra la sua totale maturità, una capacità di scrittura sotto dettatura fino a 3 volte superiore a quella da tastiera e una precisione del 99% . Il programma si basa su un motore continuo, ossia una sorta di libreria acustica che apprende con il tempo ed in base alle caratteristiche della voce dell' utente e migliora la sua performance grazie all' allenamento e all' utilizzo. Consente di utilizzare moltissime impostazioni e centinaia di comandi con struttura ad albero e possibilità di implementare macros. Utilizzandolo a dovere si può fare a meno anche del mouse e controllare la propria macchina totalmente grazie alla propria voce. I requisiti minimi sono un processore Intel Atom single core @ 1,66 Ghz e 1GB di memoria RAM, ma per sfruttarne a pieno le capacità, è richiesto un dual core e 2 GB di RAM. Ad ogni modo questa guida è basata su una macchina rispondente ai requisiti minimi, un netbook Toshiba NB200 1,66Ghz 1GB RAM. Il primo problema sta nel fatto che utilizzando il programma con WINE, il noto software di implementazione delle API Windows, i comandi impartiti vocalmente rimangono confinati all' ambiente WINE, così potremo dettare in Word tramite Wine o usare Firefox sempre tramite wine, in nessun caso i comandi saranno esportati all' host linux, ma vedremo che potremo ovviare anche a questo problema.

Installazione WINE + Dragon Naturally Speaking 11 Premium + Platypus

Installazione Wine

La versione stabile di Wine in data odierna è la 1.4 , la più recente è la 1.5.9 beta ma questa guida si bas su Wine1.4 che si è dimostrato perfettamente compatibile con il programma senza necessità di modifiche al registro o installazione di librerie aggiuntive. Digitate nel terminale:

sudo apt-get install wine

Installazione Dragon Naturally SPeaking

E' consigliabile installare il programma in un WINEPREFIX differente da $HOME/.wine in modo da evitare di perdere le impostazioni semmai la directory princiaple venisse compromessa, aprite un terminale e digitate:

export WINEPREFIX=$HOME/.dictation

Sempre nella stessa sessione di terminale procedete all'installazione di Dragon Naturally Speaking, navigando fino alla directory di destinazione del file setup.exe. Se i file si trovano su CD prima vanno copiati su HD. Terminata l' installazione potete procedere al lancio del programma ed alla sua configurazione e registrazione

  • che per ora può anche essere effettuato nel desktop attuale. La configurazione richiede diversi minuti in quanto si deve creare il profilo utente e la vostra voce dovra essere riconosciuta.

Se durante i test di prova del microfono doveste ricevere degli errori potrebbe voler dire o che il vostro microfono è di bassa qualità, o che siete in un ambiente troppo rumuroso, oppure che avete il microfono disattivato. Per controllare lo stato della periferica andate nel terminale e digitate

alsamixer -V all

Assicuratevi che la periferica capture sia abilitata e che i livelli del vostro microfono siano a circa metà, è importante che il volume non sia troppo alto altrimenti il captureing risulterà disturbato e riceverete messaggi di errore. Se in alsamixer il vostro microfono non compare significa che avete dei problemi con i driver della vostra scheda audio, e dovete cercare di risolverli prima di poter utilizzare la periferica. Una volta terminata la fase di configurazione dovrebbe essere tutto funzionante, avrete di fronte una sobria toolbar con la varie opzioni, selezionate l' icona sulla sinistra per abilitare il microfono e andate nel menu Strumenti e selezionate Dragon Pad . Ora iniziate a parlare e se tutto è andato a buon fine dovreste vedere le vostre parole scorrere fluentemente nell' editor di testo. Se la velocità risulta rallentata ciò è imputabile al fatto che il programma ancora non riconosce la vostra voce e fa fatica ad elaborare i dati, cosa che viene superata in qualche settimana di utilizzo e di ottimizzazione delle librerie acustiche, oppure potrebbe essere dovuto ad una carenza di memoria RAM. Se utilizzate un sistema come il mio che rientra appena nei requisiti minimi comunque non aspettatevi le velocità citate all' inizio, ad ogni modo la modalità dettatura risulta più che utilizzabile e l' impartimento dei comandi è pressochè perfetto con un ritardo di circa mezzosecondo tra il comando e l' azione.

Fatto ciò bisogna ora passare all' installazione di un programma geniale che ci consentirà di esportare in tempo reale i dati catturati da DNS e passarli in automatico all' host Linux, per questo ci viene in soccorso Platypus.

Installazione Platypus

Il programma è scaricabile qui boldhttp://thenerdshow.com/platypus.html dove ci sono anche le istruzioni di installazione e configurazione, purtroppo però le informazioni sono obsolete e durante la configurazione e la compilazione si incontrano diversi messaggi di errore vediamo come risolverli ed istallare il programma. Scaricare il file platypus.zip dal sito e scompattarlo in una directory operativa precedentemente creata, digitare:

||mkdir $HOME/platypus unzip PERCORSO_DEL_FILE_ZIP/platypus.zip $HOME/platypus||

Ora sempre nel terminale digitate:

sudo apt-get install wine1.4-dev libX11-dev libXtst-dev

Una volta installati i pacchetti necessari alla compilazione andate in $HOME e controllate se la cartella del desktop si chiama Desktop o Scrivania, nel caso si chiamasse scrivania, digitate nel terminale :

mkdir Desktop

E' necessario creare la directory temporaneamente perchè la compilazione cercherà questa cartella. Moversi nella directory $HOME/platypus/platypus e digitate nel terminale:

./configure -l /usr/lib/i386-linux-gnu

questo è necessario poichè il PATH delle librerie necessarie alla configurazione in ubuntu 12.04 è differente da quello di default

Ora date:

make && make install

e il gioco è fatto. Nella cartella $HOME/Desktop ora è presente il lanciatore platypus.desktop . Potete spostarlo su Scrivania ed eliminare la cartella Desktop precedentemente creata con:

rm -r Desktop

(Solo nel caso in cui di default la vostra cartella si chiami Scrivania !)

Configurazione Platypus

Per utilizzare comandi vocali è sufficiente editare il file $HOME/.dictation/drive_c/Program\ Files/Platypus/platypus_commands

scrivendo a sinistra il comando e destra l' azione, ad esempio:

"nuova scheda" "Control_L t"

che farà sì che dicendo nuova scheda in firefox si aprirà una nuova scheda (Ctrl+t)...

Modifica del lanciatore

Il lanciatore va modificato, poichè il nostro obiettivo è far sì che platypus venga lanciato nello stesso desktop di DNS, di default wine invece assegna due desktop virtuali differenti ai due programmi. Per risolvere la questione è sufficiente modificare il lanciatore, digitate nel terminale:

sudo nano $HOME/Scrivania/platypus.desktop

cancellate il contenuto e copiate questo:

||[Desktop Entry] Comment[en_US]= Comment= Encoding=UTF-8 Exec=env WINEPREFIX="/home/cesare/.wine" wine C:\\\\Program\\ Files\\\\Platypus\\\\platypus.exe GenericName[en_US]= GenericName= Icon=/home/cesare/.local/share/icons/platypus.png MimeType= Name[en_US]=Platypus Name=Platypus Path=/home/cesare/.dictation/dosdevices/c:/Program Files/Platypus StartupNotify=true Terminal=false TerminalOptions= Type=Application Version=1.0 X-DBUS-ServiceName= X-DBUS-StartupType= X-KDE-SubstituteUID=false X-KDE-Username=||

salvate e chiudete. Ora per far partire il tutto potrete aprire dapprima il lanciatore NatSpeak.exe e una volta caricato aprire Platypus dal lanciatore appena modificato, oppure realizzare un semplice lanciatore che permette di caricare entrambi contemporaneamente digitando nel terminale:

sudo nano $HOME/Scrivania/DNS+Platypus

e copiando al suo interno:

||[Desktop Entry] Comment[en_US]= Comment= Exec=wine explorer /desktop=natspeak.exe,800x600 $HOME/.dictation/drive_c/Program\\ Files/Nuance/NaturallySpeaking11/Program/natspeak.exe | wine explorer /desktop=natspeak.exe,800x600 $HOME/.dictation/drive_c/Program\\ Files/Platypus/platypus.exe\n GenericName[en_US]=DNS+platypus GenericName=DNS+platypus Icon=/usr/share/icons/Faenza/apps/128/preferences-system-performance.png MimeType= Name[en_US]=DNS+platy Name=DNS+platy Path= StartupNotify=true Terminal=false TerminalOptions= Type=Application X-DBUS-ServiceName= X-DBUS-StartupType= X-KDE-SubstituteUID=false X-KDE-Username=||

(Ovviamente le stringhe relative a KDE possono essere eliminate o sostituite così come il path dell' icona). A questo punto potete testare il tutto lanciando il file appena creato DNS+Platypus e dovrebbe aprirsi un desktop virtuale 800x600 di wine con dentro Naturally Speaking e Platypus... Fatto ciò abilitate il microfono su DNS aprite gedit o kate e iniziate a parlare, se tutto è andato bene dovreste vedere le vostre parole comparire nell' editor di testo.

N.B. La finestra di Platypus generalmente deve stare in primo piano per funzionare.

Buon divertimento !


CategoryNuoviDocumenti