ANTEPRIMA RICONOSCITORE VOCALE OTTO CANALI · vocale il tema è molto più com-plesso e solo negli...

7
RICONOSCITORE VOCALE OTTO CANALI ANTEPRIMA 58 Elettronica In - giugno ‘99 C hi non ha mai visto un film di fantascienza nel quale computer e sistemi automatizzati rispondono vocalmente e si attivano con lo stesso sistema? Fantascienza, appunto, ma ancora per poco. Mentre per quanto riguarda i sistemi di sin- tesi vocale, ovvero le “macchi- ne che parlano”, già da anni vengono prodotti ed utiliz- zati chip di vario genere che sono in grado di generare frasi con ottima fedeltà in qual- siasi lingua, per ciò che concerne il riconoscimento vocale il tema è molto più com- plesso e solo negli ultimi tempi si sono ottenuti risultati signifi- cativi. Per riconoscere parole o intere frasi è necessario utilizzare dispo- sitivi con una elevata capacità di calcolo in grado di discernere tutte le sfumature della voce umana. La pos- sibilità che una macchina riconosca e comprenda con precisione tutto quanto viene detto da una persona è ancora remota ma grandi passi sono stati fatti in questo senso. Da tempo vengono commercializzati pacchetti software molto complessi che sono in grado di trasfor- mare il parlato in messaggi scritti anche se con una pre- cisione non molto elevata. Ancora più complessi da rea- lizzare sono i sistemi stand-alone ovvero i dispositivi che non utilizzano un PC. In questo caso si fa ricorso a microcontrollori piuttosto sofisticati, specificatamente DSP (Digital Signal Processor) i quali effettuano l’analisi utiliz- zando algoritmi molto complessi che, tra l’altro, necessitano di una memoria esterna di elevata capacità. Da poco sono stati messi a punto nuovi sistemi ancora più sofisticati, più efficienti ma allo tempo più flessibili ed economici. Tra le Case più attive e dina- miche in questo settore dob- biamo segnalare la californiana Sensory (sensoryinc.com) che ha messo a punto una serie di dispositivi basati su una nuova tecnica denominata di Arsenio Spadoni

Transcript of ANTEPRIMA RICONOSCITORE VOCALE OTTO CANALI · vocale il tema è molto più com-plesso e solo negli...

Page 1: ANTEPRIMA RICONOSCITORE VOCALE OTTO CANALI · vocale il tema è molto più com-plesso e solo negli ultimi tempi si sono ottenuti risultati signifi-cativi. Per riconoscere parole o

RICONOSCITOREVOCALE

OTTO CANALI

ANTEPRIMA

58 Elettronica In - giugno ‘99

Chi non ha mai visto un film di fantascienza nelquale computer e sistemi automatizzati rispondono

vocalmente e si attivano con lo stesso sistema?Fantascienza, appunto, ma ancora per poco. Mentre perquanto riguarda i sistemi di sin-tesi vocale, ovvero le “macchi-ne che parlano”, già da annivengono prodotti ed utiliz-zati chip di vario genereche sono in grado digenerare frasi conottima fedeltà in qual-siasi lingua, perciò che concerneil riconoscimentovocale il tema èmolto più com-plesso e solonegli ultimitempi si sonoottenuti risultati signifi-cativi. Per riconoscere parole ointere frasi è necessario utilizzare dispo-sitivi con una elevata capacità di calcolo in grado didiscernere tutte le sfumature della voce umana. La pos-sibilità che una macchina riconosca e comprenda conprecisione tutto quanto viene detto da una persona èancora remota ma grandi passi sono stati fatti in questo

senso. Da tempo vengono commercializzati pacchettisoftware molto complessi che sono in grado di trasfor-mare il parlato in messaggi scritti anche se con una pre-cisione non molto elevata. Ancora più complessi da rea-lizzare sono i sistemi stand-alone ovvero i dispositiviche non utilizzano un PC. In questo caso si fa ricorso

a microcontrollori piuttosto sofisticati,specificatamente DSP

(Digital SignalProcessor) iquali effettuano

l’analisi utiliz-zando algoritmi

molto complessiche, tra l’altro,

necessitano di unamemoria esterna di

elevata capacità. Dapoco sono stati messi a

punto nuovi sistemiancora più sofisticati, più

efficienti ma allo tempopiù flessibili ed economici.

Tra le Case più attive e dina-miche in questo settore dob-

biamo segnalare la californiana Sensory(sensoryinc.com) che ha messo a punto una serie didispositivi basati su una nuova tecnica denominata

di Arsenio Spadoni

Page 2: ANTEPRIMA RICONOSCITORE VOCALE OTTO CANALI · vocale il tema è molto più com-plesso e solo negli ultimi tempi si sono ottenuti risultati signifi-cativi. Per riconoscere parole o

Elettronica In - giugno ‘99 59

“neural network recognition”, simile - per quantoriguarda la logica di riconoscimento e ricerca - a quel-la utilizzata dal cervello umano. Una tecnica che con-sente di ridurre notevolmente l’hardware utilizzatoottenendo nel contempo una precisione di circa il 99%contro il 96% dei più complessi sistemi con DSP.Sfruttando questa tecnica, la Sensory ha messo a puntoe commercia-lizzato dueintegrati spe-cifici per que-sta applica-zione deno-minati RSC-164 e RSC-2 6 4 .Entrambi pos-sono operarein abbina-mento ad unPC oppurepossono fun-zionare inm a n i e r astand-alone. Ognuno di questi dispositivi implementauna CPU ad 8 bit da 4 MIPS (basata sul core Intel8051), un convertitore A/D ed uno D/A con i rispettivifiltri, 64 Kbyte di ROM e 384 byte di RAM, un bus per

pilotare memorie esterne ed una serie di I/O per usigenerali. Il tutto in un contenitore PLCC da 68 pin oQFP da 64 pin. Evidentemente una così elevata con-centrazione di pin rende problematico l’impiego diquesto chip da parte degli hobbysti; per questo motivoabbiamo inizialmente scartato l’ipotesi di realizzare unprogetto basato su questo chip. Fortunatamente da alcu-

ni mesi laSensory com-mercia l izzaun prodottodenominato“Voice DirectModule” checomprende ilchip in que-stione, unbanco dimemoria edaltri compo-nenti chesemplificanonotevolmentel’utilizzo di

questo sistema. Ma la cosa più importante per noiriguarda il connettore utilizzato che è composto da unastrip a passo 2,54 millimetri. Con questo moduloabbiamo messo a punto un circuito in grado di ricono-

La voce come chiave diaccesso! Ecco il progettodi un riconoscitore vocalead otto canali in grado di

percepire anche le piùpiccole sfumature dellavoce. Una nuova tecnicadi riconoscimento che si

ispira a quella del cervello umano e che è in

grado di garantire unaprecisione del 99%. Il

circuito dispone anche diun speech processor che

fornisce tutte le informazioni per l’uso.

Page 3: ANTEPRIMA RICONOSCITORE VOCALE OTTO CANALI · vocale il tema è molto più com-plesso e solo negli ultimi tempi si sono ottenuti risultati signifi-cativi. Per riconoscere parole o

60 Elettronica In - giugno ‘99

scere otto frasi o parole e di attivare, incorrispondenza, altrettanti relè. Si trat-ta evidentemente di un primo approc-cio a questa tecnologia ma cionono-stante il circuito proposto è perfetta-mente funzionante e non “sbaglia un

colpo”. Il dispositivo è in grado diriconoscere fino a 60 parole o frasidella durata massima di 3,2 secondi.Non solo, il circuito è completamenteinterattivo in quanto è in grado di gene-rare quasi 500 parole o frasi che guida-

no l’utente in ogni sua azione siadurante la fase di training che durante ilnormale utilizzo. Queste frasi sono ininglese e sono contenute in una memo-ria ROM presente sul modulo; è ovvia-mente possibile sostituire questa libre-

schema elettrico

Il modulo utilizzato in questoprogetto - prodotto dalla casa

californiana Sensory - fa parte diuna serie di dispositivi denominatiInteractive Speech, appositamente

studiati per il riconoscimentovocale. Il modulo da noi utilizzato

(Voice Direct IC Module)consente di realizzare in maniera

molto semplice un completosistema di riconoscimento vocale.

Per i collegamenti il modulo dispone di tre file di strip a passo

2,54 millimetri.

