Jste zde

Hlasové ovládání: Jde to i bez cloudu a na méně výkonných MCU

Hlasové ovládání je často spojováno s nutností použití výkonného MCU a nepřetržitého připojení ke cloudovým službám. Metoda založená na fenoménech umožňuje integrovat hlasové ovládání do méně výkonných MCU jako je řada RA od Renesasu.

Někteří uživatelé upřednostňují hlasové ovládání před stisky tlačítek. Kvůli obavám o své soukromí se ale vyhýbají komplikovaným systémům, které využívají nepřetržité připojení ke cloudovým službám. Robustní a bezpečné hlasové uživatelské rozhraní (VUI – Voice User Interface) obvykle vyžaduje výkonný hardware a komplexní software pro rozpoznávání hlasu. Mnoho chytrých zařízení, které se mají ovládat hlasem, je napájeno baterií. To znamená, že VUI musí být dosaženo v rámci omezené energie. Výrobci čipů reagují zavedením techniky založené na fonémech, které výrazně snižuje nároky na zpracování. Foném je nejmenší součást zvukové stránky řeči, která má v konkrétním jazyce rozlišovací funkci. Každý jazyk má vlastní sadu fonémů.

K tomu existuje vysoce přesný a efektivní software VUI, který je schopen běžet na známých 32bitových mikrokontrolerech a je podporován snadno použitelnými návrhářskými nástroji. Tento článek popisuje nástrahy vývoje VUI a představí aplikační software MCU a software VUI využívající fonémy pro domácí aplikace. Na konci článku je praktický příklad projektů VUI s využitím mikrokontrolerů Renesas včetně využití vývojových sad.

Ovládání hlasem neboli Voice User Interface (VUI)

VUI je technologie rozpoznávání řeči, která umožňuje interakci s počítačem, chytrým telefonem, systémem domácí automatizace nebo jiným zařízením pomocí hlasových příkazů. Hlavní výhodou VUI je pohodlí uživatele. Okamžité ovládání odkudkoli v dosahu hlasu bez nutnosti používat klávesnici, myš, tlačítka nebo jiná rozhraní (obrázek 1).

Obrázek 1: Technologie VUI se prosazuje v domácnostech a inteligentních budovách, protože je pohodlná a flexibilní. (Zdroj obrázku: Renesas)

Nevýhodou VUI je jeho složitost. Starší metoda byla založena na zdlouhavém tréninku modelu s konkrétními slovy nebo frázemi. Zpracování přirozeného jazyka je ale nezávislé na pořadí slov, a to vyžaduje značnou vývojovou práci a značný výpočetní výkon, aby bylo možné pracovat v reálném čase. To zpomalilo rozšíření VUI do běžného života. Nová technika nyní zjednodušuje software VUI do té míry, že může běžet na malých mikrokontrolerech jako jsou například Arm Cortex-M. Tato technika se opírá o skutečnost, že všechna slova v každém mluveném jazyce jsou tvořena lingvistickými zvuky nazývanými fonémy. Fonémů je mnohem méně než slov. Angličtina má 44 fonémů, italština 32, čeština 27 a tradiční havajský jazyk jen 14. Pokud VUI používá sadu anglických příkazů o 200 slovech, každé slovo lze rozdělit na přidružené fonémy.

V rámci softwaru VUI je pak každý foném identifikován číselným kódem (neboli „tokenem“), přičemž í různé tokeny utvářejí jazyk. Ukládání slov jako zvuků vyžaduje rozsáhlý výpočetní výkon a zabírá mnohem více místa v paměti než fonémy uložené jako tokeny. Zpracování tokenů (a tedy příkazových slov) v očekávaném pořadí dále zjednodušuje výpočet a umožňuje spouštět software VUI lokálně na méně výkonném mikrokontroleru (obrázek 2).

Obrázek 2: Reprezentace slov pomocí fonémů lze zpracovávat pomocí méně výkonných mikrokontrolerů. (Zdroj obrázku: Renesas)

To znamená, že softwarová efektivita dosažená použitím fonémů umožňuje zpracování lokálně. Odstranění cloudového zpracování znamená, že není nutné mít nepřetržité připojení k internetu, a tím pádem se odstraní obava uživatelů o soukromí. Renesas nabízí softwarový balík VUI založený na principu fonémů jako součást svého ekosystému. Software nazvaný Cyberon DSpotter vytváří algoritmus VUI, který je dostatečně efektivní, aby mohl běžet na MCU řady Renesas RA s jádry Arm Cortex-M4 a M33.

Vývoj s Cyberon DSpotter

Cyberon DSpotter je postaven na knihovně fonémů a kombinací fonémů. Jedná se o alternativní přístup k tradičnímu a výpočetně náročnému trénování algoritmů pro rozpoznávání konkrétních slov. K rozdělení slov na fonémy a jejich následné reprezentaci jako tokenů může vývojář použít DSpotter Modeling Tool. DSpotter je vestavěný (non-cloud) software, který funguje jako lokální hlasový trigger a řešení pro rozpoznávání příkazů s robustní redukcí šumu. Ke své činnosti nepotřebuje vysoký výkon a navíc je vysoce přesný. V závislosti na zvoleném mikrokontroleru lze implementovat i bezpečný přenos dat. DSpotter se zeptá na každé příkazové slovo nebo frázi, které nástroj rozloží na fonémy. Sada příkazů a podpůrná data pro VUI jsou poté zabudovány do binárního souboru, který se pak zahrne do projektu spolu s knihovnou Cyberon. Knihovna a binární soubor se na MCU používají společně a výsledkem je dokonalé rozpoznávání požadovaných hlasových příkazů.

Nástroj DSpotter vytváří „CommandSets“, které lze logicky propojit s aplikačním programem a vytvořit VUI s různými úrovněmi. To umožňuje víceúrovňové příkazy, jako například: „I’d like the lightbulb set to high, please“. Příkazová slova jsou „lightbulb“, následovaná slovem „set “ a „high“. Každý příkaz ve skupině má svůj vlastní index, stejně jako každý příkaz v rámci úrovně (obrázek 3).

Obrázek 3: Nástroj DSpotter umožňuje vytváření „CommandSets“, které lze logicky propojit s aplikačním programem a vytvořit tak VUI s různými úrovněmi. (Zdroj obrázku: Renesas)

Knihovna DSpotter zpracovává příchozí zvuk a hledá fonémy, které odpovídají příkazům v databázi. Když najde shodu, vrátí index a číslo skupiny. Takové uspořádání umožňuje hlavnímu aplikačnímu kódu vytvořit hierarchii pro zpracování příkazových slov/frází tak, jak přicházejí. Výsledná knihovna je dostatečně malá, aby se vešla na MCU s pouhými 256 Kbytes flash paměti a 32 kB SRAM. „CommandSet“ může růst, pokud je k dispozici více paměti.

Je důležité si uvědomit, že fonémová metoda pro VUI má své omezení. Kvůli relativně malému výkonu MCU je Cyberon DSpotter rozpoznávání řeči než rozpoznávání hlasu. To znamená, že software nemůže provádět zpracování přirozeného jazyka. Pokud tedy příkazová slova nesledují logickou posloupnost „High“, „Lightbulb“, „set“ místo „Lightbulb“, „set“, „High“, systém nerozpozná příkaz a vrátí se zpět na nejvyšší úroveň. Do VUI se často přidává vizuální indikátor (například LED), který signalizuje, kdy procesor předpokládá, že je na nejvyšší úrovni CommandSet, a vyzve uživatele, aby znovu zadal příkaz v logické sekvenci (obrázek 4).

Obrázek 4: Cyberon DSpotter vyžaduje, aby příkazy následovaly logicky po sobě jinak nebude příkaz rozpoznán. (Zdroj obrázku: Renesas)

VUI na rodině mikrokontroleru RA

Cyberon DSpotter je schopen běžet na mikrokontrolerech Renesas rodiny RA2, RA4 a RA6 Arm Cortex-M MCU. K těmto MCU jsou k dispozici vývojové nástroje, díky nimž je relativně snadné sestavit jednoduché VUI bez rozsáhlých zkušeností s kódováním. Výběr konkrétního MCU z rodiny RA závisí především na složitosti příkazů a velikosti knihovny Cyberon.

