Implementierung einer Sprachsteuerschnittstelle auf ressourcenbeschränkten MCUs

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey

Intelligente Lautsprecher und andere vernetzte Hubs bilden das Herzstück des intelligenten Zuhauses und ermöglichen die Steuerung von Geräten und den Zugang zum Internet. Mit der zunehmenden Verbreitung dieser Geräte zeichnen sich zwei Trends ab: Die Sprachsteuerung wird gegenüber dem Drücken von Tasten oder komplizierten Menüsystemen vorgezogen, gleichzeitig wird die Dauerverbindung mit der Cloud jedoch aufgrund von Datenschutzbedenken als immer unangenehmer empfunden.

Eine robuste und sichere Sprachsteuerschnittstelle (voice user interface, VUI) erfordert in der Regel leistungsstarke Hardware und komplexe Software für die Spracherkennung. Alles andere wird wahrscheinlich zu schlechter Performance und Unzufriedenheit bei der Benutzung führen. Außerdem sind viele intelligente Lautsprecher und Hubs batteriebetrieben, so dass eine VUI mit einem knappen Energiebudget auskommen muss. Ein solch ehrgeiziges Projekt kann Personen entmutigen, die bei der Entwicklung nicht auf Erfahrung mit Sprachschnittstellen zurückgreifen können.

Die Chiphersteller reagieren darauf, indem sie eine auf Phonemen basierende Technik einführen, die die Anforderungen an die Verarbeitung erheblich reduziert. Das Ergebnis ist eine hochpräzise und effiziente VUI-Software, die auf vertrauten 32-Bit-Mikrocontrollern (MCUs) ausgeführt werden kann und von einfach zu bedienenden Entwicklungstools unterstützt wird.

Dieser Artikel beschreibt die Herausforderungen und Anwendungsfälle von VUI. Anschließend werden kommerzielle, einfach zu bedienende MCU-Anwendungssoftware und lokale, telefonbasierte VUI-Software für den vernetzten Wohnbereich vorgestellt. Zum Abschluss illustriert der Artikel den Einstieg in VUI-Projekte mit Mikrocontrollern von Renesas sowie VUI-Software und Evaluierungskits.

Die Herausforderungen bei der Erstellung einer VUI

Eine VUI ist eine Spracherkennungstechnologie, die die Interaktion mit einem Computer, Smartphone, Heimautomatisierungssystem oder einem anderen Gerät per Sprachbefehl ermöglicht. Nach anfänglichen technischen Herausforderungen hat sich die Technologie zu einer zuverlässigen Steuerschnittstelle entwickelt und ist heute in intelligenten Lautsprechern und anderen Geräten für den intelligenten Wohnbereich weit verbreitet. Der Hauptvorteil einer VUI ist ihr Komfort: sofortige Steuerung von jedem Ort in Sprechreichweite, ohne dass eine Tastatur, eine Maus, Tasten, Menüs oder andere Schnittstellen zur Eingabe von Befehlen verwendet werden müssen (Abbildung 1).

Abbildung: VUI-Technologie ist weit verbreitetAbbildung 1: Die VUI-Technologie ist im Wohnbereich und in intelligenten Gebäuden weit verbreitet, weil sie praktisch und flexibel ist. (Bildquelle: Renesas)

Der Nachteil einer VUI ist ihre Komplexität. Die herkömmliche Technologie basiert auf dem langwierigen Training eines Modells mit bestimmten Wörtern oder Phrasen. Die Verarbeitung natürlicher Sprache ist jedoch wortreihenfolgeunabhängig, was einen erheblichen Entwicklungsaufwand und eine hohe Rechenleistung erfordert, um in Echtzeit zu arbeiten. Das hat einen noch breiteren Einsatz von VUI bisher gebremst.

Jetzt vereinfacht eine neue Technik die VUI-Software so weit, dass sie auf kleinen, effizienten Mikrocontrollern (MCUs) wie den Arm® Cortex®-M laufen kann. Diese Technik beruht auf der Tatsache, dass alle Wörter in jeder gesprochenen Sprache aus sprachlichen Lauten, den so genannten Phonemen, zusammengesetzt sind. Es gibt viel weniger Phoneme als Wörter: Englisch hat 44, Italienisch 32 und die traditionelle hawaiische Sprache nur 14. Wenn eine VUI einen englischen Befehlssatz von 200 Wörtern verwendet, könnte jedes Wort in seine zugehörigen Phoneme aus dem Sortiment von 44 zerlegt werden.

In der VUI-Software wäre es dann möglich, jedes Phonem durch einen numerischen Code (oder ein „Token“) zu kennzeichnen, wobei die verschiedenen Token schließlich die Sprache bilden. Die Speicherung von Wörtern als Laute erfordert eine ungeheure Rechenleistung und nimmt weit mehr Speicherplatz in Anspruch als die Speicherung von Phonemen als Token. Die Verarbeitung von Phonem-Token (und damit von Befehlswörtern) in einer erwarteten Reihenfolge vereinfacht die Verarbeitung weiter und ermöglicht die lokale Ausführung von VUI-Software auf einer einfachen MCU (Abbildung 2).

Abbildung: Darstellung von Wörtern mit PhonemenAbbildung 2: Die Darstellung von Wörtern mit Phonemen erfordert weniger Mikrocontroller-Ressourcen. (Bildquelle: Renesas)

Das bedeutet, dass die Software-Effizienz, die durch die Verwendung von Phonemen erreicht wird, eine lokale Verarbeitung erlaubt. Da die Verarbeitung in der Cloud entfällt, ist keine ständige Internetverbindung erforderlich, die Bedenken hinsichtlich des Datenschutzes und der Datensicherheit mit sich bringt.

Renesas hat als Teil seines Ökosystems ein kommerzielles VUI-Softwarepaket vorgestellt, das auf dem Phonem-Prinzip basiert. Die Software mit dem Namen Cyberon DSpotter erstellt einen VUI-Algorithmus, der so optimiert ist, dass er auf MCUs der Serie RA von Renesas mit Arm-Cortex®-M4- und -M33-Kernen läuft.

Entwicklung mit Cyberon DSpotter

Cyberon DSpotter basiert auf einer Bibliothek von Phonemen und Phonemkombinationen. Es handelt sich um einen alternativen Ansatz zum traditionellen und rechenleistungsintensiven Training von Algorithmen zur Erkennung bestimmter Wörter. Um Wörter in Bestandteile zu zerlegen und diese dann als Token darzustellen, kann das DSpotter Modeling Tool genutzt werden.

DSpotter ist eine eingebettete (nicht cloudbasierte) Software, die als lokaler Sprachauslöser- und Befehlserkennungslösung mit robuster Geräuschunterdrückung fungiert. Es verbraucht nur minimale Ressourcen und ist sehr genau. Je nach gewählter MCU kann auch eine sichere Datenübertragung realisiert werden.

DSpotter fragt nach allen Befehlsworten oder -sätzen, die das Werkzeug dann in Phoneme zerlegt. Der Befehlssatz und die Hilfsdaten für die VUI werden dann in eine Binärdatei integriert, die zusammen mit der Cyberon-Bibliothek in das Projekt eingefügt wird. Die Bibliothek und die Binärdatei werden gemeinsam von der MCU verwendet, um bei der Erkennung der gewünschten Sprachbefehle zu helfen.

Das DSpotter-Tool erstellt „CommandSets“, die im Programm logisch vernetzt werden können, um eine VUI mit verschiedenen Ebenen zu erstellen. Das ermöglicht Befehle mit mehreren Ebenen wie z. B. „Die Lampe bitte auf hell stellen.“: Die Befehlswörter sind „Lampe“, gefolgt von „hell“ und „stellen“. Jeder Befehl einer Gruppe hat seinen eigenen Index, ebenso wie jeder Befehl innerhalb einer Ebene (Abbildung 3).

Abbildung: DSpotter-Tool ermöglicht Erstellung von „CommandSets“Abbildung 3: Das DSpotter-Tool ermöglicht die Erstellung von „CommandSets“, die im Programm logisch vernetzt werden können, um eine VUI mit verschiedenen Ebenen zu erstellen. (Bildquelle: Renesas)

Die DSpotter-Bibliothek verarbeitet die eingehenden Laute und sucht nach Phonemen, die den Befehlen in der Datenbank entsprechen. Wenn es eine Übereinstimmung festgestellt wird, werden die Index- und Gruppennummern ausgegeben. Eine solche Anordnung ermöglicht es dem Hauptanwendungscode, eine hierarchische Schaltanweisung zu erstellen, um die Befehlswörter/-phrasen zu verarbeiten, wie sie kommen. Die resultierende Bibliothek kann so klein sein, dass sie auf eine MCU mit nur 256 Kilobyte (KByte) Flash-Speicher und 32 KByte SRAM passt. Der CommandSet kann wachsen, wenn mehr Speicher verfügbar ist.

