Jak implementovat hlasové uživatelské rozhraní na mikrokontrolérech s omezenými prostředky
Contributed By DigiKey's North American Editors
2023-12-14
Chytré reproduktory a další připojené rozbočovače tvoří srdce chytré domácnosti a umožňují uživatelům ovládat zařízení a přistupovat k internetu. S nárůstem počtu těchto zařízení jsou patrné dva trendy: uživatelé upřednostňují hlasové ovládání před používáním tlačítek nebo komplikovanými systémy nabídek, a kvůli obavám o soukromí také stoupá nespokojenost s trvalým cloudovým připojením.
Robustní a bezpečné hlasové uživatelské rozhraní (VUI) však obvykle vyžaduje výkonný hardware a složitý software na rozpoznávání hlasu. Jakékoli horší řešení bude mít pravděpodobně za následek nevyhovující výkon a neuspokojivé uživatelské zkušenosti. Mnoho chytrých reproduktorů a rozbočovačů je také napájeno z baterie, a rozhraní VUI proto musí být realizováno s omezeným rozpočtem za energii. Takový ambiciózní projekt může být odrazující pro vývojáře, kteří nemají zkušenosti s hlasovými rozhraními.
Výrobci čipů reagují zavedením metody na bázi fonémů, která výrazně snižuje nároky na zpracování. Výsledkem je vysoce přesný a efektivní software pro rozhraní VUI, který je schopný chodu na známých 32bitových mikrokontrolérech (MCU) a je podporovaný snadno použitelnými vývojovými nástroji.
Tento článek popisuje problematiku a případy použití rozhraní VUI. Poté představuje komerční, snadno použitelný aplikační software MCU a software rozhraní VUI založený na lokálních fonémech pro připojené domácí aplikace. Na závěr článek ukazuje vývojářům, jak začít s projekty rozhraní VUI s použitím mikrokontrolérů, VUI softwaru a vyhodnocovacích souprav od společnosti Renesas.
Problematika tvorby rozhraní VUI
Rozhraní VUI je technologie rozpoznávání řeči umožňující interakci s počítačem, chytrým telefonem, systémem inteligentních budov nebo jiným zařízením pomocí hlasových příkazů. Po překonání počátečních technických problémů tato technologie dozrála ve spolehlivé ovládací rozhraní a nyní je široce používána v chytrých reproduktorech a dalších inteligentních domácích zařízeních. Hlavní výhodou rozhraní VUI je pohodlí: okamžité ovládání odkudkoli v dosahu hlasu bez nutnosti používat klávesnici, myš, tlačítka, nabídky nebo jiná rozhraní pro zadávání příkazů (obrázek 1).
Obrázek 1: technologie hlasového uživatelského rozhraní (VUI) byla široce přijata v domácnostech a v chytrých budovách díky jejímu pohodlí a flexibilitě. (Zdroj obrázku: Renesas)
Nevýhodou rozhraní VUI je složitost. Konvenční technologie je založena na zdlouhavém tréninku modelu s konkrétními slovy nebo frázemi. Zpracování přirozeného jazyka je však nezávislé na slovosledu, což vyžaduje značnou vývojovou práci a výpočetní výkon, aby bylo možné pracovat v reálném čase. Tato skutečnost širší přijetí rozhraní VUI zpomalila.
Nová technika nyní software rozhraní VUI zjednodušuje do té míry, že je schopný provozu na malých, efektivních mikrokontrolérech (MCU), ke kterým patří 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 jich má 44, italština 32 a tradiční havajština jen 14. Pokud rozhraní VUI používá anglickou sadu příkazů o 200 slovech, každé slovo lze rozdělit na související fonémy z počtu 44.
V softwaru VUI by pak každý foném mohl být identifikován číselným kódem (nebo „tokenem“), přičemž jazyk tvoří různé tokeny. Ukládání slov jako zvuků vyžaduje rozsáhlé výpočetní prostředky a zabírá mnohem více místa v paměti než fonémy uložené jako tokeny. Zpracování fonémových 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 nenáročné jednotce MCU (obrázek 2).
Obrázek 2: reprezentace slov pomocí fonémů vyžaduje méně prostředků mikrokontrolérů. (Zdroj obrázku: Renesas)
Znamená to, že díky softwarové efektivitě dosažené používáním fonémů lze jejich zpracování provádět lokálně. Odstranění potřeby cloudového zpracování znamená, že neexistuje žádný požadavek na trvalé připojení k internetu, které zakládá obavy o soukromí uživatelů a bezpečnost dat.
Společnost Renesas představila jako součást svého ekosystému komerční softwarový balík VUI založený na principu fonémů. Software s názvem Cyberon DSpotter vytvoří algoritmus VUI, který je dostatečně efektivní, aby mohl být spouštěn na jednotkách MCU řady RA od společnosti Renesas s jádry Arm Cortex-M4 a M33.
Vývoj pomocí nástroje Cyberon DSpotter
Nástroj Cyberon DSpotter je postaven na knihovně fonémů a jejich kombinacích. Jedná se o alternativní přístup k tradičnímu a výpočetně náročnému trénování algoritmů na 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 nástroj DSpotter Modeling Tool.
Nástroj DSpotter je vestavěný (necloudový) software pracující jako lokální řešení hlasového spouštění a rozpoznávání příkazů s robustní redukcí šumu. Tento software má minimální nároky na prostředky a nabízí vysokou přesnost. V závislosti na zvolené jednotce MCU lze implementovat i bezpečný přenos dat.
Nástroj DSpotter se dotáže na každé příkazové slovo nebo frázi, které následně rozloží na fonémy. Sada příkazů a pomocná data pro rozhraní VUI jsou následně zabudována do binárního souboru, který vývojář společně s knihovnou Cyberon zahrne do projektu. Knihovna a binární soubor se na jednotce MCU používají společně k podpoře rozpoznávání požadovaných hlasových příkazů.
Nástroj DSpotter generuje sady příkazů „CommandSets“, které lze pomocí vývojového programu logicky spojovat a vytvářet tak různé úrovně rozhraní VUI. To umožňuje víceúrovňové příkazy, jako například: „Chci nastavit žárovku na vysokou úroveň, prosím“: příkazová slova jsou zde „žárovka“, poté „nastavit“ a „vysoká“. Každý příkaz ve skupině má svůj vlastní index, stejně jako každý příkaz v rámci dané úrovně (obrázek 3).
Obrázek 3: nástroj DSpotter umožňuje vytváření příkazových sad „CommandSets“, které lze logicky spojovat pomocí vývojového programu a vytvářet tak různé úrovně rozhraní VUI. (Zdroj obrázku: Renesas)
Knihovna DSpotter zpracovává příchozí zvuky a vyhledává fonémy odpovídající příkazům v databázi. Při nalezení shody vrátí index a čísla skupin. Takové uspořádání umožňuje hlavnímu kódu aplikace vytvořit hierarchický příkaz switch statement pro zpracování příkazových slov/frází v pořadí jejich příchodu. Výsledná knihovna pak může být dostatečně malá, aby ji bylo možné uložit do mikrokontroléru s pouhými 256 kB paměti flash paměti a 32 kB paměti SRAM. Pokud je k dispozici více paměti, sada příkazů CommandSet se může rozrůstat.
Pro vývojáře je důležité si uvědomit, že fonémová metoda pro rozhraní VUI má omezení. Relativně omezené prostředky jednotky MCU určují, že nástroj Cyberon DSpotter provádí rozpoznávání řeči spíše než rozpoznávání hlasu. Znamená to, že software nemůže provádět zpracování přirozeného jazyka. Pokud tedy příkazová slova nesledují logickou posloupnost (například „vysoká“, „žárovka“, „nastavit“ místo „žárovka“, „nastavit“, „vysoká“), systém příkaz nerozpozná a vrátí se zpět na nejvyšší úroveň.
Jedním z konstrukčních doporučení je přidat do rozhraní VUI vizuální indikátor (například LED diodu), který sděluje stav, kdy procesor předpokládá, že se nachází na nejvyšší úrovni příkazové sady CommandSet, a vyzve uživatele, aby znovu zadal příkaz v logické sekvenci (obrázek 4).
Obrázek 4: racionální charakter nástroje Cyberon DSpotter vyžaduje, aby příkazy probíhaly v logické sekvenci, v opačném případě nebudou rozpoznávány. (Zdroj obrázku: Renesas)
Spouštění necloudového rozhraní VUI s omezenými prostředky
Nástroj Cyberon DSpotter může díky své účinnosti běžet na mikrokontrolérech Arm Cortex-M skupin RA2, RA4 a RA6 od společnosti Renesas. Ty jsou oblíbené v celé řadě spotřebitelských, průmyslových a IoT aplikací. Jsou podporovány konstrukčními nástroji pro snadné použití, díky nimž je relativně snadné sestavit jednoduchá rozhraní VUI bez rozsáhlých zkušeností s kódováním nebo vlastních zkušeností.
Výběr konkrétního mikrokontroléru skupiny RA závisí především na složitosti příkazů a velikosti knihovny Cyberon. Inteligentní spínač osvětlení, který ke svému účinnému provozu vyžaduje jen skromnou sadu příkazů a omezený výpočetní výkon, by mohl být založen na procesoru R7FA4W1AD2CNG skupiny RA4. Tento mikrokontrolér používá k baterii šetrné jádro Arm Cortex-M4 na kmitočtu 48 MHz podporované 512 kB paměti flash a 96 kB paměti SRAM. Mikrokontrolér obsahuje řadič segmentového LCD displeje, kapacitní dotykovou jednotku, modul bezdrátového připojení Bluetooth Low Energy (Bluetooth LE), rozhraní USB 2.0 Full-Speed, 14bitový A/D převodník, 12bitový D/A převodník a bezpečnostní (obrázek 5).
Obrázek 5: mikrokontrolér R7FA4W1AD2CNG poskytuje dostatek prostředků na vytvoření necloudového rozhraní VUI pro různé aplikace, například pro inteligentní spínač osvětlení. (Zdroj obrázku: Renesas)
Aplikace, jako je chytrý reproduktor, však vyžadují rozsáhlejší knihovnu Cyberon DSpotter a výkonnější jádro. Vhodným kandidátem pro tyto účely je obvod R7FA6M4AF3CFM. Tento mikrokontrolér skupiny RA6 obsahuje výkonnější jádro Arm Cortex-M33 na kmitočtu 200 MHz podporované 1 MB paměti flash a 256 kB paměti SRAM. Tento procesor obsahuje CAN sběrnici, Ethernet, rozhraní I²C, LIN sběrnici, kapacitní dotykovou jednotku a mnoho dalších rozhraní a periferií.
Mikrokontroléry skupiny RA4, resp. RA6 jsou podporovány vyhodnocovacími deskami RTK7EKA4W1S00000BJ, resp. RTK7EKA6M4S00001BE, umožňujícím vývojářů provádět trénink schopností jednotky MCU. Každá vyhodnocovací deska má cílový mikrokontrolér a integrovaný debugger.
Společnost Renesas také nabízí soupravu řešení VUI pro urychlení vývoje. Souprava je podobná vyhodnocovacím deskám v tom, že obsahuje cílové zařízení a debuggery. Deska také obsahuje několik I/O rozhraní čtyři mikrofony: dva analogové a dva digitální.
Přístup k softwaru potřebnému pro vývoj pomocí soupravy řešení VUI je k dispozici na webových stránkách společnosti Cyberon. Zde je k dispozici přístup k bezplatnému nástroji Cyberon DSpotter Modeling Tool a projekt v prostředí e2 studio s pracovní sadou hlasových příkazů CommandSet (e2 studio je integrované vývojové prostředí (IDE) založené na platformě Eclipse pro mikrokontroléry od společnosti Renesas. Ukázkovou sadu příkazů 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 rozhraní VUI znázorněného na obrázku 4 obvykle trvá asi 15 minut.
Sofistikovanější návrh aplikačního softwaru pro sadu Cyberon je podporován balíčkem Flexible Software Package (FSP) od společnosti Renesas pro návrhy vestavěných systémů využívajících mikrokontroléry skupiny RA. Balíček FSP je založen na otevřeném softwarovém ekosystému a zahrnuje operační systém Azure RTOS nebo FreeRTOS, starší kód a ekosystémy třetích stran. Může být provozován v několika prostředích IDE, včetně e2 studio.
Jak dobře funguje rozhraní VUI?
Jednou stránkou je správná funkce rozhraní VUI v tiché laboratoři, avšak zcela jinou stránkou je jeho přesná funkce se značným šumem na pozadí. Typické provozní prostředí chytrého reproduktoru by mohlo zahrnovat televizor nebo rádio, rozhovor, jiné zdroje hudby a celkový hluk v domácnosti nebo na společenském setkání. Rozhraní VUI se dále bude muset vypořádat s dialekty a nedokonalou výslovností. Navzdory těmto problémům uživatelé očekávají téměř bezchybný výkon.
Pro zlepšení výkonu v obtížném poslechovém prostředí obsahuje software Cyberon DSpotter běžící na mikrokontrolérech skupiny RA od společnosti Renesas funkce odolnosti proti šumu s minimálními nároky na prostředky procesoru. K prokázání účinnosti bylo rozhraní VUI nástroje Cyberon DSpotter podrobeno testům poslechu příkazů při vystavení různým zdrojům šumu na pozadí ve vzdálenosti 1,5 a 3 m a s odstupem signál/šum (SNR) 0, 5 a 10 dB. Rozhraní VUI ve všech případech překonalo benchmark asistenta Amazon Alexa (tabulka 1).
|
Tabulka 1: Výsledky testu úspěšnosti příkazů pro rozhraní VUI vytvořené nástrojem Cyberon s různými zdroji šumu na pozadí. Rozhraní VUI ve všech případech překonalo benchmark asistenta Amazon Alexa. (Zdroj obrázku: Renesas)
Závěr
VUI se rychle stávají upřednostňovaným spotřebitelským ovládacím rozhraním pro chytré produkty. Koncepce rozpoznávání řeči s využitím fonémů jako základ příkazů s přísnou strukturou může dramaticky snížit požadavky na paměť a výpočetní kapacitu, což umožňuje lokální chod technologie na malých mikrokontrolérech s omezenými prostředky.
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.




