Fallstudie: Conditional Voice Recorder
Eine Forschungsgruppe der Universität Siegen vom gemeinsamen Forschungszentrum „Medien der Kooperation“ hat uns um Unterstützung bei der Anpassung einer Open-Source-Software an ihre spezifischen Anforderungen gebeten.
Das Projekt B06 erforscht „intelligente persönliche Assistenten“. Amazon Alexa, Apple Siri und der Google Assistant sind hier wohl die bekanntesten Beispiele. Die Forschung konzentriert sich auf die Interaktionen, die zu einer Anfrage an den Assistenten und den nachfolgenden Äußerungen führen.
Um diese Interaktionen zu bewerten, müssen die Umgebungsgeräusche und Kommandos einige Sekunden bis zur Anfrage und anschließend die folgenden Äußerungen aufgezeichnet werden. Zum Schutz der Privatsphäre der Studien-Teilnehmer ist es erforderlich die Tonaufzeichnung auf ein Minimum zu reduzieren.
Wir haben zunächst nach existierenden Softwarelösungen für dieses Problem gesucht und tatsächlich gibt es bereits einige Projekte, die dies umsetzen. Das Mixed Reality Laboratory an der Universität Nottingham bietet beispielsweise seinen „Conditional Voice Recorder“ an, der kontinuierlich auf ein Aktivierungswort („wake-word“) achtet und bei Erkennung mit der Tonaufnahme beginnt (Porcheron et al. 2018). Die Software speichert laufend die Tonaufzeichnung vor dem eigentlichen Aktivierungswort in einem Ringpuffer, um Einblicke in die Interaktionen vor der Anfrage an den Assistenten zu gewinnen.
Das Hardware-Setup ist recht einfach: Wir verwenden einen Raspberry Pi 3, um den Ton von einem Konferenzmikrofon aufzuzeichnen. Diese Aufbau wird in der Nähe des intelligenten Assistenten platziert mit dem Ziel, so möglichst viele Interaktionen aufzuzeichnen. Es ist keine Hardware-Anpassung am Assistenten selbst erforderlich.
Die ursprüngliche CVR Software verwendet eine proprietäre Wake-Word-Engine („snowboy“), die jedoch nicht alle erforderlichen Aktivierungswörter („Alexa“, „OK Google“ und „Hey Siri“) unterstützt. Im Verlauf des Projekts stellte sich außerdem heraus, dass die Entwicklung der „Snowboy“ Engine eingestellt wurde und leider auch die Projekt Webseite gelöscht wurde. Somit mussten wir umdenken und haben eine eigene Wake-Word-Engine auf Basis von Tensorflow-Lite entwickelt und die Unterstützung dafür in die CVR Software eingebaut. Es gibt jedoch keine vorgefertigten KI-Modelle für die oben gewünschten Aktivierungswörter, so dass wir zunächst versucht haben, unser Neuronales Netz mit Audioaufnahmen, welche uns von der Forschungsgruppe zur Verfügung gestellt wurden, zu trainieren. Leider mit mäßigem Erfolg. Die gesammelten Audioaufnahmen konnten nicht erfolgreich für das Training unseres Tensorflow-Modells verwendet werden. Am Ende hatten wir ein KI-Modell, welches zwar alle Aktivierungswörter zuverlässig erkannte, aber auch diverse False-Positives lieferte und somit zu Fehlauslösungen führte. Die Verwendung unserer Engine war deshalb letztendlich nicht praktikabel. Für ein erfolgreiches Training wäre ein deutlich umfangreicheres Pre-Processing sowie ein erheblich größeres Trainingsset an Aufnahmen nötig gewesen.
Durch Zufall wurden wir zeitgleich auf die Wake-Word-Engine“porcupine“aufmerksam. Porcupine hatte seit kurzem genau die gewünschten Akitivierurungsworte als Beispiele integriert. Vorgefertigte Modelle die ohne weiteres Training eingesetzt werden konnten, standen also bereit. Durch die Portierung der CVR-Software auf diese Engine konnten wir eine zuverlässige und konfigurierbare Erkennung für das Forschungsprojekt bereitstellen.
Darüber hinaus wurden noch weitere Anpassungen an der CVR Software vorgenommen. Um die Auswirkungen von Fehlauslösungen zu minimieren, haben wir die Aufzeichnung des auslösenden Geräusches vor der eigentlichen Aufzeichnung eingefügt und durch deutlich wahrnehmbare DTMF-Töne getrennt. Auf diese Weise kann die Person, die die Audioaufnahmen auswertet, sofort beurteilen, ob die Aufnahme fehlerhaft ausgelöst wurde. Das spart zum einen Zeit bei der Auswertung und trägt natürlich auch zur Privatsphäre bei, da es nicht mehr notwendig ist, falsch positive Aufnahmen vollständig anzuhören, um diese als solche zu identifizieren.
Um dieses Projekt abzuschließen, haben wir ein SD-Karten-Image für den Raspberry Pi vorbereitet und die Hardware angepasst. Somit konnte die Forschungsgruppe den CVR Aufbau einfach an die Studienteilnehmer versensenden. Spezielles Wissen zu Aufbau und Betrieb der Forschungsinfrastruktur war nicht erforderlich.
Später im Projekt zeigten sich dann noch kleinere Schwächen des Aufbaus. Die Mikrofon-Hardware hatte hin und wieder Verbindungsprobleme, wleche wir aber in Software leicht abfangen konnten. Am Ende konnte das Forschungsgruppe alle notwendigen Aufnahmen sammeln und die Studie erfolgreich voranbringen. Wir sind schon sehr auf die endgültigen Ergebnisse der Studie gespannt.
Für weitergehende Informationen Siehe auch: