Ääniohjauksen toteutus mikrokontrollerien rajallisilla resursseilla
Julkaisija DigiKeyn kirjoittajat Pohjois-Amerikassa
2023-12-14
Älykaiuttimet ja muut verkkoon kytketyt hubit muodostavat älykodin sydämen. Käyttäjät voivat niiden avulla ohjata laitteita ja käyttää internetiä. Näiden laitteiden yleistymisessä on havaittavissa kaksi selkeää trendiä: ääniohjaus on käyttäjille miellyttävämpi vaihtoehto kuin painikkeet ja monimutkaiset valikot, ja jatkuvan pilvipalveluyhteyden tietosuojakysymykset herättävät entistä enemmän huolta.
Tehokas ja tietoturvallinen äänipohjainen käyttöliittymä (Voice User Interface, VUI) vaatii tyypillisesti tehokkaan laitteiston ja monimutkaisen ohjelmiston. Ilman niitä seurauksena ovat todennäköisesti huono suorituskyky ja tyytymättömät asiakkaat. Lisäksi monet älykaiuttimet ja hubit ovat akkukäyttöisiä, joten VUI-toteutuksen pitää toimia tiukalla tehobudjetilla. Tällainen kunnianhimoinen projekti voi olla vaativa tehtävä kehittäjälle, jolla ei ole paljon kokemusta äänikäyttöliittymistä.
Piirivalmistajat vastaavat tähän tarpeeseen foneemipohjaisella tekniikalla, joka vähentää huomattavasti suorituskykyvaatimuksia. Tuloksena on tutuilla 32-bittisillä mikrokontrollereilla (Microcontroller Unit, MCU) toimiva erittäin tarkka ja tehokas VUI-ohjelmisto, jonka kanssa voidaan käyttää helppokäyttöisiä kehitystyökaluja.
Tässä artikkelissa käsitellään VUI-toteutuksen suunnitteluhaasteita ja käyttötapauksia. Sen jälkeen artikkelissa esitellään verkkoon kytkettyihin älykotisovelluksiin sopivia helppokäyttöisiä kaupallisia MCU-sovelluksia ja paikallisia foneemipohjaisia VUI-ohjelmistoja. Artikkelin päätteeksi käsitellään tapoja, joilla kehittäjät voivat aloittaa VUI-projektinsa Renesasin mikrokontrollereilla, VUI-ohjelmistolla ja arviointisarjoilla.
VUI-teknologian kehityshaasteet
VUI on puheentunnistusteknologia, joka mahdollistaa vuorovaikutuksen tietokoneen, älypuhelimen, kodin automaatiojärjestelmän tai muun äänikomentoja käyttävän laitteen kanssa. Alkupuolen suunnitteluhaasteiden ratkettua teknologia on kehittynyt luotettavaksi ohjausrajapinnaksi, jota käytetään yleisesti älykaiuttimissa ja muissa älykotilaitteissa. VUI-teknologian keskeisin etu on sen kätevyys: välitön ohjaus missä tahansa kuulokantaman alueella ilman tarvetta syöttää komentoja näppäimistön, hiiren, painikkeiden, valikkojen tai muiden manuaalisten käyttöliittymien kautta (kuva 1).
Kuva 1: VUI-teknologiaa käytetään yleisesti kodeissa ja älyrakennuksissa, koska se on kätevä ja monipuolinen vaihtoehto. (Kuvan lähde: Renesas)
VUI-teknologian haittapuoli on sen kompleksisuus. Perinteinen teknologia perustuu tunnistusmallin koulutukseen tietyillä sanoilla ja fraaseilla. Tämä kestää hyvän aikaa. Luonnollisen kielen käsittely ei kuitenkaan riipu sanajärjestyksestä, joten sen reaaliaikainen käyttö vaatii huomattavan paljon kehitystyötä ja laskentatehoa. Tämä on hidastanut VUI-käyttöliittymien laajempaa käyttöönottoa.
Nyt saatavilla on uusi tekniikka, joka yksinkertaistaa VUI-ohjelmistoja niin, että niitä voi käyttää pienillä ja virrankulutukseltaan tehokkailla mikrokontrollereilla, kuten Arm® Cortex®-M ‑laitteilla. Tämä tekniikka pohjautuu siihen, että puhutun kielen sanat koostuvat foneemeiksi kutsutuista kielellisistä yksiköistä. Foneemeja on vähemmän kuin sanoja: englannin kielessä niitä on 44, italian kielessä 32 ja havaijin kielessä vain 14. Jos esimerkiksi VUI-toteutuksen englanninkieliseen komentojoukkoon kuuluu 200 sanaa, kukin niistä voidaan jakaa foneemeihin, joiden joukko koostuu 44 foneemista.
Kullakin foneemilla voi olla VUI-ohjelmistossa numerokoodi eli tunnus, joista puhuttu kieli muodostuu. Sanojen tallentaminen äänimuodossa vaatii huomattavasti enemmän laskentatehoa ja tallennustilaa verrattuna tunnuksina tallennettuihin foneemeihin. Foneemitunnusten (ja näin ollen komentosanojen) käsittely määritetyssä järjestyksessä yksinkertaistaa laskentaa entisestään sekä mahdollistaa VUI-ohjelmiston suorittamisen paikallisesti teholtaan vaatimattomalla mikrokontrollerilla (kuva 2).
Kuva 2: Sanojen ilmaiseminen foneemeina vaatii vähemmän mikrokontrollerin resursseja. (Kuvan lähde: Renesas)
Toisin sanoen foneemipohjainen käsittely tehostaa ohjelmistoa riittävästi, jotta sitä voidaan käyttää paikallisesti. Koska pilvitietojenkäsittelyä ei tarvita, myöskään jatkuva internetyhteys ei ole pakollinen, mikä parantaa osaltaan käyttäjien tietosuojaa ja tietoturvaa.
Renesas on lanseerannut osaksi ekosysteemiään kaupallisen foneemipohjaisen VUI-ohjelmistopaketin. Tämä Cyberon DSpotter ‑niminen ohjelmisto luo VUI-algoritmin, jonka keveys mahdollistaa sen suorittamisen Renesas RA ‑sarjan mikrokontrollereilla, joissa on Arm Cortex-M4- ja M33-ytimet.
Kehitystyö Cyberon DSpotterilla
Cyberon DSpotter pohjautuu foneemien ja foneemiyhdistelmien kirjastoon. Tämä lähestymistapa tarjoaa vaihtoehdon perinteiselle paljon laskentatehoa vaativalle koulutukselle, jossa algoritmeja opetetaan tunnistamaan sanoja. Kehittäjä voi käyttää DSpotter Modeling Tool ‑työkalua sanojen jakamiseksi foneemeihin ja niiden esittämiseen tunnuksina.
DSpotter on paikallisena äänikomentojen tunnistustyökaluna käytettävä upotettu (ei-pilvipohjainen) ohjelmisto, jossa on tehokas kohinan vaimennus. Se tarjoaa korkean tarkkuuden minimaalisilla resursseilla. Valitusta mikrokontrollerista riippuen voidaan toteuttaa myös suojattu tiedonsiirto.
DSpotter pyytää syöttämään komentosanat ja -fraasit, jotka se sitten jakaa foneemeihin. VUI-komennot ja tukitiedot koostetaan binääritiedostoksi, jonka kehittäjä sisällyttää projektiin Cyberon-kirjaston ohella. Kirjastoa ja binääritiedostoa käytetään yhdessä haluttujen puhekomentojen tunnistamiseen mikrokontrollerilla.
DSpotter luo CommandSet-komentojoukkoja, jotka kehittäjän luoma ohjelma yhdistää VUI-toteutuksessa loogisiksi monitasoisiksi kokonaisuuksiksi. Tämä mahdollistaa monitasoiset komennot, kuten ”Säädä valo kirkkaaksi”, missä komentosanat ovat ”säädä”, ”valo” ja ”kirkkaaksi”. Ryhmän kullakin komennolla on oma indeksinsä, kuten myös tason kullakin komennolla (kuva 3).
Kuva 3: DSpotter-työkalulla voi luoda CommandSet-komentojoukkoja, jotka kehittäjän luoma ohjelma yhdistää VUI-toteutuksessa loogisiksi monitasoisiksi kokonaisuuksiksi. (Kuvan lähde: Renesas)
DSpotter-kirjasto käsittelee saapuvat äänet ja hakee foneemeja, jotka vastaavat tietokannasta löytyviä komentoja. Kun se löytää sellaisen, se palauttaa komennon indeksi- ja ryhmänumeron. Tämän ansiosta pääsovelluskoodi voi luoda hierarkkisen päättelyrakenteen, jonka avulla komentosanoja ja komentolauseita käsitellään sitä mukaa kun niitä otetaan vastaan. Tuloksena saatava kirjasto voi olla riittävän pieni mikrokontrollerille, jossa on vain 256 kilotavua (kt) Flash-muistia ja 32 kilotavua SRAM-muistia. CommandSet-joukkoa voidaan kasvattaa, jos muistia on käytettävissä enemmän.
Kehittäjän on tärkeää huomioida, että VUI-teknologian foneemimenetelmään liittyy erilaisia rajoitteita. Mikrokontrollerin suhteellisen rajoittuneiden resurssien vuoksi Cyberon DSpotter on puheentunnistus- eikä äänentunnistusohjelmisto. Näin ollen ohjelmisto ei pysty käsittelemään luonnollista kieltä. Toisin sanoen jos komentosanoja ei sanota loogisessa järjestyksessä (esim. ”kirkkaaksi”, ”valo”, ”säädä” eikä ”säädä”, ”valo”, ”kirkkaaksi”), järjestelmä ei pysty tunnistamaan komentoa ja palaa ylätasolle.
Yksi ratkaisu on lisätä VUI-toteutukseen visuaalinen ilmaisin (esimerkiksi LED-valo), joka näyttää, kun suoritin tulkitsee puheen CommandSet-joukon ylätasoksi, jolloin käyttäjä voi antaa komentonsa uudelleen loogisessa järjestyksessä (kuva 4).
Kuva 4: Cyberon DSpotterin prosessointi on suoraviivaista ja vaatii komentojen antamista loogisessa järjestyksessä, muutoin niitä ei tunnisteta. (Kuvan lähde: Renesas)
Ei-pilvipohjaisen VUI-toteutuksen suorittaminen rajallisilla resursseilla
Cyberon DSpotterin tehokkuus mahdollistaa sen suorittamisen Renesasin Arm Cortex-M ‑MCU-tuoteperheillä RA2, RA4 ja RA6. Nämä ovat suosittuja laitteita erilaisissa kuluttaja-, teollisuus- ja IoT-sovelluksissa. Niiden kanssa voidaan käyttää helppokäyttöisiä suunnittelutyökaluja, joilla yksinkertaisen VUI-toteutuksen kehittäminen ilman isompaa koodauskokemusta tai talonsisäistä asiantuntemusta on suhteellisen suoraviivaista.
Sopivan RA-tuoteperheen mikrokontrollerin valinta riippuu pääasiassa komentojen monimutkaisuudesta ja Cyberon-kirjaston koosta. Älyvalokytkin tarvitsee vain rajallisen komentosarjan ja vaatimattomat tietojenkäsittelyresurssit, joten sen voi toteuttaa RA4-sarjan R7FA4W1AD2CNG-mikrokontrollerilla. Siinä on paristoja vähän kuluttava 48 MHz:n Arm Cortex-M4 ‑ydin, 512 kilotavua Flash-muistia ja 96 kilotavua SRAM-muistia. Sen ominaisuuksiin kuuluvat LCD-segmenttinäytön ohjain, kapasitiivinen kosketusyksikkö, langaton Bluetooth Low Energy (Bluetooth LE) ‑yhteys, täyden nopeuden USB 2.0, 14-bittinen analogi-digitaalimuunnin (Analog-to-Digital Converter, ADC), 12-bittinen digitaali-analogimuunnin (Digital-to-Analog Converter, DAC) sekä tietoturva- ja suojausominaisuudet (kuva 5).
Kuva 5: R7FA4W1AD2CNG-mikrokontrollerissa on runsaasti ominaisuuksia ei-pilvipohjaisen VUI-toteutuksen rakentamiseksi esimerkiksi älyvalokytkintä varten. (Kuvan lähde: Renesas)
Kehittyneempiä sovelluksia, kuten älykaiutinta, varten tarvitaan laajempi Cyberon DSpotter ‑kirjasto ja tehokkaampi suoritin. R7FA6M4AF3CFM on sopiva ehdokas tähän tarkoitukseen. Tässä RA6-tuoteperheen mikrokontrollerissa on tehokkaampi 200 MHz:n Arm Cortex-M33 ‑ydin, 1 megatavu (Mt) Flash-muistia ja 256 kilotavua SRAM-muistia. Siinä on myös CAN-väylä, Ethernet, I²C, LIN-väylä, kapasitiivinen kosketusyksikkö sekä monia muita rajapintoja ja lisälaitteita.
RA4- ja RA6-tuoteperheiden kanssa voidaan käyttää evaluointikortteja RTK7EKA4W1S00000BJ ja RTK7EKA6M4S00001BE, joiden avulla kehittäjät voivat kokeilla mikrokontrollerin ominaisuuksia. Kussakin evaluointikortissa on kohdemikrokontrolleri ja integroitu debuggeri.
Renesas tarjoaa myös VUI-ratkaisusarjaa tuotekehityksen nopeuttamiseksi. Sarja muistuttaa evaluointikortteja sikäli, että se sisältää kohdelaitteen ja debuggerit. Kortissa on myös useita I/O-rajapintoja ja neljä mikrofonia: kaksi analogista ja kaksi digitaalista.
VUI-ratkaisun kehitykseen tarvittava ohjelmisto on saatavilla Cyberonin verkkosivustolla. Siihen sisältyy Cyberon DSpotter Modeling Tool, e2 studio ‑projekti ja toimiva CommandSet-joukko (e2 studio on Eclipse-pohjainen integroitu kehitysympäristö [Integrated Development Environment, IDE] Renesas-mikrokontrollereille). Esimerkin CommandSet-joukkoa voidaan käyttää mallina räätälöityjen äänikomentosarjojen kehitykseen. Järjestelmän reaktioita voidaan seurata pääteikkunan kautta. Kuvassa 4 näytetyn VUI-rakenteen luominen kestää yleensä noin 15 minuuttia.
Cyberon-pakettiin pohjautuvia edistyneempiä sovelluksia voidaan kehittää yrityksen Renesas Flexible Software Package (FSP) ‑paketilla, jolla voidaan suunnitella RA-pohjaisia upotettuja järjestelmiä. Avoimen lähdekoodin ekosysteemiin pohjautuvaan FSP-pakettiin kuuluu Azure RTOS- ja FreeRTOS-tuki sekä tuki vanhemmille koodiratkaisuille ja kolmansien osapuolten ekosysteemeille. Sitä voidaan käyttää useissa IDE-kehitysympäristöissä, mukaan lukien e2 studio.
Kuinka hyvin VUI toimii?
Vaikka VUI toimisi hyvin hiljaisessa laboratoriossa, on täysin eri asia saada se toimimaan tarkasti taustametelin keskellä. Tyypillisessä älykaiuttimen käyttöympäristössä voi olla TV, radio, keskustelua, musiikkilähteitä ja muuta kodin tai sosiaalisen tilaisuuden hälinää. Lisäksi VUI-toteutuksen pitää selvitä murteista ja vähemmän selvästä ääntämisestä. Näistä haasteista huolimatta käyttäjät odottavat lähes virheetöntä suorituskykyä.
Suorituskyvyn parantamiseksi haastavassa kuunteluympäristössä Renesas RA ‑tuoteperheen mikrokontrollereilla käytettävään Cyberon DSpotter ‑ohjelmistoon sisältyy minimaalisilla suoritinresursseilla toimivia kohinanvaimennusominaisuuksia. Cyberon DSpotter VUI -toteutuksen tehokkuutta testattiin siten, että sillä kuunneltiin komentoja 1,5 ja 3 metrin etäisyyksillä erilaisista melulähteistä 0, 5 ja 10 desibelin (dB) signaali-kohinasuhteilla (Signal-to-Noise Ratio, SNR). VUI suoriutui kaikissa tapauksissa paremmin kuin vertailukohteena käytetty Amazon Alexa (taulukko 1).
|
Taulukko 1: Komentojen testitulokset Cyberon-käyttöisellä VUI-toteutuksella eri taustamelutyypeillä. VUI suoriutui kaikissa tapauksissa paremmin kuin vertailukohteena käytetty Amazon Alexa. (Kuvan lähde: Renesas)
Yhteenveto
VUI-teknologiasta on tulossa nopeasti suosituin tapa tarjota käyttäjille ohjausrajapinta älytuotteisiin. Foneemipohjainen puheohjaus ja tarkka komentorakenne voivat vähentää merkittävästi muisti- ja laskentatehovaatimuksia. Tämän ansiosta tätä teknologiaa voidaan käyttää paikallisesti pienillä mikrokontrollereilla, joiden resurssit ovat rajalliset.
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.