Inteligentní spínač světel reagující jen na několik příkazů může být postaven na R7FA4W1AD2CNG z rodiny RA4. Tento MCU má jádro Arm Cortex-M4 pracující na frekvencí 48 MHz a obsahuje 512 Kbytes flash paměti a 96 Kbytes SRAM. Součástí procesoru je také segmentový LCD driver, kapacitní dotyková jednotka, bezdrátová konektivita Bluetooth Low Energy, USB 2.0 Full-Speed, 14bitový ADC, 12bitový DAC a mnoho bezpečnostní funkce (obrázek 5).

Obrázek 5: MCU R7FA4W1AD2CNG poskytuje dostatek zdrojů pro vytvoření necloudového VUI pro aplikace jako je například inteligentní spínač světel. (Zdroj obrázku: Renesas)

Pro aplikaci jako je chytrý reproduktor je potřeba rozsáhlejší knihovna Cyberon DSpotter a výkonnější MCU. Vhodným kandidátem je tak R7FA6M4AF3CFM z rodiny RA6 který obsahuje výkonnější 200 MHz jádro Arm Cortex-M33 podporované 1 Mbyte flash paměti a 256 kB SRAM. Obsahuje CAN sběrnici, Ethernet, I²C, LIN sběrnici, kapacitní dotykovou jednotku a mnoho dalších rozhraní a periferií. Rodiny RA4 a RA6 jsou podporovány vývojovými deskami RTK7EKA4W1S00000BJ a RTK7EKA6M4S00001BE s vlastním integrovaným debuggerem. Renesas také nabízí vývojové sady VUI, které navíc obsahují několik I/O rozhraní a má čtyři mikrofony: dva analogové a dva digitální.

Software potřebný pro vývoj VUI je k dispozici na webových stránkách Cyberon. Zde je k dispozici Cyberon DSpotter Modeling Tool, který představuje projekt e2studio s funkční hlasovou sadou CommandSet (e2studio je integrované vývojové prostředí (IDE) založené na Eclipse pro MCU Renesas). Příklad CommandSet lze použít jako šablonu pro vývoj vlastních sekvencí hlasových příkazů. Reakce systému pak lze sledovat pomocí okna terminálu. Vytvoření struktury VUI znázorněné na obrázku 4 obvykle trvá asi 15 minut. Sofistikovanější návrh aplikačního software nabízí přímo Renesas a to Flexible Software Package (FSP). FSP je založeno na otevřeném softwarovém ekosystému a zahrnuje Azure RTOS nebo FreeRTOS. Může běžet v několika IDE, včetně e2studio.

Jaká je spolehlivost VUI?

Je obrovský rozdíl, kdy hlasové ovládání je použito v tiché laboratorní místnosti a v běžném prostředí, kde je značný šum na pozadí. Typické prostředí pro chytrý reproduktor je obývací místnost, kde na pozadí je slyšet televize, rádio, konverzace ostatních lidí. Navíc se VUI bude muset potýkat s dialekty a méně než dokonalou výslovností. Pro zlepšení výkonu v obtížném poslechovém prostředí obsahuje software Cyberon DSpotter funkce proti šumu. Za účelem prokázání spolehlivosti, byly provedeny testy s Cyberon DSpotter VUI naslouchajícím příkazům při vystavení různým zdrojům šumu na pozadí ve vzdálenosti 1,5 a 3 m a s poměrem signálu k šumu (SNR) 0, 5 a 10 dB. Ve všech případech VUI překonalo benchmark Amazon Alexa (tabulka 1).

Tabulka 1: Výsledky testu spolehlivosti rozpoznání příkazů pro VUI s různými zdroji šumu na pozadí. Ve všech případech VUI překonalo benchmark Amazon Alexa. (Zdroj obrázku: Renesas)

Závěr

Hlasové ovládání VUI si někteří uživatelé oblíbili natolik, že je integrováno do domácí automatizace či chytrého reproduktoru. Metoda založená na fonémech umožňuje, aby mohla být implementována lokálně na malých MCU s omezenými prostředky.

Článek vyšel v originále na webu DigiKey.com

Hodnocení článku: