Hangvezérlés-kezelő létrehozása korlátozott erőforrásokat kínáló mikrovezérlőkön

Contributed By DigiKey's North American Editors

Az okosotthonok lelkét jelentő okoshangszórók és más összekapcsolt elosztóközpontok lehetővé teszik a felhasználók számára az eszközök vezérlését és az internetelérést. Ezen eszközök elterjedésével két tendencia figyelhető meg: a felhasználók a hangvezérlést részesítik előnyben a gombnyomogatással, illetve a bonyolult menürendszerekkel szemben, és a folyamatos felhőkapcsolattal kapcsolatos aggályok miatt egyre több a szorongás a személyes adatok védelmét illetően.

A megbízható és biztonságos hangvezérlés-kezelő (VUI, voice user interface) azonban általában nagy teljesítményű hardvert és összetett szoftvert igényel a hangfelismeréshez. Minden ennél gyengébb megoldás nagy valószínűséggel rossz teljesítményt és nem kielégítő felhasználói élményt eredményez. Emellett sok okoshangszóró és elosztóközpont akkumulátorról üzemel, így a hangvezérlés-kezelőt szűkös energiakeretből kell működtetni. Egy ilyen nagyratörő projekt ijesztő lehet az olyan fejlesztők számára, akiknek nincs tapasztalatuk a hangvezérlés-kezelők terén.

A lapkagyártók erre az igényre egy olyan, fonémákon alapuló eljárás bevezetésével reagálnak, amely jelentősen csökkenti a feldolgozással kapcsolatos követelményeket. Az eredmény egy rendkívül pontos és hatékony hangvezérlés-kezelő szoftver, amely futtatható az ismerős 32 bites mikrovezérlőkön (MCU, microcontroller unit), és amelyet könnyen használható tervezőeszközök támogatnak.

Ez a cikk a hangvezérlés-kezelők jelentette kihívásokat és a hangvezérlés-kezelők felhasználási módjait ismerteti. Ezt követően bemutatja a kereskedelmi forgalomban kapható, könnyen használható, mikrovezérlőn futtatható alkalmazásszoftvereket és az összekapcsolt otthoni készülékekhez való, helyi eszközökön futtatható, fonémákra épülő hangvezérlés-kezelő szoftvereket. A cikk tájékoztatja a fejlesztőket arról, hogyan kezdhetnek hozzá a hangvezérlés-kezelőkkel kapcsolatos projektekhez a Renesas mikrovezérlők, hangvezérlés-kezelő szoftverek és fejlesztőkészletek használatával.

A hangvezérlés-kezelő létrehozása jelentette kihívások

A hangvezérlés-kezelő egy olyan beszédfelismerő technika, amely lehetővé teszi a számítógépek, okostelefonok, lakásautomatizálási rendszerek és más eszközök hangutasításokkal megvalósított vezérlését. A kezdeti műszaki problémák után mára a technika már megbízható hangvezérlés-kezelővé érett, és ma már széles körben használják az okoshangszórókban és az okosotthonokba készült más eszközökben. A hangvezérlés-kezelő legfontosabb előnye a kényelem: azonnali vezérlés hallótávolságon belül bárhonnan, anélkül, hogy billentyűzetet, egeret, gombokat, menüket vagy más kezelőszerveket kellene használni a parancsok beviteléhez (1. ábra).

A mára már széles körben elterjedt hangvezérlés-kezelő technika képe1. ábra: A hangvezérlés-kezelő technika mára már széles körben elterjedt a lakásokban és az okosépületekben, mert kényelmes és rugalmas (ábra: Renesas)

A hangvezérlés-kezelő hátránya a bonyolultsága. A hagyományos technika egy modell hosszadalmas betanításán alapul, ezt meghatározott szavakkal és kifejezésekkel kell elvégezni. A természetes beszéd feldolgozása azonban szórendtől független, ez pedig tekintélyes fejlesztési munkát és jelentős számítási teljesítményt igényel a valós idejű futtatáshoz. Ez lassította a hangvezérlés-kezelők szélesebb körű elterjedését.

Most egy új eljárás olyan mértékben egyszerűsíti a hangvezérlés-kezelő szoftvereket, hogy azok már kis méretű, jó hatásfokú mikrovezérlőkön, például ARM® Cortex®-M lapkákon is futtathatók. Ez az eljárás arra a tényre támaszkodik, hogy mindegyik beszélt nyelvben minden egyes szó eltérő hangokból, úgynevezett fonémákból áll. Fonémából sokkal kevesebb van, mint szóból: az angolnak 44, az olasznak 32, a hagyományos hawaii nyelvnek pedig csak 14 fonémája van. Ha egy hangvezérlés-kezelő egy 200 angol szóból álló parancskészletet használ, akkor minden egyes szót az azt alkotó – az angol nyelv 44 fonémából álló készletébe tartozó – fonémákra lehet bontani.

A hangvezérlés-kezelő szoftverben minden egyes fonéma egy numerikus (számjegyek alkotta) kóddal (ún. tokennel) azonosítható, és a különböző tokenek alkotják a nyelvet. A szavak hangokként való tárolása számottevő számítási erőforrásokat igényel, és sokkal több memóriaterületet foglal el, mint a tokenek formájában tárolt fonémák. A fonémajelek (és így a parancsszavak) elvárt sorrendben történő feldolgozása tovább egyszerűsíti a számítási igényeket, és lehetővé teszi a hangvezérlés-kezelő szoftver helyi futtatását egy egyszerű mikrovezérlőn (2. ábra).

A szavak fonémák használatával történő ábrázolásának képe2. ábra: A szavak fonémák használatával történő ábrázolása kevesebb mikrovezérlő-erőforrást igényel (ábra: Renesas)

Ez annyit tesz, hogy a szoftver fonémák használatával elért hatékonysága lehetővé teszi a feldolgozás helyi eszközökön történő futtatását. A felhőalapú feldolgozás szükségességének kiküszöbölése azt jelenti, hogy nincs szükség adatvédelmi és biztonsági aggályokat felvető folyamatos internetkapcsolatra.

A Renesas az ökoszisztémája részeként bemutatott egy fonémaelvre épülő kereskedelmi hangvezérlés-kezelő szoftvercsomagot. A Cyberon DSpotter nevű szoftver olyan hangvezérlés-kezelő algoritmust hoz létre, amely elég kis méretű ahhoz, hogy a Renesas RA sorozatú mikrovezérlőin fusson, amelyekben ARM Cortex-M4, illetve M33 processzormagok találhatóak.

Fejlesztés a Cyberon DSpotter használatával

A Cyberon DSpotter fonémák és fonémakombinációk könyvtárára épül. Ez egy eltérő megközelítés az algoritmusok egyes szavak felismerésére való hagyományos és számításigényes betanításával szemben. A szavak fonémákra bontásához, majd tokenekként való megjelenítéséhez a fejlesztő használhatja a DSpotter modellezőeszközt.

A DSpotter egy beágyazott (nem felhőalapú) szoftver, amely helyi beszédalapú indítóeszközként és parancsfelismerő megoldásként működik, erőteljes zajcsökkentéssel. Minimális mennyiségű erőforrást fogyaszt, és rendkívül pontos. A kiválasztott mikrovezérlőtől függően a biztonságos adatátvitel is megvalósítható.

A DSpotter bekér minden egyes parancsszót és -kifejezést, amelyeket aztán fonémákra bont. A hangvezérlés-kezelő parancskészlete és a támogató adatok ezután egy bináris fájlba kerülnek, amelyet a fejlesztő a Cyberon könyvtárral együtt beépít a projektbe. A könyvtárat és a bináris fájlt együtt használja a mikrovezérlő a kívánt hangparancsok felismerésének támogatására.

A DSpotter eszköz parancskészleteket (CommandSet) alakít ki, amelyeket a fejlesztő programja logikailag össze tud kapcsolni, hogy több különböző szinttel rendelkező hangvezérlés-kezelőt hozzon létre. Ez lehetővé teszi az olyan többszintű parancsok kiadását, mint például: „Állítsd erősre a világítást”: a parancsszavak a „világítás”, illetve előtte az „állítsd” és az „erősre”. A csoporton belül mindegyik parancsnak saját indexe van, akárcsak az egy szinten belüli egyes parancsoknak (3. ábra).

A parancskészletek létrehozását lehetővé tevő DSpotter eszköz képe3. ábra: A DSpotter eszköz lehetővé teszi parancskészletek (CommandSet) létrehozását, amelyeket a fejlesztő programja logikailag össze tud kapcsolni, hogy több különböző szinttel rendelkező hangvezérlés-kezelőt hozzon létre (ábra: Renesas)

A DSpotter könyvtár feldolgozza a beérkező hangokat, és a parancsoknak megfelelő fonémákat keres az adatbázisban. Ha talál egyezést, akkor az indexet és a csoportszámot adja vissza. Egy ilyen elrendezés lehetővé teszi, hogy a fő alkalmazáskód egy hierarchikus kapcsolóutasítást hozzon létre a parancsszavak vagy -kifejezések feldolgozásához, ahogyan azok beérkeznek. Az így létrejövő könyvtár elég kicsi lehet ahhoz, hogy elférjen egy olyan mikrovezérlőn, amelynek mindössze 256 kB (kilobájt) flashmemóriája és 32 kB SRAM memóriája van. Ha több memória áll rendelkezésre, a parancskészlet bővíthető.

