Cum se implementează o interfață de utilizare vocală pe MCU-uri cu resurse limitate

Contributed By DigiKey's North American Editors

Difuzoarele inteligente și alte hub-uri conectate formează inima casei inteligente, permițând utilizatorilor să controleze dispozitivele și să acceseze internetul. Pe măsură ce aceste dispozitive se înmulțesc, două tendințe devin evidente: utilizatorii preferă controlul vocal în locul apăsării butoanelor sau în locul sistemelor de meniu complicate și există un disconfort tot mai mare în ceea ce privește conectivitatea continuă în cloud din cauza preocupărilor legate de confidențialitate.

Cu toate acestea, o interfață de utilizare vocală (VUI) robustă și sigură necesită, de obicei, un hardware puternic și un software complex pentru recunoașterea vocală. Orice altceva mai puțin de atât va duce probabil la performanțe slabe și la experiențe nesatisfăcătoare pentru utilizatori. De asemenea, multe difuzoare inteligente și hub-uri sunt alimentate de baterii, astfel că o interfață de utilizare video trebuie să fie realizată în cadrul unui buget de energie limitat. Un proiect atât de ambițios poate fi descurajant pentru un dezvoltator care nu are experiență în domeniul interfețelor vocale.

Răspunsul producătorilor de cipuri este introducerea unei tehnici bazate pe foneme care reduce semnificativ cerințele de procesare. Rezultatul este un software VUI extrem de precis și eficient, care poate rula pe microcontrolere pe 32 de biți (MCU) familiare și este susținut de instrumente de proiectare ușor de utilizat.

Acest articol descrie provocările și cazurile de utilizare a VUI. În continuare, se prezintă un software de aplicație MCU comercial, ușor de utilizat, și un software VUI local bazat pe foneme pentru aplicații casnice conectate. Articolul se încheie printr-o prezentare a modului în care dezvoltatorii pot începe proiectele VUI folosind MCU-urile Renesas, software-ul VUI și kiturile de evaluare.

Provocările legate de construirea unui VUI

VUI este o tehnologie de recunoaștere vocală care permite interacțiunea cu un computer, un smartphone, un sistem de automatizare a locuinței sau un alt dispozitiv prin intermediul comenzilor vocale. După primele provocări tehnice, tehnologia s-a maturizat și a devenit o interfață de control fiabilă, fiind acum utilizată pe scară largă în difuzoarele inteligente și în alte dispozitive inteligente pentru casă. Principalul beneficiu al unui VUI este confortul său: control instantaneu de oriunde în raza de acțiune a vocii, fără a fi nevoie să folosiți o tastatură, un mouse, butoane, meniuri sau alte interfețe pentru a introduce comenzi (Figura 1).

Imaginea tehnologiei VUI care a fost adoptată pe scară largăFigura 1: Tehnologia VUI a fost adoptată pe scară largă în locuințe și clădiri inteligente, deoarece este convenabilă și flexibilă. (Sursă imagine: Renesas)

Dezavantajul unui VUI este complexitatea sa. Tehnologia convențională se bazează pe antrenarea îndelungată a unui model cu cuvinte sau fraze specifice. Dar procesarea limbajului natural este independentă de ordinea cuvintelor, ceea ce necesită o muncă de dezvoltare considerabilă și o putere de calcul semnificativă pentru a funcționa în timp real. Acest lucru a încetinit adoptarea pe scară mai largă a VUI-urilor.

Acum, o nouă tehnică simplifică software-ul VUI astfel ca aceasta să poate rula pe microcontrolere (MCU) mici și eficiente, cum ar fi dispozitivele Arm® Cortex®-M. Această tehnică se bazează pe faptul că toate cuvintele din fiecare limbă vorbită sunt alcătuite din sunete lingvistice numite foneme. Există mult mai puține foneme decât cuvinte; engleza are 44, italiana are 32, iar limba hawaiiană tradițională are doar 14. Dacă un VUI utilizează un set de comenzi în limba engleză de 200 de cuvinte, fiecare cuvânt ar putea fi împărțit în fonemele asociate din setul de 44.

