Steuern via Sprachbefehl Hallo Anwendung!

»Alexa, mach das Licht aus«, »Okay, Google …«: Der Erfolg und die Verbreitung von intelligenten Sprachassistenten im Alltag macht Spracherkennung und -steuerung für Projekte und Anwendungen aller Art immer attraktiver. Entwicklern steht dabei eine Vielzahl von Möglichkeiten zur Verfügung.

Seit es Computer gibt arbeiten Entwickler daran, die Interaktion zwischen Mensch und Maschine zu verbessern. Die meisten Schnittstellen waren jedoch ein Kompromiss – zwischen Benutzerfreundlichkeit und feingliedriger Kon­trolle. Jedenfalls bis zum Aufkommen der aktuellen Touchscreen-Varianten. Sie bieten Benutzern eine natürlichere und intuitivere Steuerung, die selbst Kinder leicht verstehen.

Allerdings eignen Touchscreens sich nicht für alle Anwendungen. So sind sie vor allem bei kleineren Geräten umständlich. Auch bei Installationen im Freien sind sie durch Umwelteinflüsse und Vandalismus bedroht. Sie können ein Sicherheitsrisiko darstellen und setzen für jede Interaktion räumliche Nähe voraus. Außerdem verursachen sie zusätzliche Kosten für Anwendungen, die häufig ohnehin schon teuer sind. Notwendig ist also eine Steuermöglichkeit, die ebenso intuitiv funk­tioniert, aber ohne die genannten Nachteile auskommt. Eine funktionierende Spracherkennung und -steuerung kann für solche und viele weitere Anwendungsfälle eine gute Lösung darstellen.

Echo sei Dank

Die Idee, Technik nur per Sprache zu steuern, ist nichts Neues. Seit dem Beginn des Computerzeitalters hat es Versuche gegeben, Sprache dafür zu nutzen. Und das mit wechselndem Erfolg – bis vor nicht allzu langer Zeit der Durchbruch im Bereich der Spracherkennungsalgorithmen in Verbindung mit einer größeren Rechenleistung gelang. Seither haben Entwickler die Möglichkeit, Anwendungen zu entwickeln, die schnell und präzise auf eine Vielzahl von Befehlen reagieren.

Endgültig im Alltag angekommen ist die Spracherkennung durch die Branchenriesen Apple und Google: 2011 führte Apple zusammen mit dem iPhone 4S »Siri« ein. Mithilfe des intelligenten Assistenten konnte der Nutzer per Sprachbefehl Freunde anrufen oder Musik abspielen. Im Jahr 2012 nutzte Google mit der App »Google Voice Search« erstmals die inhärente Konnektivität des Telefons, um Suchbegriffe mit den Daten von Benutzersuchen zu vergleichen, die das Unternehmen in der Cloud gesammelt hatte. Die Möglichkeit, Daten mit früheren Suchen zu vergleichen, steigerte besonders die Genauigkeit, da die KI den Kontext der Suche nun besser erfassen konnte. In beiden Fällen – bei Siri und Google Search – dient die Sprache als ein zweites Steuerungstool neben dem Touchscreen. Auf die nächste Ebene gehoben hat Amazon das Konzept der Sprachsteuerung dann mit dem »Amazon Echo«. Hier wurde ein digitaler Assistent mit einem Lautsprecher kombiniert und der Touchscreen ganz weggelassen.

Dank des Erfolgs intelligenter Sprachassistenten ziehen immer mehr Ent­wickler und selbst Hobbybastler die Spracherkennung und -steuerung als mögliche Option für ihr nächstes Design in Betracht. So sollen laut ABI Research bis 2021 jährlich zwölf Millionen sprachfähige Geräte ausgeliefert und die Sprachsteuerung zu einer wichtigen Schnittstelle für das intelligente Zu­hause von morgen werden.

Sprachsteuerung individuell integrieren

Entwickler, die eine Sprachsteuerung in ein Produkt integrieren möchten, müssen einiges beachten. So haben sie einerseits die Möglichkeit, das gesamte System von Grund auf zu entwickeln und offline zu betreiben. Eine Entscheidung, die aber auch die Funktionen einschränkt. Denn die Spracherkennungsalgorithmen und -bibliotheken sind in diesem Fall durch den Speicher begrenzt. Auch das Einfügen neuer Befehle könnte sich schwierig gestalten.

Will man einen umfassenderen Befehlssatz anbieten, ist eine Cloud-Anbindung erforderlich. Die meisten großen Cloud-Anbieter, einschließlich Amazon und Google, bieten Sprachdienste als Dienstleistung an, die vergleichsweise kostengünstig in Designs integrierbar sind. Wie bei jeder Designentscheidung hängt die Wahl des Services vorrangigen von den jeweiligen Prioritäten ab. So bietet IBM einen Sprachdienst als Teil der Watson-Cloud-Plattform an. Die Plattform ist zwar flexibel, aber vor allem für diejenigen interessant, die auch von der analytischen Expertise von IBM profitieren möchten. Entwickler, die eine allgemeinere, auf Verbraucher ausgerichtete Plattform aufbauen möchten, sind wahrscheinlich mit einer anderen Lösung besser beraten.