Fontos, hogy a fejlesztő tisztában legyen azzal, hogy a hangvezérlés-kezelőkhöz használt fonémás módszernek vannak korlátai. A mikrovezérlő viszonylag korlátozott erőforrásai miatt a Cyberon DSpotter inkább beszédfelismerő, mintsem hangfelismerő. Ez azt jelenti, hogy a szoftver a természetes beszéd feldolgozására nem képes. Ezért ha a parancsszavak nem valamilyen logikus sorrendet követnek (például az „állítsd”, „erősre”, „világítás” helyett „világítás”, „állítsd”, „erősre” a szavak sorrendje), a rendszer nem fogja felismerni a parancsot, és visszaáll a legfelső szintre.

Az egyik tervezési javaslat az, hogy a hangvezérlés-kezelőt érdemes kiegészíteni valamilyen vizuális visszajelzővel (például egy világítódiódával, azaz LED-del), amely jelzi, ha a processzor azt feltételezi, hogy a parancskészlet legfelső szintjén van, és felszólítja a felhasználót, hogy adja ki újra a parancsot a logikus sorrendben (4. ábra).

A Cyberon DSpotter parancssorrend-követését mutató ábra4. ábra: A Cyberon DSpotter parancssorrend-követése megköveteli, hogy a parancsszavak valamilyen logikus sorrendben következzenek egymás után, különben a hangvezérlés-kezelő nem ismeri fel őket (ábra: Renesas)

Nem felhőalapú hangvezérlés-kezelő futtatása korlátozott erőforrásokkal

A Cyberon DSpotter hatékonysága lehetővé teszi, hogy a Renesas RA2, RA4 és RA6 sorozatú ARM Cortex-M mikrovezérlő termékcsaládjának tagjain fusson. Ezeket a mikrovezérlőket elterjedten használják a fogyasztói, ipari és a dolgok internetére kapcsolt készülékek széles körében. A felsorolt mikrovezérlőket könnyen használható tervezőeszközök támogatják, így viszonylag egyszerűen, különösebb kódolási tapasztalat és házon belüli szakértelem nélkül is létrehozható egy egyszerű hangvezérlés-kezelő.

Az, hogy melyik RA családba tartozó mikrovezérlőt érdemes választani, elsősorban a parancsok összetettségétől és a Cyberon könyvtár méretétől függ. Egy okos villanykapcsolóhoz, amelynek hatékony működéséhez szerény parancskészletre és korlátozott számítási teljesítményre van szükség, használható az RA4 termékcsaládba tartozó R7FA4W1AD2CNG mikrovezérlő. Ez a mikrovezérlő egy akkumulátorbarát 48 MHz-es ARM Cortex-M4 processzormag köré épül, amelyhez 512 kB flashmemória és 96 kB SRAM tartozik. Tartalmaz ezenfelül egy szegmenses LCD-vezérlőt, egy kapacitív érintésérzékelő egységet, Bluetooth LE (Bluetooth Low Energy, kis fogyasztású Bluetooth) vezeték nélküli kapcsolatot, teljes sebességű USB 2.0 aljzatot, egy 14 bites analóg–digitális átalakítót (ADC, analog-to-digital converter), egy 12 bites digitális–analóg átalakítót (DAC, digital-to-analog converter), valamint biztonsági és adatvédelmi funkciókat (5. ábra).

A Renesas R7FA4W1AD2CNG mikrovezérlő blokkvázlata5. ábra: Az R7FA4W1AD2CNG mikrovezérlő elegendő erőforrást kínál olyan eszközökhöz való nem felhőalapú hangvezérlés-kezelő létrehozásához, amilyen például egy okos villanykapcsoló (ábra: Renesas)

Egy olyan készülékhez, amilyen például egy okoshangszóró, nagyobb Cyberon DSpotter-könyvtárra és erősebb processzormagra van szükség. Itt a megfelelő jelölt az R7FA6M4AF3CFM jelű mikrovezérlő. Ez az RA6 termékcsaládba tartozó mikrovezérlő a nagyobb teljesítményű, 200 MHz-es ARM Cortex-M33 processzormaggal van ellátva, amelyet 1 MB flashmemória és 256 kB SRAM egészít ki. CAN sín, Ethernet, I²C, LIN sín, kapacitív érintésérzékelő egység, valamint számos más illesztőfelület és periféria található benne.

Az RA4 termékcsaládot az RTK7EKA4W1S00000BJ, míg az RA6 termékcsaládot az RTK7EKA6M4S00001BE fejlesztőkártya támogatja, hogy a fejlesztők kísérletezhessenek a mikrovezérlők képességeivel. Mindegyik fejlesztőkártyán megtalálható a megfelelő mikrovezérlő és egy beépített hibakereső.

A Renesas a fejlesztés felgyorsításához hangvezérlés-kezelőkhöz való megoldáskészletet is kínál. A készlet annyiban hasonlít a fejlesztőkártyákhoz, hogy tartalmazza a megfelelő mikrovezérlőt és a hibakeresőket. A kártya több be- és kimeneti csatlakozót is tartalmaz, valamint négy mikrofont, amelyek közül kettő analóg, kettő digitális.

A hangvezérlés-kezelő megoldáskészlettel történő fejlesztéshez szükséges szoftverhez a Cyberon webhelyén lehet hozzáférni. Ez tartalmazza a Cyberon DSpotter modellezőeszközhöz való ingyenes hozzáférést, valamint egy e2 studio projektet egy működő hangparancskészlettel (az e2 studio egy Eclipse-alapú, a Renesas mikrovezérlőkhöz használható beépített fejlesztőkörnyezet (IDE)). A parancskészletminta használható sablonként egyéni hangutasítás-sorozatok fejlesztéséhez. A rendszer reakcióit egy terminálablakban lehet nyomon követni. A 4. ábrán látható hangvezérlés-kezelő rendszerfelépítés létrehozása általában körülbelül 15 percet vesz igénybe.

A Cyberon csomaghoz való kifinomultabb alkalmazásszoftverek tervezését a vállalatnak az RA termékcsaládokat használó, beágyazott rendszerekben használ eszközökhöz kifejlesztett Renesas Flexible Software Package (FSP) rugalmas szoftvercsomagja segíti. Az FSP szoftvercsomag egy nyílt szoftveres ökoszisztémán alapul, és része az Azure RTOS vagy a FreeRTOS valós idejű operációs rendszer, valamint régebbi kódok és harmadik fél által készített ökoszisztémák. Több IDE környezetben is futtatható, beleértve az e2 studio IDE-t is.

Milyen jól teljesít a hangvezérlés-kezelő?

Egy dolog, hogy egy hangvezérlés-kezelő egy csendes laboratóriumban jól teljesít, de egészen más dolog, ha jelentős háttérzaj mellett kell pontosan működnie. Egy okoshangszóró jellegzetes működési környezete lehet a tévé vagy a rádió, a beszélgetés, különféle zenei hangforrások, valamint a háztartás vagy egy társasági összejövetel általános hangzavara. Ráadásul a hangvezérlés-kezelőnek meg kell küzdenie a tájszólásokkal, a nyelvjárásokkal és a nem tökéletes kiejtéssel is. Ezen kihívások ellenére a felhasználók szinte hibátlan teljesítményt várnak el.

A zajos hallgatási környezetben nyújtott teljesítmény javítása érdekében a Renesas RA mikrovezérlő termékcsalád tagjain futó Cyberon DSpotter szoftver minimális processzor-erőforrásokat igénylő zajvédelmi funkciókat is tartalmaz. A hatékonyság bizonyítására a Cyberon DSpotter hangvezérlés-kezelővel különféle teszteket végeztek, amelyek során különböző háttérzajforrásoknak kitéve 1,5 és 3 méter távolságból, 0, 5 és 10 dB jel–zaj arány (SNR, signal-to-noise ratio) mellett kellett felismernie a parancsokat. A hangvezérlés-kezelő minden esetben felülmúlta az Amazon Alexa követelményeit (1. táblázat).

Jel–zaj viszony Háttérzaj Távolság Találati arány Az Alexa követelményei
(Tiszta) nincs 1,5 m 100,00% 90%
(Tiszta) nincs 3 m 100,00% 90%
10 dB Csacsogás 1,5 m 98,55% 80%
10 dB Csacsogás 3 m 98,84% 80%
10 dB Zene 1,5 m 98,26% 80%
10 dB Zene 3 m 98,55% 80%
10 dB TV 1,5 m 98,84% 80%
10 dB TV 3 m 98,55% 80%
5 dB Csacsogás 1,5 m 98,84% 80%
5 dB Csacsogás 3 m 96,24% 80%
5 dB Zene 1,5 m 98,84% 80%
5 dB Zene 3 m 97,08% 80%
5 dB TV 1,5 m 93,37% 80%
5 dB TV 3 m 90,72% 80%

1. táblázat: A parancsfelismerés sikerességi tesztjének eredményei egy Cyberon-alapú hangvezérlés-kezelő esetében, különböző háttérzajforrások mellett. A hangvezérlés-kezelő minden esetben felülmúlta az Amazon Alexa követelményeit (táblázat: Renesas)

Összegzés

A hangvezérlés-kezelők gyorsan válnak az okoseszközök fogyasztók által előnyben részesített vezérlési megoldásává. A parancsok alapjául fonémákat használó hangvezérlési módszer és a parancsszavak sorrendjének szigorú betartása drámaian csökkentheti a memória- és számítási igényeket, lehetővé téve a technika helyileg történő futtatását kis, korlátozott erőforrásokat kínáló mikrovezérlőkön.

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