În cadrul unui software VUI, fiecare fonem ar putea fi identificat printr-un cod numeric (sau un „token”), iar diferitele tokenuri ar putea forma limba. Stocarea cuvintelor sub formă de sunete necesită resurse de calcul extinse și ocupă mult mai mult spațiu de memorie decât fonemele stocate sub formă de tokenuri. Prelucrarea tokenurilor de foneme (și, prin urmare, a cuvintelor de comandă) într-o ordine așteptată simplifică și mai mult calculul și face posibilă rularea software-ului VUI la nivel local pe un MCU modest (Figura 2).

Imagine cu reprezentarea cuvintelor cu ajutorul fonemelorFigura 2: Reprezentarea cuvintelor cu ajutorul fonemelor necesită mai puține resurse ale microcontrolerelor. (Sursă imagine: Renesas)

Acest lucru înseamnă că eficiența software-ului obținută prin utilizarea fonemelor permite ca procesarea să se desfășoare la nivel local. Eliminarea necesității de procesare în cloud înseamnă că nu mai este necesară o conectivitate continuă la internet, ce generează probleme legate de confidențialitatea utilizatorilor și de securitate a datelor.

Renesas a prezentat un pachet comercial de software VUI bazat pe principiul fonemelor ca parte a ecosistemului său. Software-ul, denumit Cyberon DSpotter, creează un algoritm VUI suficient de simplificat pentru a putea fi rulat pe MCU-urile din seria RA de la Renesas, cu nuclee Arm Cortex-M4 și M33.

Dezvoltarea cu Cyberon DSpotter

Cyberon DSpotter este construit pe o bază de bibliotecă de foneme și combinații de foneme. Aceasta este o abordare alternativă la antrenarea tradițională și cu număr mare de calcule a algoritmilor de recunoaștere a unor cuvinte specifice. Pentru a descompune cuvintele în foneme și a le reprezenta ulterior ca tokenuri, dezvoltatorul poate utiliza DSpotter Modeling Tool.

DSpotter este un software încorporat (non-cloud) care funcționează ca o soluție locală de declanșare vocală și de recunoaștere a comenzilor, cu o reducere robustă a zgomotului. Acesta consumă resurse minime și este foarte precis. În funcție de MCU-ul selectat, poate fi implementat și transferul securizat de date.

DSpotter solicită fiecare cuvânt sau frază de comandă, pe care instrumentul le descompune în foneme. Setul de comenzi și datele auxiliare pentru VUI sunt apoi încorporate într-un fișier binar pe care dezvoltatorul îl include în proiect împreună cu biblioteca Cyberon. Biblioteca și fișierul binar sunt utilizate împreună pe MCU pentru a susține recunoașterea comenzilor vocale dorite.

Instrumentul DSpotter creează „CommandSets” care pot fi conectate în mod logic de programul dezvoltatorului pentru a crea o interfață video cu diferite niveluri. Acest lucru permite comenzi pe mai multe niveluri, cum ar fi: „Aș dori ca becul să fie setat la maxim, te rog”: cuvintele de comandă sunt „bec”, urmat de „setat” și „maxim”. Fiecare comandă dintr-un grup are propriul său index, la fel ca și fiecare comandă dintr-un nivel (Figura 3).

Imaginea instrumentului DSpotter care permite crearea de „CommandSets”Figura 3: Instrumentul DSpotter permite crearea de „CommandSets” care pot fi conectate în mod logic de către programul dezvoltatorului pentru a crea o interfață video cu diferite niveluri. (Sursă imagine: Renesas)

Biblioteca DSpotter procesează sunetul primit și caută foneme care corespund comenzilor din baza de date. Atunci când găsește o potrivire, se returnează cu numerele de index și de grup. Un astfel de aranjament permite codului principal al aplicației să creeze o instrucțiune de comutare ierarhică pentru a procesa cuvintele/frazele de comandă pe măsură ce apar. Librăria rezultată poate fi suficient de mică pentru a încăpea pe un MCU cu doar 256 de kiloocteți (Kbytes) de memorie flash și 32 Kbytes de SRAM. CommandSet-ul poate crește dacă este disponibilă mai multă memorie.