Für die Entwicklung ist es wichtig zu verstehen, dass die Phonem-Methode für eine VUI Grenzen hat. Aufgrund der relativ begrenzten Ressourcen der MCU handelt es sich bei Cyberon DSpotter um Sprachmustererkennung und nicht um Spracherkennung. Das bedeutet, dass die Software nicht zu Verarbeitung natürlicher Sprache fähig ist. Wenn die Befehlswörter also nicht einer logischen Reihenfolge folgen (z. B. „hell“, „Lampe“, „stellen“ statt „Lampe“ „hell“, „stellen“), erkennt das System den Befehl nicht und kehrt zur obersten Ebene zurück.

Ein Vorschlag für die Entwicklung besteht darin, der VUI eine visuelle Anzeige hinzuzufügen (z. B. eine LED), die anzeigt, wann der Prozessor davon ausgeht, dass er sich auf der obersten Ebene des Befehlssatzes befindet, und so dazu auffordert, den Befehl in der logischen Reihenfolge erneut zu erteilen (Abbildung 4).

Abbildung: Optimierte Funktion des Cyberon DSpotterAbbildung 4: Die optimierte Funktion von Cyberon DSpotter macht es notwendig, dass Befehle einer logischen Reihenfolge folgen, sonst werden sie nicht erkannt. (Bildquelle: Renesas)

Ausführung einer nicht cloudbasierten VUI mit eingeschränkten Ressourcen

Die Effizienz von Cyberon DSpotter ermöglicht die Ausführung auf den Arm-Cortex-M-MCUs der Familien RA2, RA4 und RA6 von Renesas. Diese kommen häufig in einer breiten Palette von Verbraucher-, Industrie- und IoT-Anwendungen zum Einsatz. Sie werden von einfach zu benutzenden Entwicklungstools unterstützt, so dass es relativ unkompliziert ist, eine einfache VUI ohne umfangreiche Programmiererfahrung oder internes Fachwissen zu erstellen.

Die Entscheidung für eine bestimmte MCU der RA-Familie hängt in erster Linie von der Komplexität der Befehle und der Größe der Cyberon-Bibliothek ab. Ein intelligenter Lichtschalter, der nur einen kleinen Befehlssatz und eine begrenzte Rechenleistung benötigt, um effektiv zu funktionieren, ließe sich mit dem R7FA4W1AD2CNG aus der Familie RA4 realisieren. Diese MCU nutzt einen batteriefreundlichen Arm-Cortex-M4-Kern mit 48 Megahertz (MHz), der von 512 KBytes Flash-Speicher und 96 KBytes SRAM unterstützt wird. Er verfügt über einen Segment-LCD-Controller, kapazitive Berührungserkennung, Bluetooth Low Energy (Bluetooth LE), USB 2.0 Full-Speed, einen 14-Bit-Analog/Digital-Wandler (ADC) und einen 12-Bit-Digital/Analog-Wandler (DAC) sowie Schutz- und Sicherheitsfunktionen (Abbildung 5).

Diagramm: MCU R7FA4W1AD2CNG von RenesasAbbildung 5: Die MCU R7FA4W1AD2CNG bietet reichlich Ressourcen für die Erstellung einer nicht cloudbasierten VUI für Anwendungen wie einen intelligenten Lichtschalter. (Bildquelle: Renesas)

Für eine Anwendung wie einen intelligenten Lautsprecher werden eine umfangreichere Cyberon DSpotter-Bibliothek und ein leistungsstärkerer Kern benötigt. Ein geeigneter Kandidat ist der R7FA6M4AF3CFM. Diese MCU aus der Familie RA6 verfügt über einen leistungsstärkeren 200-MHz-Arm-Cortex-M33-Kern, der von 1 Megabyte (MByte) Flash-Speicher und 256 KBytes SRAM unterstützt wird. Er verfügt über einen CAN-Bus, Ethernet, I²C, einen LIN-Bus, kapazitive Berührungserkennung und viele andere Schnittstellen und Peripherien.

Die Familien RA4 und RA6 werden von Evaluierungsboards wie dem RTK7EKA4W1S00000BJ bzw. RTK7EKA6M4S00001BE unterstützt, mit denen die Fähigkeiten der MCUs getestet werden können. Jedes Evaluierungsboard beinhaltet die Ziel-MCU und einen Onboard-Debugger.

Außerdem bietet Renesas ein VUI-Lösungskit für eine schnellere Entwicklung an. Das Kit ist den Evaluierungsboards insofern ähnlich, als es die Komponente und die Debugger enthält. Zusätzlich umfasst das Board mehrere E/A-Schnittstellen und vier Mikrofone: zwei analoge und zwei digitale.