Page 4: ANTEPRIMA RICONOSCITORE VOCALE OTTO CANALI · vocale il tema è molto più com-plesso e solo negli ultimi tempi si sono ottenuti risultati signifi-cativi. Per riconoscere parole o

Elettronica In - giugno ‘99 61

ria in modo da fare parlare il chip in ita-liano o in altre lingue. Per poter opera-re correttamente, il sistema necessita diuna fase di training durante la qualel’utente deve pronunciare davanti ad unmicrofono le parole o le frasi che ilsistema dovrà successivamente ricono-scere. Durante questa fase, ciascunaparola viene analizzata e trasformata inun dato digitale, un’informazione unicache tiene conto di tutti le possibilivarianti, compresa l’inflessione, latonalità e la velocità con la quale siparla. Il circuito perciò si attiverà soloed esclusivamente con la voce dellapersona che ha effettuato il training. Ildato digitale corrispondente viene sal-vato in una EEPROM seriale esterna.Durante la fase di riconoscimento, ildispositivo effettua la stessa operazionee ricerca tra i dati memorizzati quellouguale o simile; se lo trova attiva l’u-scita corrispondente e avvisa vocal-

mente che la parola è stata riconosciuta(“accepted”), in caso contrario non atti-va alcuna uscita e dice “word not reco-gnized”. Nei casi dubbi invita a ripete-re la parola (“repeat to confirm”) perpoi accettare o meno il comando. Tuttile funzioni fanno capo a tre pulsanti:P3 viene utilizzato durante la fase ditraining, P2 serve a cancellare i datimemorizzati e P1 viene utilizzato comestart durante il normale funzionamento.Premendo quest’ultimo pulsante, ilsistema chiede “say a word” (pronun-cia la parola) e si appresta a riconosce-re il parlato e ad agire di conseguenza.Per evitare, durante il funzionamentonormale, di dover agire manualmentesul controllo di start, abbiamo imple-mentato nel circuito un vox temporiz-zato, controllato dallo stesso microfonoutilizzato dal circuito di riconoscimen-to vocale. In questo modo - per attivareil circuito - è sufficiente avvicinarsi al

dispositivo e pronunciare ad alta voce“Attivati!” o qualsiasi altra parola.Questa azione equivale a premere ilpulsante P1: il sistema chiederà di pro-nunciare una parole e provvederà alriconoscimento. Per evitare che duran-te questa fase il vox si attivi nuovamen-te abbiamo previsto un temporizzatoreche ne inibisce il funzionamento percirca 10 secondi, il tempo sufficiente acompletare la procedura di riconosci-mento. Nella nostra applicazione il cir-cuito associa ad ogni parola o fraseanalizzata un’uscita a relè; abbiamoutilizzato solamente otto uscite (edaltrettanti relè) delle sessanta a disposi-zione. In questo modo la logica di usci-ta risulta particolarmente semplicetanto da poter collegare direttamente aciascuna delle otto linee di uscita unodegli otto stadi di potenza. Completa ilcircuito uno stadio amplificatore di BFin grado di erogare circa 1 watt ed unregolatore di tensione che fornisce 5volt stabilizzati al modulo dellaSensory. E’ giunto ora il momento dianalizzare più dettagliatamente loschema elettrico. Per poter comprende-re in maniera approfondita il funziona-mento del circuito dobbiamo innanzi-tutto dare un’occhiata al “Voice DirectModule” M1 della Sensory. Questodispositivo (completamente realizzatoin SMD) presenta dimensioni moltocompatte ed utilizza per i collegamenticon i componenti esterni tre connettoria strip a passo 2,54 mm denominatiJP1, JP2 e JP3. Ad eccezione del pin 17del JP1 (vedi tabella) tutti i pin dei con-nettori JP1 e JP3 non sono collegati. Ilnostro circuito, dunque, utilizza esclu-sivamente i 19 pin del connettore JP2.La numerazione del modulo M1 ripor-tata nello schema elettrico si riferisceperciò ai pin del connettore JP2. Ilmodulo va alimentato con una tensionecontinua di 5 volt da applicare tra i ter-minali 4 (positivo) e 3 e 5 (negativo). Ipin 6 e 7 ai quali fa capo il PWM inter-no vanno connessi a massa con dueresistenze di valore appropriato. Al pin1 va applicato il segnale microfonicod’ingresso mentre sul pin 8 è disponi-bile il segnale vocale d’uscita. Il busdati di uscita fa capo ai pin 12÷19.Ognuna di queste linee ha un “peso”differente, nel senso che la prima linea(pin 12) vale “1”, la seconda (pin13)vale “2” e così via fino alla ottava (pin

Page 5: ANTEPRIMA RICONOSCITORE VOCALE OTTO CANALI · vocale il tema è molto più com-plesso e solo negli ultimi tempi si sono ottenuti risultati signifi-cativi. Per riconoscere parole o

62 Elettronica In - giugno ‘99

19) che ha un valore di “8”. Se lamemoria del circuito viene utilizzatacompletamente con tutte le 60 frasi dis-ponibili, quando viene riconosciuta, adesempio, la terza parola memorizzata,la terza linea di uscita (pin 14) presen-

ta per un breve istante un livello logicoalto così come accade, ad esempio, conla settima linea (pin 18) quando vienericonosciuta la settima parola memo-rizzata. Se però il circuito riconosce laparola che, ad esempio, occupa l’undi-

cesimo posto in memoria, quale uscitaattiverà in caso di riconoscimento? Larisposta è intuitiva: la linea 8 (pin 19)contemporaneamente alla linea 3 (pin14) in quanto 8 + 3 fa appunto 11. Senon volete vedere i relè impazzire,

piano di montaggio

R19: 2,2 OhmRA: 10 KOhm (8 pz.)RB: 22 KOhm (8 pz.)RC: 1 KOhm (8 pz.)C1: 470 µF 35VL

elettroliticoC2: 470 µF 25L

elettroliticoC3: 10 µF 63VL

elettroliticoC4: 47 µF 25VL

elettroliticoC5: 47 µF 25 VL

elettroliticoC6: 47 µF 25 VL

elettroliticoC7: 1 µF 63 VL

elettroliticoC8: 100 nF multistrato

C9: 100 µF 25 VL elettrolitico

C10: 47 µF 25 VL elettrolitico

C11: 150 pF ceramicoC12: 100 nF multistratoC13: 470 µF 25 VL

elettroliticoC14: 220 µF 25 VL

elettroliticoC15: 220 µF 16 VL

elettroliticoC16: 100 nF multistratoC17: 100 nF multistratoCA: 100 µF 25 VL

elettrolitico (8 pz.)D1: 1N4148 diodoD2: 1N4148 diodoD3: 1N4148 diodo

D4: 1N4007 diodoDA: 1N4007 diodo(8 pz.)T1: BC547B NPNT2: BC547B NPNTA: BC547B

NPN (8 pz.)LDA: Led rosso

5mm (8 pz.)U1: 7805 regolatoreU2: 4093U3: TBA820MM1: Sensory VoiceDirect module.RLA: relè miniatura

da c.s. 12V 1SC (8 pz.)

DS1: dip switch 2 poli

P1: pulsante c.s. NAP2: pulsante c.s. NAP2: pulsante c.s. NAMIC: microfono preamp. 2 terminali

AP: altoparlante 8Ohm 1/2W

Varie:- zoccolo 4+4;- zoccolo 7+7;- morsettiera

2 poli ( 3 pz. );- morsettiera

3 poli ( 8 pz. ); - 50 poli strip

da c.s. ;- stampato

cod. L026.

COMPONENTI

R1: 10 KOhmR2: 1 KOhmR3: 6,8 KOhmR4: 1 KOhmR5: 220 KOhmR6: 1 KOhmR7: 10 KOhmR8: 220 KOhmR9: 10 KOhmR10: 120 OhmR11: 10 KOhmR12: 1,2 KOhmR13: 47 KOhmR14: 47 KOhmR15: 47 KOhm

trimmer min.R16: 150 OhmR17: 56 OhmR18: 1 Ohm

Page 6: ANTEPRIMA RICONOSCITORE VOCALE OTTO CANALI · vocale il tema è molto più com-plesso e solo negli ultimi tempi si sono ottenuti risultati signifi-cativi. Per riconoscere parole o

Elettronica In - giugno ‘99 63

