Slik implementerer du et stemmestyrt brukergrensesnitt på ressursbegrensede mikrokontrollere
Bidrag fra DigiKeys nordamerikanske redaktører
2023-12-14
Smarte høyttalere og andre tilkoblede hubber utgjør kjernen i smarthjemmet, og gir brukere muligheten til å styre enheter og få tilgang til Internett. To trender er åpenbare etter hvert som disse enhetene sprer seg: Brukere foretrekker stemmestyring fremfor knappetrykk og kompliserte menysystemer, og det er et økende ubehag forbundet med kontinuerlig skytilkobling på grunn av personvernproblemene dette medfører.
Et robust og sikkert stemmestyrt brukergrensesnitt (VUI – voice user interface) krever imidlertid vanligvis kraftig maskinvare og kompleks programvare for stemmegjenkjenning. Noe mindre vil sannsynligvis resultere i dårlig ytelse og utilfredsstillende brukeropplevelser. I tillegg er mange smarthøyttalere og -hubber batteridrevne, så et VUI må oppnås innenfor et stramt strømbudsjett. Et slikt ambisiøst prosjekt kan være avskrekkende for en utvikler som mangler erfaring med stemmegrensesnitt.
Brikkeprodusenter responderer ved å introdusere en teknikk basert på fonemer (phonemes) som reduserer prosesseringskravene betydelig. Resultatet er svært nøyaktig og effektiv VUI-programvare som kan kjøre på kjente 32-biters mikrokontrollere (MCU-er) og støttes av brukervennlige designverktøy.
Denne artikkelen beskriver VUI-utfordringer og -brukstilfeller. Den introduserer deretter kommersiell, brukervennlig MCU-programvare og lokal fonembasert VUI-programvare for tilkoblede utrustninger i hjemmet. Artikkelen avsluttes med å vise utviklere hvordan de kommer i gang med VUI-prosjekter ved å bruke Renesas-mikrokontrollere, VUI-programvare og evalueringssett.
Utfordringene forbundet med å bygge en VUI
VUI er talegjenkjenningsteknologi som muliggjør samhandling med datamaskiner, smarttelefoner, hjemmeautomatiseringssystemer eller andre enheter ved hjelp av stemmebaserte kommandoer. Etter tekniske utfordringer i begynnelsen har teknologien modnet til et pålitelig styringsgrensesnitt, og brukes nå mye i smarthøyttalere og andre smarthjemenheter. Den største fordelen med VUI er bekvemmeligheten: Umiddelbar styring fra hvor som helst innenfor stemmeområdet, uten at det er behov for å bruke tastatur, mus, knapper, menyer eller andre grensesnitt for å sende inngående kommandoer (figur 1).
Figur 1: VUI-teknologien er utbredt i hjem og smarte bygninger, fordi den er praktisk og fleksibel. (Bildekilde: Renesas)
Ulempen med VUI er kompleksiteten. Konvensjonell teknologi er basert på langvarig opplæring av en modell med bestemte ord eller uttrykk. Naturlig språkbehandling er imidlertid uavhengig av ordrekkefølge, noe som krever betydelig utviklingsarbeid og betydelig datakraft for å kjøre i sanntid. Dette har bremset bred innføring av VUI-er.
Nå forenkler en ny teknikk VUI-programvaren slik at den kan kjøre på små, effektive mikrokontrollere (MCU-er), slik som Arm® Cortex® -M-enheter. Denne teknikken baserer seg på det faktum at alle ord i hvert talespråk består av språklige lyder som kalles fonemer. Det er langt færre fonemer enn ord; engelsk har 44, italiensk har 32 og det tradisjonelle hawaiiske språket har bare 14. Hvis en VUI bruker et engelsk kommandosett på 200 ord, kan hvert ord brytes ned i de tilknyttede fonemene fra settet på 44.
Innenfor VUI-programvaren kan hvert fonem identifiseres med en numerisk kode (eller et «symbol/token»), der de forskjellige symbolene danner språket. Lagring av ord som lyder krever omfattende beregningsressurser, og tar opp mye mer minneplass enn fonemer som er lagret som symboler. Behandling av fonem-symboler (og dermed kommandoord) i en forventet rekkefølge forenkler beregningen ytterligere, og gjør det mulig å kjøre VUI-programvare lokalt på en beskjeden mikrokontroller (figur 2).
Figur 2: Representasjon av ord ved hjelp av fonemer krever færre ressurser fra mikrokontrolleren. (Bildekilde: Renesas)
Dette betyr at programvarens yteevne som oppnås ved å bruke fonemer gjør at behandlingen kan kjøres lokalt. Å fjerne behovet for skybehandling betyr at det ikke er noen krav om kontinuerlig Internett-tilkobling som introduserer bekymringer rundt brukernes personvern og datasikkerhet.
Renesas har vist frem en kommersiell VUI-programvarepakke basert på fonemprinsippet som en del av økosystemet sitt. Programvaren, kalt Cyberon DSpotter, oppretter en VUI-algoritme som er strømlinjeformet nok til å kjøre Renesas sin RA-serie med mikrokontrollere som kommer med Arm Cortex-M4- og M33-kjerner.
Utvikling med Cyberon DSpotter
Cyberon DSpotter er bygget på et bibliotek med fonemer og fonemkombinasjoner. Dette er en alternativ tilnærming til den tradisjonelle og datatunge opplæringen av algoritmer for å gjenkjenne bestemte ord. For å bryte ned ord i fonemer og deretter representere dem som symboler, kan utvikleren bruke verktøyet DSpotter Modeling Tool.
DSpotter er integrert (ikke-skybasert) programvare som fungerer som en lokal løsning for stemmeutløsning og kommandogjenkjenning, med robust støyreduksjon. Den bruker minimale ressurser og er svært nøyaktig. Avhengig av valgt mikrokontroller, kan sikker dataoverføring også implementeres.
DSpotter ber om hvert kommandoord eller frase, som verktøyet deretter bryter ned i fonemer. Kommandosettet og støttedataene for det stemmestyrte brukergrensesnittet (VUI) bygges deretter inn i en binær fil som utvikleren inkluderer i prosjektet sammen med Cyberon-biblioteket. Biblioteket og den binære filen brukes sammen på mikrokontrolleren for å støtte gjenkjenning av de ønskede talekommandoene.
DSpotter-verktøyet oppretter «CommandSets» som kan kobles logisk av utviklerens program for å opprette et VUI med forskjellige nivåer. Dette åpner opp for kommandoer på flere nivåer, for eksempel: «Jeg vil at lyspæren skal settes til høy», der kommandoordene er «lyspæren», etterfulgt av «settes» og «høy». Hver kommando i en gruppe har sin egen indeks. Det har også hver enkelt kommando på et gitt nivå (figur 3).
Figur 3: DSpotter-verktøyet gjør det mulig å opprette «CommandSets» som kan kobles logisk av utviklerens program for å opprette et VUI med forskjellige nivåer. (Bildekilde: Renesas)
DSpotter-biblioteket behandler innkommende lyd og søker etter fonemer som samsvarer med kommandoene i databasen. Når den finner et fonem som samsvarer, returnerer den med indeksen og gruppetallene. En slik ordning gjør det mulig for hovedkoden å opprette en hierarkisk brytersetning (switch statement) for å behandle kommandoordene/-frasene etter hvert som de dukker opp. Det resulterende biblioteket kan være lite nok til å passe på en mikrokontroller med bare 256 kilobyte (kB) flashminne og 32 kB SRAM. Kommandosettet kan vokse hvis mer minne er tilgjengelig.
Det er viktig at utvikleren forstår at det er begrensninger i fonemmetoden for et VUI. De relativt begrensede ressursene til mikrokontrolleren dikterer at Cyberon DSpotter er talegjenkjenning og ikke stemmegjenkjenning. Dette betyr at programvaren ikke kan utføre naturlig språkbehandling. Derfor, hvis kommandoordene ikke følger noen logisk sekvens (for eksempel «høy», «lyspære», «settes» i stedet for «lyspære», «settes», «høy»), vil ikke systemet gjenkjenne kommandoen, og vil tilbakestilles til det øverste nivået.
Et forslag er å legge til en visuell indikator i VUI-grensesnittet (for eksempel en LED) for å vise når prosessoren antar at den er på det øverste nivået i kommandosettet, slik at brukeren blir bedt om å utstede kommandoen på nytt i den logiske sekvensen (figur 4).
Figur 4: Den strømlinjeformede karakteren til Cyberon DSpotter krever at kommandoer følger en logisk sekvens, ellers blir de ikke gjenkjent. (Bildekilde: Renesas)
Kjøring av et ikke-skybasert VUI med begrensede ressurser
Effektiviteten til Cyberon DSpotter gjør det mulig å kjøre på Renesas sine RA2-, RA4- og RA6-familier med Arm Cortex-M-mikrokontrollere. Disse er populære i et bredt utvalg av forbruker-, industri- og IoT-konstruksjoner. De støttes av brukervennlige designverktøy, noe som gjør det relativt enkelt å bygge et ukomplisert VUI, uten at det er behov for omfattende erfaring med koding eller intern ekspertise i bedriften.
Valget av en bestemt mikrokontroller i RA-familien kommer først og fremst ned til kompleksiteten av kommandoer og Cyberon-bibliotekets størrelse. En smart lysbryter, som krever et beskjedent kommandosett og begrenset datakraft for å fungere effektivt, kan være basert på R7FA4W1AD2CNG i RA4-familien. Denne mikrokontrolleren har en batterivennlig Arm Cortex-M4-kjerne på 48 megahertz (MHz), som støttes av 512 kB flashminne og 96 kB SRAM. Den har en segment-LCD-styring, en kapasitiv berøringsfølende enhet, trådløs konnektivitet med lavenergi-Bluetooth (Bluetooth LE), USB 2.0 Full-Speed, en 14-bits analog-til-digital-omformer (ADC), en 12-bits digital-til-analog-omformer (DAC), pluss sikkerhets- og sikkerhetsfunksjoner (figur 5).
Figur 5: R7FA4W1AD2CNG-mikrokontrolleren gir rikelig med ressurser til å bygge et ikke-skybasert VUI for en utrustning som en smartlysbryter. (Bildekilde: Renesas)
Et mer omfattende Cyberon DSpotter-bibliotek og en kraftigere kjerne er nødvendig for en utrustning som en smarthøyttaler. En egnet kandidat er R7FA6M4AF3CFM. Denne mikrokontrolleren fra RA6-familien har den kraftigere 200 MHz Arm Cortex-M33-kjernen som støttes av 1 megabyte (MB) flashminne og 256 kB SRAM. Den har en CAN-buss, Ethernet, I²C, LIN-buss, en kapasitiv berøringsfølende enhet og mange andre grensesnitt og mye annet periferiutstyr.
RA4- og RA6-familiene støttes av evalueringskort, henholdsvis RTK7EKA4W1S00000BJ og RTK7EKA6M4S00001BE, slik at en utvikler kan ta i bruk egenskapene til mikrokontrolleren. Hvert evalueringskort har mål-mikrokontrolleren og en integrert feilsøker.
Renesas tilbyr også et VUI-løsningssett for å akselerere utviklingen. Settet ligner på evalueringskortene ved at det inkorporerer målenheten og feilsøkingsverktøyene. Kortet har også flere I/O-grensesnitt og fire mikrofoner: to analoge og to digitale.
Tilgang til programvaren som trengs for utvikling med VUI-løsningssettet er tilgjengelig på nettstedet til Cyberon. Dette inkluderer komplementær tilgang til «Cyberon DSpotter Modeling Tool», og det har et e2-studioprosjekt med et fungerende stemmekommandosett (voice CommandSet) (e2-studio er et Eclipse-basert integrert utviklingsmiljø (IDE – integrated development environment) for Renesas-mikrokontrollere). Eksempelkommandosettet kan brukes som mal for å utvikle egendefinerte stemmebaserte kommandosekvenser. Systemets reaksjoner kan deretter overvåkes ved å bruke et terminalvindu. Det tar vanligvis rundt 15 minutter å opprette VUI-strukturen vist på figur 4.
Mer avansert programvaredesign for Cyberon-pakken støttes av bedriftens Renesas Flexible Software Package (FSP) for integrert systemdesign ved å bruke RA-familiene. FSP er basert på et økosystem for åpen programvare og inkluderer Azure RTOS eller FreeRTOS, eldre kode og tredjeparts-økosystemer. Den kan kjøre i flere IDE-er, inkludert e2 studio.
Hvor godt fungerer VUI?
Det er én ting å få et VUI til å fungere som det skal i et stille laboratorium, men noe helt annet å få det til å fungere nøyaktig når det er mye bakgrunnsstøy. Omgivelsene rundt en smarthøyttaler kan ha TV eller radio, samtaler, andre musikkilder og generell støy som er vanlig i en husholdning eller sosial sammenkomst. Dessuten vil VUI-grensesnittet måtte konkurrere med dialekter og diksjon som er mindre enn perfekt. Til tross for disse utfordringene forventer brukerne nesten feilfri ytelse.
For å forbedre ytelsen i et vanskelig lyttemiljø, inkluderer Cyberon DSpotter-programvaren, som kjører på mikrokontrollere i Renesas RA-familien, funksjoner for støyimmunitet som krever minimale prosessorressurser. For å demonstrere yteevnen ble det utført tester med et Cyberon DSpotter VUI som lyttet til kommandoer mens det ble utsatt for ulike bakgrunnsstøykilder fra avstander på 1,5 og 3 meter (m), og med signal-til-støy-forhold (SNR) på 0, 5 og 10 desibel (dB). I alle tilfeller overgikk VUI-grensesnittet benchmarkene til Amazon Alexa (tabell 1).
|
Tabell 1: Testresultater for kommandosuksess for et Cyberon-drevet brukergrensesnitt med ulike bakgrunnsstøykilder. VUI-et overgikk benchmarkene til Amazon Alexa i alle tilfeller. (Bildekilde: Renesas)
Konklusjon
VUI-er er raskt i ferd med å bli det foretrukne brukerstyringsgrensesnittet for smarte produkter. En talestyringstilnærming som bruker fonemer som grunnlag for kommandoer og en strikt kommandostruktur kan redusere minne- og databehandlingskravene dramatisk, slik at teknologien kan kjøres lokalt på små, ressursbegrensede mikrokontrollere.
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.