Der Zugang zu der Software, die für die Entwicklung mit dem VUI-Lösungskit benötigt wird, ist auf der Cyberon-Website verfügbar. Das schließt einen kostenlosen Zugang zum Cyberon DSpotter Modeling Tool ein, inklusive eines e2 studio-Projekts mit einem funktionierenden Sprach-CommandSet (e2 studio ist eine Eclipse-basierte integrierte Entwicklungsumgebung (integrated development environment, IDE) für MCUs von Renesas). Das Beispiel-CommandSet kann als Vorlage für die Entwicklung maßgefertigter Sequenzen von Sprachbefehlen verwendet werden. Die Reaktionen des Systems lassen sich dann über ein Terminalfenster überwachen. Die Erstellung der in Abbildung 4 dargestellten VUI-Struktur dauert in der Regel etwa 15 Minuten.

Das Flexible Software Package (FSP) von Renesas für die Entwicklung von eingebetteten Systemen mit den RA-Familien unterstützt die Entwicklung anspruchsvoller Anwendungssoftware für das Cyberon-Paket. Der FSP basiert auf einem offenen Software-Ökosystem und enthält Azure RTOS oder FreeRTOS, Legacy-Code und Ökosysteme von Drittanbietern. Es kann in mehreren IDEs ausgeführt werden, einschließlich e2 studio.

Leistungsvermögen der VUI

Es ist eine Sache, wenn eine VUI in einem ruhigen Labor gut funktioniert, aber eine ganz andere, wenn sie trotz erheblichem Hintergrundgeräuschpegel zuverlässig funktionieren soll. Zu den typischen Betriebsumgebungen eines intelligenten Lautsprechers gehören ein Fernseher oder ein Radio, Gespräche, andere Musikquellen und der allgemeine Trubel in einem Haushalt oder bei einem geselligen Beisammensein. Außerdem muss die VUI mit Dialekten und einer nicht ganz so perfekten Aussprache zurechtkommen. Trotz dieser Herausforderungen wird in der Benutzung eine nahezu einwandfreie Performance erwartet.

Um die Performance in einer schwierigen Umgebung zu verbessern, enthält die Cyberon DSpotter-Software, die auf den MCUs der Familie RA von Renesas läuft, Funktionen zur Geräuschunterdrückung, die nur minimale Prozessorressourcen benötigen. Um das Leistungsvermögen zu demonstrieren, wurden Tests mit einer Cyberon DSpotter VUI durchgeführt, die Befehle mit verschiedenen Hintergrundgeräuschquellen in 1,5 und 3 Metern (m) Entfernung und bei Signal-Rausch-Verhältnissen (SNRs) von 0, 5 und 10 Dezibel (dB) hörte. In allen Fällen lag die VUI über dem Benchmark für Amazons Alexa (Tabelle 1).

SNR Hintergrundrauschen Entfernung Trefferquote Alexa-Anforderungen
(Rauschfrei) kein 1,5 m 100,00 % 90 %
(Rauschfrei) kein 3 m 100,00 % 90 %
10 dB Gespräche 1,5 m 98,55 % 80 %
10 dB Gespräche 3 m 98,84 % 80 %
10 dB Musik 1,5 m 98,26 % 80 %
10 dB Musik 3 m 98,55 % 80 %
10 dB TV 1,5 m 98,84 % 80 %
10 dB TV 3 m 98,55 % 80 %
5 dB Gespräche 1,5 m 98,84 % 80 %
5 dB Gespräche 3 m 96,24 % 80 %
5 dB Musik 1,5 m 98,84 % 80 %
5 dB Musik 3 m 97,08 % 80 %
5 dB TV 1,5 m 93,37 % 80 %
5 dB TV 3 m 90,72 % 80 %

Tabelle 1: Testergebnisse für die erfolgreiche Erkennung von Befehlen für eine Cyberon-basierte VUI mit verschiedenen Hintergrundgeräuschquellen. In allen Fällen lag die VUI über dem Benchmark für Amazons Alexa. (Bildquelle: Renesas)

Fazit:

VUIs finden immer größere Verbreitung als die bevorzugte Schnittstelle zur Steuerung intelligenter Produkte. Ein Sprachsteuerkonzept, das Phoneme als Grundlage der Befehle und eine strenge Befehlsstruktur nutzt, bietet eine drastische potenzielle Reduzierung des Speicher- und Rechenleistungsbedarfs und die Möglichkeit, die Technologie lokal auf kleinen, ressourcenbeschränkten MCUs auszuführen.

DigiKey logo

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

Über den Verlag

Nordamerikanische Fachredakteure von DigiKey