Este important ca dezvoltatorul să înțeleagă că există limitări ale metodei fonemelor pentru un VUI. Resursele relativ limitate ale MCU impun ca Cyberon DSpotter să fie mai degrabă o recunoaștere a vorbirii decât o recunoaștere vocală. Acest lucru înseamnă că software-ul nu poate efectua procesarea limbajului natural. Prin urmare, dacă cuvintele de comandă nu urmează o secvență logică (de exemplu, „înalt”, „bec”, „setat” în loc de „bec”, „setat”, „înalt”), sistemul nu va recunoaște comanda și va reveni la nivelul superior.

O sugestie de proiectare este adăugarea unui indicator vizual la VUI (de exemplu, un led) pentru a indica momentul în care procesorul presupune că se află la nivelul superior al CommandSet, solicitând utilizatorului să retrimită comanda în secvența logică (Figura 4).

Imaginea naturii simplificate a Cyberon DSpotterFigura 4: Natura simplificată a Cyberon DSpotter necesită ca comenzile să urmeze o secvență logică, altfel nu vor fi recunoscute. (Sursă imagine: Renesas)

Rularea unui VUI non-cloud cu resurse limitate

Eficiența Cyberon DSpotter îi permite să ruleze pe familiile de MCU-uri RA2, RA4 și RA6 Arm Cortex-M de la Renesas. Acestea sunt populare într-o gamă largă de aplicații de consum, industriale și IoT. Sunt susținute de instrumente de proiectare ușor de utilizat, ceea ce face relativ ușoară crearea unui VUI simplu, fără o experiență vastă de codare sau expertiză internă.

Alegerea unui anumit MCU din familia RA se reduce în primul rând la complexitatea comenzilor și la dimensiunea bibliotecii Cyberon. Un întrerupător de lumină inteligent, care necesită un set modest de comenzi și o putere de calcul limitată pentru a funcționa eficient, ar putea fi bazat pe R7FA4W1AD2CNG din familia RA4. Acest MCU are un nucleu Arm Cortex-M4 de 48 megahertzi (MHz), compatibil cu bateria, susținut de 512 Kbytes de memorie flash și 96 Kbytes de SRAM. Acesta dispune de un controler LCD segmentat, o unitate de detectare tactilă capacitivă, conectivitate wireless Bluetooth Low Energy (Bluetooth LE), USB 2.0 Full-Speed, un convertor analogic-digital (ADC) pe 14 biți, un convertor digital-analogic (DAC) pe 12 biți, plus caracteristici de securitate și siguranță (Figura 5).

Diagramă a MCU Renesas R7FA4W1AD2CNGFigura 5: MCU R7FA4W1AD2CNG oferă resurse ample pentru a construi un VUI non-cloud pentru aplicații precum un întrerupător de lumină inteligent. (Sursă imagine: Renesas)

Pentru o aplicație precum un difuzor inteligent sunt necesare o bibliotecă Cyberon DSpotter mai extinsă și un nucleu mai puternic. Un candidat potrivit este R7FA6M4AF3CFM. Acest MCU din familia RA6 dispune de un nucleu Arm Cortex-M33 de 200 MHz mai puternic, susținut de 1 megaoctet (Mbyte) de memorie flash și 256 Kbytes de SRAM. Are o magistrală CAN, Ethernet, I²C, magistrală LIN, o unitate de detecție tactilă capacitivă și multe alte interfețe și periferice.

Familiile RA4 și RA6 sunt susținute de plăci de evaluare, RTK7EKA4W1S00000BJ și, respectiv, RTK7EKA6M4S00001BE, pentru a permite dezvoltatorului să exerseze capacitățile MCU-urilor. Fiecare placă de evaluare are un MCU țintă și un depanator integrat.

De asemenea, Renesas oferă un kit de soluții VUI pentru accelerarea dezvoltării. Kitul este similar cu plăcile de evaluare în sensul că încorporează dispozitivul țintă și depanatoarele. În plus, placa dispune de mai multe interfețe I/O și are patru microfoane: două analogice și două digitale.

