Sådan implementerer du en stemmebrugerinterface på ressourcebegrænsede MCU'er
Bidraget af DigiKeys nordamerikanske redaktører
2023-12-14
Smarthøjttalere og andre forbundne hubs udgør hjertet i det intelligente hjem og giver brugerne mulighed for at styre enheder og få adgang til internettet. To tendenser er tydelige, efterhånden som disse enheder spredes: Brugerne foretrækker stemmestyring frem for knaptryk eller komplicerede menusystemer, og der er et stigende ubehag ved kontinuerlig cloud-forbindelse på grund af bekymringer om privatlivets fred.
Men en robust og sikker stemmebrugerinterface (VUI - voice user interface) kræver typisk kraftig hardware og kompleks software til stemmegenkendelse. Alt andet vil sandsynligvis resultere i dårlig ydeevne og utilfredsstillende brugeroplevelser. Desuden er mange smarthøjttalere og hubs batteridrevne, så et VUI skal opnås inden for et stramt strømbudget. Et så ambitiøst projekt kan være skræmmende for en udvikler, der ikke har erfaring med stemme-interfaces.
Chipproducenterne reagerer ved at introducere en teknik baseret på fonemer, der reducerer behandlingskravene betydeligt. Resultatet er meget præcis og effektiv VUI-software, der kan køre på velkendte 32-bit mikrocontrollere (MCU'er) og understøttes af brugervenlige designværktøjer.
Denne artikel beskriver VUI-udfordringer og anvendelsesområder. Derefter introduceres kommerciel, brugervenlig MCU-applikationssoftware og lokal telefonbaseret VUI-software til fobundne hjemmeapplikationer. Artiklen afsluttes med at vise udviklere, hvordan de kommer i gang med VUI-projekter ved hjælp af Renesas MCU'er, VUI-software og evalueringskit.
Udfordringerne ved at bygge et VUI
Et VUI er en talegenkendelsesteknologi, der gør det muligt at interagere med en computer, smartphone, hjemmeautomatiseringssystem eller anden enhed ved hjælp af stemmekommandoer. Efter tidlige tekniske udfordringer er teknologien modnet til en pålidelig kontrolinterface og bruges nu i vid udstrækning i smarthøjttalere og andre smart hjemmeenheder. Den største fordel ved et VUI er dets bekvemmelighed: øjeblikkelig kontrol fra hvor som helst inden for stemmens rækkevidde uden behov for at bruge tastatur, mus, knapper, menuer eller andre interfacer til at indtaste kommandoer (figur 1).
Figur 1: VUI-teknologi er blevet udbredt i hjem og intelligente bygninger, fordi den er praktisk og fleksibel. (Billedkilde: Renesas)
Ulempen ved et VUI er dets kompleksitet. Konventionel teknologi er baseret på langvarig træning af en model med specifikke ord eller sætninger. Men naturlig sprogbehandling er uafhængig af ordrækkefølgen, hvilket kræver betydeligt udviklingsarbejde og betydelig computerkraft for at køre i realtid. Det har bremset den bredere udbredelse af VUI'er.
Nu forenkler en ny teknik VUI-softwaren i en sådan grad, at den kan køre på små, effektive mikrocontrollere (MCU'er) som Arm® Cortex®-M-enheder. Denne teknik bygger på det faktum, at alle ord i hvert talesprog består af sproglyde, der kaldes fonemer. Der er langt færre fonemer end ord; engelsk har 44, italiensk har 32, og det traditionelle hawaiianske sprog har kun 14. Hvis en VUI bruger et engelsk kommandosæt på 200 ord, kan hvert ord opdeles i dets tilknyttede fonemer fra sættet på 44.
I VUI-software kan hvert fonem så identificeres med en numerisk kode (eller et "token"), hvor de forskellige tokens danner sproget. Lagring af ord som lyde kræver omfattende beregningsressourcer og optager langt mere hukommelsesplads end fonemer, der lagres som tokens. Behandling af fonem-tokens (og dermed kommandoord) i en forventet rækkefølge forenkler beregningen yderligere og gør det muligt at køre VUI-software lokalt på en beskeden MCU (figur 2).
Figur 2: At repræsentere ord ved hjælp af fonemer kræver færre mikrocontroller-ressourcer. (Billedkilde: Renesas)
Det betyder, at den softwareeffektivitet, der opnås ved at bruge fonemer, gør det muligt at køre behandlingen lokalt. At fjerne behovet for cloud-behandling betyder, at der ikke er noget krav om kontinuerlig internetforbindelse, der introducerer problemer med brugernes privatliv og datasikkerhed.
Renesas har vist en kommerciel VUI-softwarepakke baseret på fonem-princippet som en del af sit økosystem. Softwaren, der hedder Cyberon DSpotter, skaber en VUI-algoritme, der er strømlinet nok til at køre på Renesas Ra-serien-serien af MCU'er med Arm Cortex-M4- og M33-kerner.
Udvikling med Cyberon DSpotter
Cyberon DSpotter er bygget på et bibliotek af fonemer og fonemkombinationer. Dette er en alternativ tilgang til den traditionelle og computertunge træning af algoritmer til at genkende specifikke ord. For at opdele ord i fonemer og derefter repræsentere dem som tokens, kan udvikleren bruge DSpotter Modeling Tool.
DSpotter er indlejret (ikke-cloud) software, der fungerer som en lokal stemmeudløser og kommando-genkendelsesløsning med robust støjreduktion. Den bruger minimale ressourcer og er meget præcis. Afhængigt af den valgte MCU kan sikker dataoverførsel også implementeres.
DSpotter beder om hvert kommandoord eller sætning, som værktøjet opdeler i fonemer. Kommandosættet og de understøttende data til VUI'en bygges derefter ind i en binær fil, som udvikleren inkluderer i projektet sammen med Cyberon-biblioteket. Biblioteket og den binære fil bruges sammen på MCU'en til at understøtte genkendelsen af de ønskede talekommandoer.
DSpotter-værktøjet skaber "CommandSets", der kan forbindes logisk af udviklerens program for at skabe en VUI med forskellige niveauer. Det giver mulighed for kommandoer på flere niveauer såsom "Jeg vil gerne have pæren sat på høj, tak": kommandoordene er "pære", efterfulgt af "sæt" og "høj". Hver kommando i en gruppe har sit eget indeks, og det samme gælder for hver kommando i et niveau (Figur 3).
Figur 3: DSpotter-værktøjet gør det muligt at oprette "CommandSets", der kan forbindes logisk af udviklerens program for at skabe et VUI med forskellige niveauer. (Billedkilde: Renesas)
DSpotter-biblioteket behandler indkommende lyd og søger efter fonemer, der matcher kommandoerne i databasen. Når den finder et match, vender den tilbage med indeks- og gruppenumre. Et sådant arrangement gør det muligt for hovedprogramkoden at oprette en hierarkisk switch-sætning til at behandle kommandoordene/sætningerne, efterhånden som de kommer. Det resulterende bibliotek kan være lille nok til at passe på en MCU med kun 256 kilobyte (Kbytes) flashhukommelse og 32 Kbytes SRAM. CommandSet kan vokse, hvis der er mere hukommelse til rådighed.
Det er vigtigt for udvikleren at forstå, at der er begrænsninger for fonemmetoden til et VUI. MCU'ens relativt begrænsede ressourcer dikterer, at Cyberon DSpotter er talegenkendelse snarere end stemmegenkendelse. Det betyder, at softwaren ikke kan udføre naturlig sprogbehandling. Hvis kommandoordene ikke følger en logisk rækkefølge (for eksempel "høj", "pære", "sæt" i stedet for "pære", "sæt", "høj"), vil systemet ikke genkende kommandoen og nulstille tilbage til det øverste niveau.
Et designforslag er at tilføje en visuel indikator til VUI (f.eks. en LED) for at indikere, hvornår processoren antager, at den er på det øverste niveau i CommandSet, hvilket beder brugeren om at genudstede kommandoen i den logiske rækkefølge (figur 4).
Figur 4: Den strømlinede karakter af Cyberon DSpotter kræver, at kommandoerne følger en logisk rækkefølge, ellers bliver de ikke genkendt. (Billedkilde: Renesas)
Kørsel af en ikke-cloud VUI med begrænsede ressourcer
Effektiviteten i Cyberon DSpotter gør, at den kan køre på Renesas' RA2-, RA4- og RA6-familier af Arm Cortex-M MCU'er. De er populære på tværs af en lang række forbruger-, industri- og IoT-applikationer. De understøttes af brugervenlige designværktøjer, hvilket gør det relativt ligetil at bygge et simpelt VUI uden omfattende kodeerfaring eller in-house ekspertise.
Valget af en bestemt MCU fra RA-familien handler primært om kompleksiteten af kommandoer og Cyberon-bibliotekets størrelse. En smart lyskontakt, som kræver et beskedent kommandosæt og begrænset computerkraft for at fungere effektivt, kunne være baseret på R7FA4W1AD2CNG fra RA4-familien. Denne MCU har en batterivenlig 48 megahertz (MHz) Arm Cortex-M4-kerne, der understøttes af 512 kbyte flashhukommelse og 96 kbyte SRAM. Den har en segment-LCD-controller, en kapacitiv berøringsenhed, Bluetooth Low Energy (Bluetooth LE) trådløs forbindelse, USB 2.0 Full-Speed, en 14-bit analog-til-digital-konverter (ADC), en 12-bit digital-til-analog-konverter (DAC), plus sikkerheds- og tryghedsfunktioner (figur 5).
Figur 5: R7FA4W1AD2CNG MCU giver rigelige ressourcer til at bygge en ikke-cloud VUI til applikationer som en smart lyskontakt. (Billedkilde: Renesas)
Et mere omfattende Cyberon DSpotter-bibliotek og en mere kraftfuld kerne er nødvendig for en applikation som en smarthøjttaler. En passende kandidat er R7FA6M4AF3CFM. Denne MCU fra RA6-familien har den kraftigere 200 MHz Arm Cortex-M33-kerne, der understøttes af 1 megabyte (Mbyte) flashhukommelse og 256 Kbyte SRAM. Den har en CAN-bus, Ethernet, I²C, LIN-bus, en kapacitiv berøringsfølsom enhed og mange andre interfacer og periferienheder.
RA4- og RA6-familierne understøttes af evalueringskort, henholdsvis RTK7EKA4W1S00000BJ og RTK7EKA6M4S00001BE, som giver udviklere mulighed for at afprøve MCU'ernes funktioner. Hvert evalueringskort har mål-MCU'en og en indbygget debugger.
Renesas tilbyder også et VUI-løsningssæt til at fremskynde udviklingen. Sættet svarer til evalueringskortene, idet det indeholder målenheden og debuggere. Kortet har også flere I/O-interfacer og fire mikrofoner: to analoge og to digitale.
Adgang til den software, der er nødvendig for udvikling med VUI løsningskit, er tilgængelig på Cyberons hjemmeside. Det inkluderer gratis adgang til Cyberon DSpotter Modeling Tool og indeholder et e2 studio-projekt med et fungerende voice CommandSet (e2 studio er et Eclipse-baseret integreret udviklingsmiljø (IDE) til Renesas MCU'er). Eksemplet på CommandSet kan bruges som en skabelon til at udvikle brugerdefinerede stemmekommandosekvenser. Systemets reaktioner kan derefter overvåges ved hjælp af et terminalvindue. Det tager normalt omkring 15 minutter at oprette den VUI-struktur, der er vist i figur 4.
Mere sofistikeret design af applikationssoftware til Cyberon-pakken understøttes af virksomhedens Renesas Fleksible softwarepakke (FSP) til design af indlejrede systemer ved hjælp af RA-familierne. FSP er baseret på et åbent softwareøkosystem og omfatter Azure RTOS eller FreeRTOS, ældre kode og tredjepartsøkosystemer. Det kan køre i flere IDE'er, herunder e2 studio.
Hvor godt fungerer VUI?
En ting er, at et VUI fungerer godt i et stille laboratorium, men noget helt andet er, at det fungerer nøjagtigt med betydelig baggrundsstøj. Et typisk driftsmiljø for en smarthøjttaler kan omfatte et tv eller en radio, samtale, andre musikkilder og den generelle summen i en husstand eller ved en social sammenkomst. Desuden vil VUI'et skulle håndtere dialekter og mindre end perfekt diktion. På trods af disse udfordringer forventer brugerne en næsten fejlfri ydeevne.
For at forbedre ydeevnen i et vanskeligt lyttemiljø indeholder Cyberon DSpotter-softwaren, der kører på Renesas RA-familien af MCU'er, støjimmunitetsfunktioner, der kræver minimale processorressourcer. For at demonstrere dens effektivitet blev der udført tests med en Cyberon DSpotter VUI, der lyttede til kommandoer, mens den var udsat for forskellige baggrundsstøjkilder på 1,5 og 3 meters (m) afstand og med signal-til-støj-forhold (SNR) på 0, 5 og 10 decibel (dB). I alle tilfælde klarede VUI sig bedre end Amazon Alexa-benchmarket (tabel 1).
|
Tabel 1: Testresultater for kommandosucces for en Cyberon-drevet VUI med forskellige kilder til baggrundsstøj. I alle tilfælde klarede VUI sig bedre end Amazon Alexa-benchmarket. (Billedkilde: Renesas)
Konklusion
VUI'er er hurtigt ved at blive forbrugernes foretrukne kontrolinterface til smarte produkter. En talestyringstilgang, der bruger fonemer som grundlag for kommandoer og en streng kommandostruktur, kan dramatisk reducere hukommelses- og computerkravene, så teknologien kan køre lokalt på små, ressourcebegrænsede MCU'er.
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.