limitatevi dunque alle prime otto posi-zioni di memoria. Ai pin 10 e 11 ed allarelativa rete di pulsanti e dip fannocapo tutte le altre funzioni. La linea 11controlla la sezione di training: pre-mendo il pulsante P3 ha inizio la fasedi apprendimento delle frasi o delleparole. Tutto il processo viene guidatodal sistema di sintesi vocale generatodal chip della Sensory; per interrompe-re la fase di apprendimento è necessa-rio premere brevemente il pulsante P3.Una pressione prolungata (di almenoun secondo) cancella tutti i dati conte-nuti nella memoria EEPROM e il ciclodi training va ripetuto dall’inizio. Il dipDS1b controlla il livello di precisionedel sistema: chiudendo il dip si ottienela massima precisione, lasciandoloaperto la tolleranza aumenta legger-mente. Lo stesso discorso vale perDS1a che però agisce durante la fase diriconoscimento. Chiudendo entrambi idip si ottiene una precisione di circa il99%, almeno così dischiara la Casa. Ineffetti, durante le nostre prove non èmai successo che si attivasse un’uscitasbagliata mentre qualche volta il dispo-sitivo non ha riconosciuto al primo ten-tativo la parola. Per dare inizio al rico-noscimento del parlato è necessariopremere il pulsante P1 e seguire leistruzioni vocali. Tuttavia, per renderecompletamente “hand-free” il funzio-namento normale abbiamo previsto uncircuito di vox che fa capo ai transistorT1 e T2 ed alla rete logica realizzatacon le porte di U2. Il segnale audiocaptato dalla piccola capsula microfo-nica preamplificata viene amplificatodal transistor T1 ed inviato all’ingressodel modulo M1 (piedino 1); allo stessotempo il segnale viene anche raddrizza-to dal diodo D1 e trasformato in unimpulso digitale che, tramite la portaU2a, attiva il monostabile U2c. A suavolta questo stadio controlla il trans-istor T2 posto in parallelo al pulsanteP1. La sensibilità del microfono è volu-tamente tenuta molto bassa per evitareche il circuito si attivi inutilmente eche, durante la fase di riconoscimento,eventuali rumori parassiti si sovrap-pongano alla frase pronunciata dall’u-tente, alterando il processo di ricono-scimento. In pratica per attivare il dis-positivo bisogna parlare a 10÷20 centi-metri dal microfono ed analoga distan-za bisogna mantenere anche durante il

riconoscimento. Il segnale audio gene-rato dal modulo (ricordiamo che ilsistema contiene in memoria quasi 500frasi) è disponibile sul pin 8; questosegnale viene inviato all’integrato U3per l’amplificazione in potenza. Il chiputilizzato in questo stadio è un comuneTBA820M in grado di erogare unapotenza di circa 1 watt su un carico di8 Ohm. Le reti RC collegate ai varipiedini hanno lo scopo di determinareil guadagno ad anello chiuso e di limi-tare la banda passante verso il basso everso l’alto. Il segnale amplificato, pre-sente sul pin 5, pilota l’altoparlante da8 Ohm connesso tra l’uscita e la massa.Il volume d’uscita viene controllatomediante il trimmer R15 il cui cursoreè collegato direttamente al pin d’in-

alto facendo entrare in saturazione iltransistor. Sul collettore di quest’ulti-mo è presente il relè ed un led i quali siattivano per un breve istante. I contattidel relè possono essere utilizzati percontrollare qualsiasi dispositivo elettri-co o elettronico, ad esempio l’elettro-serratura della porta di casa.Immaginatevi quale sorpresa puòdestare un sistema che apre la porta dicasa pronunciando semplicemente“Apri la porta”! Ma la cosa ancora piùsbalorditiva sta nel fatto che chiunquealtro cerchi di aprire con lo stesso siste-ma quella porta si vedrà irrimediabil-mente rispondere dal sistema “wordnot recognized”! Per l’alimentazionedel circuito è necessario utilizzare unatensione continua di 12 volt; la sorgen-

PER IL MATERIALEIl materiale utilizzato in questo progetto è facilmente reperi-bile ovunque. Fa eccezione il modulo della Sensory (“VoiceDirect IC Module”) che costa 195.000 IVA compresa e chepuò essere richiesto alla ditta Futura Elettronica, V.leKennedy 96, 20027 Rescaldina (MI), tel. 0331-576139, fax0331-578200 (www.futuranet.it)