Accesul la software-ul necesar pentru dezvoltarea cu kitul de soluții VUI este disponibil pe site-ul web al Cyberon. Acesta include acces gratuit la Cyberon DSpotter Modeling Tool și include un proiect e2 studio cu un CommandSet vocal funcțional (e2 studio este un mediu de dezvoltare integrat (IDE) bazat pe Eclipse pentru MCU-urile Renesas). Exemplul de CommandSet poate fi utilizat ca șablon pentru dezvoltarea unor secvențe de comenzi vocale personalizate. Reacțiile sistemului pot fi apoi monitorizate cu ajutorul unei ferestre de terminal. În general, este nevoie de aproximativ 15 minute pentru a crea structura VUI prezentată în Figura 4.

Proiectarea mai sofisticată a aplicațiilor software pentru pachetul Cyberon este susținută de Flexible Software Package (FSP) al companiei Renesas pentru proiecte de sisteme încorporate care utilizează familiile RA. FSP se bazează pe un ecosistem de software deschis și include Azure RTOS sau FreeRTOS, codul moștenit și ecosisteme terțe. Acesta poate rula în mai multe IDE-uri, inclusiv e2 studio.

Cât de bine funcționează VUI?

Una este ca un VUI să funcționeze bine într-un laborator liniștit și alta este ca acesta să funcționeze cu precizie în condiții cu zgomot de fond semnificativ. Un mediu de funcționare tipic pentru un difuzor inteligent ar putea include un televizor sau un radio, conversații, alte surse de muzică și agitația generală a unei gospodării sau a unei adunări sociale. În plus, VUI va trebui să se confrunte cu dialectele și cu o dicție mai puțin perfectă. În ciuda acestor provocări, utilizatorii se așteaptă la performanțe aproape perfecte.

Pentru a îmbunătăți performanța într-un mediu de ascultare dificil, software-ul Cyberon DSpotter care rulează pe familia de MCU-uri Renesas RA include caracteristici de imunitate la zgomot care necesită resurse minime de procesor. Pentru a-i demonstra eficacitatea, s-au efectuat teste cu un Cyberon DSpotter VUI care asculta comenzi în timp ce era supus la diferite surse de zgomot de fond la distanțe de 1,5 și 3 metri (m) și cu rapoarte semnal-zgomot (SNR) de 0, 5 și 10 decibeli (dB). În toate cazurile, VUI a depășit performanța indicatorului de referință Amazon Alexa (Tabelul 1).

SNR Zgomot de fond Distanța Rată de succes Cerințe Alexa
(Curat) fără 1,5 m 100,00% 90%
(Curat) fără 3 m 100,00% 90%
10 dB Conversații nedefinite 1,5 m 98,55% 80%
10 dB Conversații nedefinite 3 m 98,84% 80%
10 dB Muzică 1,5 m 98,26% 80%
10 dB Muzică 3 m 98,55% 80%
10 dB TV 1,5 m 98,84% 80%
10 dB TV 3 m 98,55% 80%
5 dB Conversații nedefinite 1,5 m 98,84% 80%
5 dB Conversații nedefinite 3 m 96,24% 80%
5 dB Muzică 1,5 m 98,84% 80%
5 dB Muzică 3 m 97,08% 80%
5 dB TV 1,5 m 93,37% 80%
5 dB TV 3 m 90,72% 80%

Tabelul 1: Rezultatele de succes al testului comenzilor pentru un VUI alimentat de Cyberon cu diferite surse de zgomot de fond. În toate cazurile, VUI a depășit performanța indicatorului de referință Amazon Alexa. (Sursa imaginii: Renesas)

Concluzie

VUI-urile devin rapid interfața de control preferată de consumatori pentru produsele inteligente. O abordare de control prin vorbire, care utilizează foneme ca bază a comenzilor și o structură strictă a comenzilor, poate reduce drastic cerințele de memorie și de calcul, permițând tehnologiei să funcționeze local pe MCU-uri mici, cu resurse limitate.

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

About this publisher

DigiKey's North American Editors