Page 1 of 1

Riconoscimento vocale ?

PostPosted: 12 Aug 2011, 13:39
by Sonic
Ciao a tutti, Sono veramente incuriosito dal modo in cui il robot aries riconosce i comandi che le persone pronunciano e da come parla.
In giro sulla rete ho visto qualcosa a proposito di riconoscimento e sintesi vocale ma mai avevo visto qualcosa di così
sorprendente e soprattutto in italiano.

Avrei alcune domande da porre:

1) Che tipo di software o hardware è stato usato ?
2) La voce del robot è registrata o cosa ?
3) Quante parole conosce il robot ?
4) Quante frasi può dire il robot ?
5) E' possibile implementare il software su robot più piccoli
tipo quelli che si costruiscono per la Robocup ?

Mi piacerebbe sapere qualcosa a proposito e grazie in anticipo.

Re: Riconoscimento vocale ?

PostPosted: 17 Aug 2011, 09:09
by tubincolo
Sonic wrote:Ciao a tutti, Sono veramente incuriosito dal modo in cui il robot aries riconosce i comandi che le persone pronunciano e da come parla.
In giro sulla rete ho visto qualcosa a proposito di riconoscimento e sintesi vocale ma mai avevo visto qualcosa di così
sorprendente e soprattutto in italiano.

Avrei alcune domande da porre:

1) Che tipo di software o hardware è stato usato ?
2) La voce del robot è registrata o cosa ?
3) Quante parole conosce il robot ?
4) Quante frasi può dire il robot ?
5) E' possibile implementare il software su robot più piccoli
tipo quelli che si costruiscono per la Robocup ?

Mi piacerebbe sapere qualcosa a proposito e grazie in anticipo.


Caro Sonic, intanto ti do il benvenuto al forum, e sono lieto di darti qualche delucidazione a proposito del sistema di sintesi e riconoscimento adottato sul robot ARIES.
Per un buon sistema di sintesi e di riconoscimento vocale è necessario innanzitutto un pc abbastanza potente con molte risorse in termini di memoria ram e velocità di della CPU specie se devono girare contemporaneamente applicazioni varie tipo : sintesi e riconoscimento vocale + visione artificiale + analisi di mappe e pianificazione del moto del robot, come nel caso di ARIES.
Il software implementato sul robot ARIES è stato sviluppato in C++ , sono state generate e compilate librerie DLL per poter essere utilizzate anche in altre applicazioni e con linguaggi vari, tipo VisualBasic, C#, C, C++.
La voce del robot, anche se di ottima qualità e con un alto grado di intellegibilità, non è campionata o registrata ma è sintetizzata in tempo reale per mezzo di un software appositamente sviluppato a cui abbiamo dato un nome: "Advanced Algorithm for Text To Speech Synthesis" = A2T2S2 = ATS quadro.
Il robot può pronunciare qualsiasi parola della lingua italiana e non solo poichè il software esegue una conversione in tempo reale del testo in sintesi-audio.
Chiaramente per farlo parlare in altre lingue è necessario precaricare le librerie specifiche per la lingua selezionata.
Per quanto riguarda il riconoscimento vocale, esso è basato essenzialmente su due diversi tipi di Features: LPC (Linear Predictor Coding) e Cepstra Coefficients legati a due
sistemi di classificazione : Dynamic Programming e Hidden Markov Models (HMM).
Ti dico comunque, anche se molto difficile, è possibile utilizzare questa tecnica su robot più piccoli dotati di sistemi embedded basati su microcontrollori ARM7 su cui deve girare un kernel di sistema operativo.

Due introduzioni di base sulla Sintesi e sul Riconoscimento vocale sono consultabili al seguente indirizzo:
NB. Per la consultazione è consigliabile l'uso di Internet Explorer.

http://www.delucagiovanni.com/files/Sintesi%20Vocale_file/frame.htm
http://www.delucagiovanni.com/files/Speech%20Recognition_file/frame.htm

Re: Riconoscimento vocale ?

PostPosted: 21 Feb 2012, 09:06
by ilmiocantolibero
Con Arduino è possibile utilizzare una shield denominata Easy VR Arduino. E' in vendita presso il distributore Europeo TIGAL e consente di preregistrare frasi predefinite in formato wav, per un massimo di circa 8 minuti di parlato. Dispone infatti di una sua memoria flash. Inoltre si possono registrare fino a un massimo di un centinaio di brevi comandi vocali, che però sono dipendenti dalla persona che ha registrato la voce. Neanche paragonabile al sistema di ARIES, è un semplice Entry LEVEL che però consente di azionare anche piccoli servi o altri motori ad esempio per dare consensi di aperture ,oppure per fare eseguire vari tipi di azione ai robot. Sfruttando inoltre la funzione Lypsinc, e progettando un adatto sistema meccanico con servi e pulegge ben proporzionate, si può simulare il movimento della bocca di un Robot Umanoide a grandezza naturale in sincrono col parlato. Occorre inoltre creare un apposito listato per Arduino,che gestisca il tutto ,riconoscendo la Shield.

Re: Riconoscimento vocale ?

PostPosted: 21 Feb 2012, 09:45
by samuele
Ciao a tutti,
l'argomento interessa pure me...........

Voglio fare una schedina di controllo per accendere e spegnere le luci di casa con il riconoscimento vocale.
Ho usato anche io Easy VR ma è una delusione, mi è costato circa 40 euro, ma loro della Inware dicono solo cavolate.
A stento ogni tanto riconosce qualche parola ma poi riconosce solo me, e questo è il problema.

Io cerco qualcosa di evoluto, e secondo me in assoluto, il miglior sistema di riconoscimento vocale è quello che
ho visto in funzione sul robot e sulla entità virtuale del tizio che ha fondato questo forum, è veramente impressionante!!!
Non so se in commercio cè qualcosa di così evoluto, a me pare di no, ma allora come cavolo ha fatto ? bohhhhhh !!!!!

Spero che un giorno lo spieghi per benino e lo renda pubblico.
Ciao ra

Re: Riconoscimento vocale ?

PostPosted: 21 Feb 2012, 11:11
by flz47655
Penso che la strada più rapida si installare un sistema operativo e un sintetizzatore vocale software creato da professionisti del settore con anni di studi e ricerche alle spalle. Non credo esista un sintetizzatore/riconoscitore gratuito in italiano di buona qualità, per l'inglese c'è la voce di Anna o di Sam inclusa nei sistemi Windows ma è un pochino robotica, anche se con Windows Vista/7 la situazione è migliorata, anche per quanto riguarda il riconoscimento, ma siamo lontani dalla qualità delle soluzioni di aziende specializzate nel settore.

Il robot deve avere un proprio e vero "computer" a bordo, un microcontrollore tipo Arduino è naturalmente escluso da un compito così impegnativo. La shield Easy VR alla fine è N volte più potente del chip di Arduino ma non abbastanza per qualcosa di qualità, soprattutto nel riconoscimento vocale.