Listing 2
Aufnahmetest
$ sudo apt-get install sox $ arecord -Dac108 -f S32_LE -r 16000 -c 4 aufnahme.wav $ sox aufnahme.wav -c 2 stereo.wav $ aplay stereo.wav
Dieser Test funktioniert auch problemlos auf einem RasPi-Lite-System. Etwas komfortabler funktioniert das Ganze aber auf einem Desktop. Dazu installieren Sie die Anwendung Audacity über das gleichnamige Paket. Dabei handelt es sich um eine schlanke, aber trotzdem mächtige und mehrkanalfähige Aufnahme- und Mischpultanwendung.
In Audacity konfigurieren Sie zuerst das Ausgabegerät, üblicherweise bcm2835 alsa: — (hw:0:0), sowie das Aufnahme-Device (ac108). Anschließend starten Sie die Aufnahme über den roten runden Aufnahmeknopf in der Leiste unterhalb des Menüs. Über die anderen Buttons pausieren oder stoppen Sie die Aufnahme. Sobald die Aufnahme startet, sehen Sie im Hauptfenster die Aufnahmepegel der vier Kanäle (Abbildung 3). Über das Dateimenü lässt sich die Aufnahme in verschiedenen Formaten speichern, wobei Audacity den WAV-Export nur im Monoformat beherrscht und die Aufnahme herunterrechnet.
Das ReSpeaker-Wiki beschreibt darüber hinaus noch die Konfiguration zur Steuerung der LEDs, die Sie via SPI anschließen. Nach der Konfiguration in der /boot/config.txt oder mittels Raspi-config sprechen Sie die Lichter über Python an. Ein passendes Beispiel findet sich im ReSpeaker-Repo auf Github [3] unter interfaces/pixels.py. Weitere Beispiele demonstrieren die Aufnahme mit unterschiedlicher Kanalanzahl oder die Integration mit Alexa beziehungsweise dem Google Home Assistant.
Dieser grundlegende Funktionstest schließt das Setup ab. Jetzt geht es um den sinnvollen Einsatz des ReSpeakers. Als normales Mikrofon, etwa für Textdiktate, kauft niemand diesen HAT.
Ortung
Der Einsatz von vier Mikrofonen auf dem HAT erlaubt das Orten der Klangquelle. So etwas benötigt beispielsweise ein Roboter zur Ausrichtung oder eine Kamera in einem Videosystem, um auf den Sprecher zu fokussieren. Dafür gibt es die Open-Source-Bibliothek ODAS (Open Embedded Audition System) und die GUI-Anwendung ODAS Studio.
Das Wiki von Seeed beschreibt den Eigenbau von ODAS sowie das Einrichten von ODAS Studio und verlinkt auf das dazugehörige Github-Repo. Vor allem Letzteres erweist sich als schwierig, denn ODAS Studio benötigt eine aktuelle Node.js-Version, und die finden Sie in den RasPi-OS-Repos nicht. Falls Sie ODAS ausprobieren wollen, sollten Sie also etwas Zeit für eigene Forschungsarbeit einplanen.
Spracheingabe
Etwas weniger kompliziert als der sehr spezielle Anwendungsfall Klangortung klappt die Spracheingabe, die dank Alexa, Google oder Siri viele Anwender schon aus dem Alltag kennen. Nicht jeder schätzt diesen “Familienzuwachs”, vor allem diejenigen nicht, die großen Wert auf Privatsphäre legen. Es gibt aber Offline-Alternativen zu den großen Playern.
Im Wiki zum ReSpeaker findet sich ein Beispiel, dass auf einer Software von der Firma Picovoice [4] basiert und das Steuern der LEDs erlaubt. Picovoice bietet eine Reihe von Vorteilen: Zum einen lässt es sich offline betreiben, zum anderen erhalten Entwickler kostenfreien Zugriff auf die Entwicklungsumgebung. Die Sprachmodelle verfallen im Entwicklungsmodus allerdings nach 30 Tagen; danach gilt es, einen individuellen Preis auszuhandeln. Deshalb eignet sich Picovoice nicht für Maker.
Für Linux stehen diverse Open-Source-Lösungen zur Wahl. Über Jasper veröffentlichten wir schon vor Jahren einen Artikel [5]. Damals waren die RasPi-Versionen 1 und 2 aktuell und das Bauen der notwendigen Software dauerte auf einem Raspberry Pi der ersten Generation geschlagene acht Stunden. Größtes Manko von Jasper und anderen Lösungen war und ist ein fehlendes deutsches Sprachmodell.
Beim relativ neuen Projekt Vosk [6] verhält es sich anders, denn es gibt viele Sprachmodelle dafür. Da das Projekt explizit den RasPi unterstützt, liegt ein Test des Programms im Zusammenhang mit dem ReSpeaker nahe. Ein großer Vorteil von Vosk besteht in der einfachen Installation (Listing 3). Laut Dokumentation macht die 64-Bit-Version für den RasPi mit Pip Probleme, es gibt aber einen Workaround. Für Vosk gibt es auch einen Sprachserver, den Sie am einfachsten über Docker starten. Die auf der Vosk-Homepage genannten Hardwareanforderungen machen den Server aber für einen RasPi uninteressant.
Listing 3
Vosk installieren
$ sudo apt-get -y install python3-pip $ sudo pip3 install vosk sounddevice
Vosk testen
Nach der Installation von Vosk brauchen Sie noch ein Sprachmodell sowie Programmbeispiele. Beides holen die Befehle aus Listing 4 auf den Rechner. Neben dem kleinen Modell (Zeile 3) mit 45 MByte, das die Vosk-Maintainer für Android und den Raspberry Pi empfehlen, gibt es noch das große deutsche Modell vosk-model-de-0.21 mit fast 2 GByte Umfang.