gresso (terminale n. 3) del TBA820M.Le otto linee di uscita (pin12÷19) sonocollegate ad altrettanti stadi di potenzaciascuno dei quali pilota un relè ed unled. Quando la linea si attiva passa daun livello logico basso ad un livello

te di alimentazione deve essere ingrado di erogare una corrente di alme-no 200÷300 mA. Questa tensione ali-menta direttamente lo stadio di potenzaBF e le otto uscite a relè. Gli altri stadi,modulo Sensory compreso, vengono

Una bella immagine del nostro prototipo a montaggio ultimato.

Page 7: ANTEPRIMA RICONOSCITORE VOCALE OTTO CANALI · vocale il tema è molto più com-plesso e solo negli ultimi tempi si sono ottenuti risultati signifi-cativi. Per riconoscere parole o

64 Elettronica In - giugno ‘99

alimentati con una tensione a 5 voltfornita dal regolatore U1, un comune7805. Fin qui il circuito elettrico.Occupiamoci ora della realizzazione edelle modalità di impiego. Grazieall’impiego del “Voice Direct Module”anziché dell’integrato RSC-164, la rea-lizzazione di questo progetto è sicura-mente alla portata di tutti i nostri letto-ri. Per il cablaggio del dispositivoabbiamo previsto un apposito circuitostampato sul quale sono montati tutti icomponenti; nelle illustrazioni riportia-mo a grandezza naturale il master uti-lizzato. Consigliamo di realizzare lapiastra utilizzando il sistema dellafotoincisone che consente di ottenereuna basetta del tutto simile alla nostra.Per il collegamento al modulo è neces-sario utilizzare tre strip a passo 2,54mm da 14,17 e 19 poli disposte comeindicato nel cablaggio. Montate perprimi i componenti a più basso profiloe quelli polarizzati, proseguite condiodi e transistor. Per il montaggio deidue integrati DIL fate uso di appositizoccoli; successivamente inserite e sal-date i relè e le morsettiere che facilita-

no i collegamenti ai dispositivi esterni.Per ultimo inserite il modulo Sensoryil quale può essere montato esclusiva-mente in un solo verso. A questo puntodate un’occhiata finale al cablaggioverificando che tutti i componentisiano inseriti correttamente e che nonci siano saldature fredde. Per poter fun-zionare correttamente il sistema neces-sita di una procedura di autoapprendi-mento. A tale scopo è necessario inibi-re il vox, cosa che si ottiene semplice-mente non montando l’integrato U2.Scegliete anche il grado di precisionedel sistema, sia in fase di apprendimen-to che durante il riconoscimento. Inprima battuta conviene lasciare apertientrambi i dip (precisione più bassa).Premete dunque il pulsante P3 e segui-te le istruzioni del sistema che vi invi-terà a pronunciare la parola o la fraseda abbinare all’uscita n. 1 ( “say wordone”) ed a ripetere la stessa per confer-ma (“repeat to confirm”) per poi accet-tare la frase (“accepted”) e passare allasuccessiva (“say word two”). La duratadella parola o della frase non devesuperare i 3,2 secondi. Per i motivi che

abbiamo esposto in precedenza, biso-gna parlare ad una distanza di circa 20centimetri dal microfono. Per interrom-pere la fase di training è sufficiente pre-mere per un breve istante il pulsanteP2. Ricordiamo che per cancellare tuttii dati in memoria il pulsante P2 vatenuto premuto più a lungo. Nonmemorizzate più di 8 frasi per evitareche più linee di controllo si attivinocontemporaneamente. A questo puntosiamo pronti per il riconoscimento.Provate a premere il pulsante P1 eseguite le istruzioni vocali (“say aword”); il sistema dovrebbe riconosce-re le otto frasi memorizzate senza pro-blemi. Ovviamente la persona cheparla deve essere la stessa che ha effet-tuato la fase di training; la stessa frasepronunciata da un’altra persona nonverrà riconosciuta. Se tutto funzionacorrettamente inserite (dopo aver toltotensione) l’integrato U2 e verificate ilfunzionamento del vox. Per ottenere lostart del dispositivo è sufficiente parla-re forte nel microfono pronunciandoqualsiasi parola; il circuito produce unimpulso che simula la chiusura di P1.

Traccia rame in dimensioni reali. Consigliamo di realizzare la basetta col sistema della fotoincisione.