Plattformen, die auf den allgemeinen Heimautomationsmarkt zugeschnitten sind, bieten sowohl Amazon als auch Google. Um die Integration der Sprachsteuerung von Amazon und Google in neue Produkte zu fördern, bieten beide Unternehmen den Zugang zu ihren Plattformen kostengünstig an. Mit dem »Alexa Voice Service« (AVS) von Amazon können Entwickler Alexa direkt in ihre Produkte integrieren. AVS stellt dazu umfangreiche Ressourcen bereit, darunter APIs, SDKs und Hardware-Entwicklungskits sowie die entsprechenden Dokumentationen.

Google macht es Entwicklern außerdem möglich, die Funktionen des intelligenten persönlichen Assistenten »Google Assistant« zu nutzen. Das Google Assistant-SDK bietet zwei Optionen für die Integration des Assistenten – die Google Assistant-Bibliothek und die Google Assistant-gRPC-API: Die Google Assistant-Bibliothek ist in Python geschrieben und wird auf Geräten mit den Architekturen Linux-ARM v7l und Linux-x86_64 (zum Beispiel Raspberry Pi 3 B und Ubuntu-Desktops) unterstützt.

Die Bibliothek bietet eine ereignis­basierte High-Level-API, die erweitert werden kann. Die gRPC-API von Google Assistant erlaubt den Zugriff auf eine Low-Level-API. Bindings für diese API können in Node.js, Go, C++ und Java für alle Plattformen generiert werden, die gRPC unterstützen.

Es geht auch ohne Google und Amazon

Für Entwickler, die diese Dienste nicht nutzen oder eine Open-Source-Schnittstelle verwenden möchten, gibt es Alternativen. Mycroft beispielsweise ist ein kostenloser, intelligenter Open-Source-Personal-Assistant für Linux-basierte Betriebssysteme, der eine Benutzeroberfläche mit natürlicher Sprache nutzt. Darüber hinaus ist die Anwendung modular aufgebaut. Das heißt, ihre Komponenten lassen sich nach Bedarf anpassen. Eine weitere Open-Source-Option ist Jasper. Auch die Software dieser Plattform lässt sich problemlos um neue Funktionen ergänzen.

Die richtige Hardware

Als Hardware kommt meist ein Einplatinencomputer, etwa ein Raspberry Pi, zum Einsatz. Es gibt einige Platinen, die speziell für Sprachsteuerungsanwendungen entwickelt wurden, wie das Creator-Board von Matrix, das als Rasp­berry-Pi-Hat oder als eigenständige Einheit verwendet werden kann. Die Platine verfügt über ein Array von sieben MEMS-Mikrofonen, die ein Hörfeld von 360° abdecken, und wird mit einem ARM-Cortex-M3 mit 64 MBit SDRAM betrieben. Ebenfalls integriert sind Sensoren, damit Entwickler weitere Funktionen hinzufügen können. Zu den Standarddiensten, die mit dem Board verwendet werden können, gehören Amazon AVS, Google Speech API und Houndify.

Für Spracherkennungsdesigns sind besonders Mikrofone wichtig. Häufig werden mehrere Mikrofone verwendet und in einem Array angeordnet, um Töne präziser zu erfassen. Wenn die Technik zum Zusammenfügen der durch die verschiedenen Mikrofone erfassten Töne nicht bereits in das Array integriert ist, ist oft zusätzliche Entwicklungsarbeit und Verarbeitungsleistung erforderlich. Wichtig ist auch die Geräuschreduzierung, um zu gewährleisten, dass Anweisungen präzise empfangen werden.

Sprache als Schnittstelle zwischen Mensch und Maschine

Entwicklern geht es vor allem darum, möglichst intuitive Schnittstellen zwischen Mensch und Maschine zu entwickeln. Zwar gibt es bis heute keine Methode, die mit der instinktiven Art und Weise der menschlichen Kommunikation vergleichbar ist, aber die Sprachsteuerung hat einen Punkt erreicht, an dem sie sich fast so anfühlt wie das Gespräch mit einem anderen Menschen.

Obwohl die Technik von einigen der größten Namen der Branche entwickelt wurde, steht sie jedem Entwickler für eigene Designprojekte zur Verfügung. Da ein Großteil der Verarbeitung in der Cloud erfolgt, ist die erforderliche Hardware nicht so anspruchsvoll, wie man vielleicht denkt. Zudem stehen spezialisierte Platinen, Tools und Services zur Verfügung, die den Prozess deutlich vereinfachen können. Das bedeutet, dass Sprachsteuerung heute fast jedem Projekt hinzugefügt werden kann.

Der Autor

Cliff Ortmeyer ist Global Head of Solutions Development bei Farnell. Er hat einen Abschluss in Elektrotechnik und ist seit 26 Jahren in der Elektronikbranche in verschiedenen Positionen im Engineering und Marketing Management tätig. Seit sechs Jahren ist Ortmeyer bei Farnell, zuletzt als globaler Leiter des Bereichs Technologieproduktmarketing und Lösungsentwicklung. Zuvor arbeitete er für STMicroelectronics und Coilcraft. Ortmeyer ist ein Elektronik-Enthusiast und hält mehrere Patente.