Come implementare un'interfaccia utente vocale su MCU con risorse limitate
Contributo di Editori nordamericani di DigiKey
2023-12-14
Gli altoparlanti intelligenti e altri hub connessi sono al centro della casa intelligente e consentono agli utenti di controllare i dispositivi e di accedere a Internet. Con la proliferazione di questi dispositivi si delineano due tendenze: gli utenti preferiscono il controllo vocale rispetto alla pressione dei pulsanti o a complicati sistemi di menu e registrano un crescente disagio nei confronti della connettività cloud continua a causa di problemi legati alla privacy.
Tuttavia, un'interfaccia utente vocale (VUI) robusta e sicura richiede in genere un hardware potente e un software complesso per il riconoscimento vocale. Meno di questo, probabilmente, porterà a prestazioni scarse e a esperienze insoddisfacenti per l'utente. Inoltre, molti altoparlanti intelligenti e hub sono alimentati a batteria, quindi la VUI deve avere una potenza disponibile sufficiente. Un progetto così ambizioso può essere scoraggiante per uno sviluppatore che non ha esperienza con le interfacce vocali.
I produttori di chip stanno rispondendo con l'introduzione di una tecnica basata sui fonemi che riduce significativamente i requisiti di elaborazione. Il risultato è un software VUI estremamente accurato ed efficiente che può essere eseguito su microcontroller (MCU) a 32 bit già noti e supportato da strumenti di progettazione intuitivi.
Questo articolo descrive le sfide e i casi d'uso della VUI. Presenta quindi un software applicativo per MCU intuitivo di grado commerciale e un software VUI locale basato sui fonemi per applicazioni domestiche connesse. L'articolo si conclude mostrando agli sviluppatori come iniziare a realizzare progetti VUI utilizzando gli MCU, il software VUI e i kit di valutazione di Renesas.
Le sfide della creazione di una VUI
Una VUI è una tecnologia di riconoscimento vocale che consente di interagire con un computer, uno smartphone, un sistema di domotica o un altro dispositivo utilizzando i comandi vocali. Dopo le prime sfide, la tecnologia è maturata fino a diventare un'interfaccia di controllo affidabile ed è ora ampiamente utilizzata negli altoparlanti intelligenti e in altri dispositivi di domotica. Il vantaggio principale di una VUI è la sua praticità: controllo immediato da qualsiasi punto nel raggio d'azione della voce senza bisogno di utilizzare tastiera, mouse, pulsanti, menu o altre interfacce per inserire i comandi (Figura 1).
Figura 1: La tecnologia VUI è stata ampiamente adottata nelle case e negli edifici intelligenti perché è comoda e flessibile. (Immagine per gentile concessione di Renesas)
L'aspetto negativo di una VUI è la sua complessità. La tecnologia convenzionale si basa sul lungo addestramento di un modello con parole o frasi specifiche. Ma l'elaborazione del linguaggio naturale è indipendente dall'ordine delle parole, il che richiede un notevole lavoro di sviluppo e una notevole potenza di calcolo per l'esecuzione in tempo reale. Questo ha rallentato l'adozione più ampia delle VUI.
Ora, una nuova tecnica semplifica il software VUI fino a renderlo eseguibile su microcontroller (MCU) piccoli ed efficienti, come i dispositivi ARM® Cortex®-M. Questa tecnica si basa sul fatto che tutte le parole di ogni lingua parlata sono composte da suoni linguistici chiamati fonemi. I fonemi sono molto meno numerosi delle parole; l'inglese ne ha 44, l'italiano 32 e la lingua hawaiana tradizionale ne ha solo 14. Se una VUI utilizza un insieme di comandi in inglese di 200 parole, ogni parola può essere scomposta nei fonemi ad essa associati a partire dall'insieme di 44 parole.
All'interno del software VUI, ogni fonema potrebbe essere identificato da un codice numerico (o "token") e i vari token formerebbero la lingua. Memorizzare le parole come suoni richiede ampie risorse computazionali e occupa molto più spazio in memoria rispetto ai fonemi memorizzati come token. L'elaborazione dei token fonemici (e quindi delle parole di comando) nell'ordine previsto semplifica ulteriormente il calcolo e rende possibile l'esecuzione del software VUI localmente su un MCU modesto (Figura 2).
Figura 2: La rappresentazione delle parole tramite fonemi richiede meno risorse per il microcontroller. (Immagine per gentile concessione di Renesas)
Ciò significa che l'efficienza del software ottenuta con l'uso dei fonemi consente l'elaborazione a livello locale. Eliminando la necessità di elaborazione nel cloud non è più necessaria la connettività continua a Internet, che comporta problemi di privacy e di sicurezza dei dati per gli utenti.
Renesas ha presentato un pacchetto software VUI commerciale basato sul principio dei fonemi come parte del suo ecosistema. Il software, chiamato Cyberon DSpotter, crea un algoritmo VUI sufficientemente snello da poter essere eseguito sugli MCU di Renesas serie RA con core ARM Cortex-M4 e M33.
Sviluppo con Cyberon DSpotter
Cyberon DSpotter si basa su una libreria di fonemi e combinazioni di fonemi. Si tratta di un approccio alternativo all'addestramento tradizionale e pesante di algoritmi per il riconoscimento di parole specifiche. Per scomporre le parole in fonemi e quindi rappresentarle come token, lo sviluppatore può utilizzare lo strumento di modellazione DSpotter.
DSpotter è un software embedded (non cloud) che funziona come soluzione di attivazione vocale locale e riconoscimento dei comandi con una robusta riduzione del rumore. Il consumo di risorse è minimo e la precisione è elevata. A seconda dell'MCU selezionato, è possibile implementare anche il trasferimento sicuro dei dati.
DSpotter richiede ogni parola o frase di comando, che lo strumento scompone in fonemi. Il set di comandi e i dati di supporto per la VUI vengono quindi inseriti in un file binario che lo sviluppatore include nel progetto insieme alla libreria Cyberon. La libreria e il file binario vengono utilizzati insieme sull'MCU per supportare il riconoscimento dei comandi vocali desiderati.
Lo strumento DSpotter crea dei "set di comandi" che possono essere collegati logicamente dal programma dello sviluppatore per creare una VUI con diversi livelli. In questo modo è possibile impartire comandi a più livelli, come ad esempio "Vorrei la lampadina impostata su alto": le parole di comando sono "lampadina", seguita da "impostata" e "alto". Ogni comando di un gruppo ha un proprio indice, così come ogni comando all'interno di un livello (Figura 3).
Figura 3: Lo strumento DSpotter consente di creare "set di comandi" che possono essere collegati logicamente dal programma dello sviluppatore per creare una VUI con diversi livelli. (Immagine per gentile concessione di Renesas)
La libreria DSpotter elabora i suoni in entrata e cerca i fonemi corrispondenti ai comandi del database. Quando trova una corrispondenza, restituisce i numeri di indice e di gruppo. Questa disposizione consente al codice dell'applicazione principale di creare un'istruzione di commutazione gerarchica per elaborare le parole/frasi di comando via via che si presentano. La libreria risultante può essere abbastanza piccola da essere inserita in un MCU con soli 256 kB di memoria flash e 32 kB di SRAM. Il set di comandi può crescere se è disponibile più memoria.
È importante che lo sviluppatore si renda conto delle limitazioni del metodo dei fonemi per una VUI. Le risorse relativamente limitate dell'MCU fanno sì che Cyberon DSpotter sia un sistema di riconoscimento vocale piuttosto che di riconoscimento della voce. Ciò significa che il software non è in grado di elaborare il linguaggio naturale. Pertanto, se le parole di comando non seguono una sequenza logica (ad esempio, "alto", "lampadina", "impostata" invece di "lampadina", "impostata", "alto"), il sistema non riconoscerà il comando e tornerà al livello superiore.
Un suggerimento di progettazione è quello di aggiungere un indicatore visivo alla VUI (ad esempio, un LED) per indicare quando il processore presume di essere al livello superiore del set di comandi, invitando l'utente a riemettere il comando nella sequenza logica (Figura 4).
Figura 4: La natura razionalizzata di Cyberon DSpotter richiede che i comandi seguano una sequenza logica, altrimenti non saranno riconosciuti. (Immagine per gentile concessione di Renesas)
Esecuzione di una VUI non cloud con risorse limitate
L'efficienza di Cyberon DSpotter ne consente l'esecuzione sulle famiglie di MCU ARM Cortex-M RA2, RA4 e RA6 di Renesas. Sono diffusi in un'ampia gamma di applicazioni consumer, industriali e IoT. Sono supportati da strumenti di progettazione intuitivi, che semplificano la creazione di una semplice VUI senza una vasta esperienza di codifica o competenze interne.
La scelta di un particolare MCU della famiglia RA dipende principalmente dalla complessità dei comandi e dalle dimensioni della libreria Cyberon. Un interruttore della luce intelligente, che richiede un set di comandi modesto e una potenza di calcolo limitata per il funzionamento efficace, potrebbe essere basato sul dispositivo R7FA4W1AD2CNG della famiglia RA4. Questo MCU è dotato di un core ARM Cortex-M4 da 48 MHz a batteria, supportato da 512 kB di memoria flash e 96 kB di SRAM. È dotato di un controller per LCD a segmenti, un'unità di rilevamento tattile capacitivo, connettività wireless Bluetooth Low Energy (Bluetooth LE), USB 2.0 Full-Speed, un convertitore analogico/digitale (ADC) a 14 bit, un convertitore digitale/analogico (DAC) a 12 bit, oltre a funzioni di sicurezza e protezione (Figura 5).
Figura 5: L'MCU R7FA4W1AD2CNG offre ampie risorse per realizzare una VUI non cloud per applicazioni come un interruttore della luce intelligente. (Immagine per gentile concessione di Renesas)
Per un'applicazione come un altoparlante intelligente sono necessari una libreria Cyberon DSpotter più estesa e un core più potente. Un candidato adatto è il modello R7FA6M4AF3CFM. Questo MCU della famiglia RA6 è dotato del più potente core ARM Cortex-M33 a 200 MHz, supportato da 1 MB di memoria flash e 256 kB di SRAM. Dispone di bus CAN, Ethernet, I²C, bus LIN, un'unità di rilevamento tattile capacitivo e molte altre interfacce e periferiche.
Le famiglie RA4 e RA6 sono supportate da schede di valutazione, rispettivamente RTK7EKA4W1S00000BJ e RTK7EKA6M4S00001BE, per consentire agli sviluppatori di esercitare le capacità degli MCU. Ogni scheda di valutazione è dotata dell'MCU target e di un debugger su scheda.
Renesas offre anche un kit di soluzioni VUI per accelerare lo sviluppo. Il kit è simile alle schede di valutazione in quanto incorpora il dispositivo target e i debugger. La scheda dispone inoltre di diverse interfacce di I/O e di quattro microfoni: due analogici e due digitali.
L'accesso al software necessario per lo sviluppo con il kit di soluzioni VUI è disponibile sul sito web di Cyberon. Include l'accesso gratuito a Cyberon DSpotter Modeling Tool e presenta un progetto e2 studio con un set di comandi vocale funzionante (e2 studio è un ambiente di sviluppo integrato (IDE) basato su Eclipse per gli MCU di Renesas). L'esempio del set di comandi può essere utilizzato come modello per sviluppare sequenze di comandi vocali personalizzate. Le reazioni del sistema possono essere monitorate mediante una finestra di terminale. In genere sono necessari circa 15 minuti per creare la struttura della VUI illustrata nella Figura 4.
La progettazione di software applicativo più sofisticato per il pacchetto Cyberon è supportata dal Flexible Software Package (FSP) di Renesas per i progetti di sistemi embedded che utilizzano le famiglie RA. L'FSP si basa su un ecosistema software aperto e comprende Azure RTOS o FreeRTOS, codice legacy ed ecosistemi di terze parti. Può essere eseguito in diversi IDE, tra cui e2 studio.
Quali sono le prestazioni della VUI?
Una cosa è che una VUI funzioni bene in un laboratorio silenzioso, un'altra è che funzioni con precisione in presenza di rumore di fondo. Un tipico ambiente operativo per un altoparlante intelligente potrebbe includere una TV o una radio, una conversazione, altre fonti musicali e il frastuono generale di una famiglia o di una riunione sociale. Inoltre, la VUI dovrà fare i conti con i dialetti e con una dizione non proprio perfetta. Nonostante queste sfide, gli utenti si aspettano prestazioni quasi impeccabili.
Per migliorare le prestazioni in un ambiente di ascolto difficile, il software Cyberon DSpotter in esecuzione sulla famiglia di MCU RA di Renesas include funzioni di immunità al rumore che richiedono risorse minime da parte del processore. Per dimostrarne l'efficacia, sono stati eseguiti diversi test con una VUI Cyberon DSpotter che ha ascoltato i comandi mentre era soggetta a varie fonti di rumore di fondo a distanze di 1,5 e 3 metri e con rapporti segnale/rumore (SNR) di 0, 5 e 10 dB. In tutti i casi, la VUI ha superato il benchmark Amazon Alexa (Tabella 1).
|
Tabella 1: Risultati del test di successo dei comandi per una VUI alimentata da Cyberon con varie fonti di rumore di fondo. In tutti i casi, la VUI ha superato il benchmark di Amazon Alexa. (Immagine per gentile concessione di Renesas)
Conclusione
Le VUI stanno rapidamente diventando l'interfaccia di controllo preferita dai consumatori per i prodotti intelligenti. Un approccio al controllo vocale che utilizza i fonemi come base dei comandi e una struttura di comando rigorosa può ridurre drasticamente i requisiti di memoria e di calcolo, consentendo alla tecnologia di funzionare localmente su MCU di piccole dimensioni e con risorse limitate.
Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.




