Projektbericht: Auf den Spuren von Siri und Alexa – Entwicklung einer automatischen Spracherkennung

Im heutigen Zeitalter der Hochtechnologie besitzt nun fast jeder ein Smartphone und auch der Begriff Smarthome gewinnt zunehmend an Popularität. Große Technikunternehmen, wie zum Beispiel Apple oder Amazon, setzten immer häufiger auf Sprachsteuerung/-erkennung um die Bedienung ihrer Technikprodukte zu vereinfachen. Zu ihrer Software zählen unter anderem Siri (Apple) und Alexa (Amazon). Aber wie funktioniert die automatische Erkennung von Sprache eigentlich?!

Im Rahmen eines Projektpraktikums des Sommersemesters 2017 hat sich eine Gruppe aus sechs Studierenden aus dem 6. Semester des Studiengangs Hörtechnik und Audiologie mit diesem Thema auseinandergesetzt. Ziel war es eine Software zu programmieren, welche eine grundlegende Erkennung von Sprache ermöglicht.

Die Aufgabe bestand darin, eine automatic speech recognition (ASR) zu programmieren, die fünf einfach Farbwörter (schwarz, gelb, pink, rot und grün) erkennen kann. Grundlage der Idee war der sogenannte Stroop-Test, bei welchem eine Versuchsperson die Aufgabe hat, die Schriftfarbe eines angezeigten Farbwortes zu benennen (und es nicht abzulesen). Hierzu gab es bereits ein Vorprojekt, welches die Auswahl der richtigen Farbe über eine Tasteneingabe bereitstellt. Die Spracherkennungssoftware sollte es nun ermöglichen die Farbe eines Wortes einfach nur in ein Mikrofon sprechen zu können.

Zur Erkennung von Wörtern/Sprache ist es zunächst notwendig, eine Grundlage in Form einer umfangreichen Datenbank zu erschaffen. Hierzu wurden etwa 100 unterschiedliche Versionen der jeweiligen Farbwörter aufgenommen. Existiert eine Datenbank, müssen verschiedene und vor allem sinnvolle Merkmale (Features) der Audioaufnahmen über Signalverarbeitungsmethoden extrahiert und zugewiesen (klassifiziert) werden. Diesen Ablauf kann abstrahiert anhand eines Alltagsbeispiels verdeutlicht werden. Sobald einem Menschen etwas Bekanntes begegnet, kann es aufgrund seiner Form, seines Geruchs usw. eingeordnet werden.

Für die Erkennung von Sprache wurden die Merkmale Formant-Frequenzen und Mel-Frequency-Cepstral-Coefficients genutzt. Beide Merkmale eignen sich gut um Sprache zu charakterisieren und werden häufig zu diesem Zweck genutzt. Zur Klassifizierung wurden zwei unterschiedliche Methoden verwendet, zum einen der euklidische Abstand und zum anderen eine Support Vector Maschine.

Die Software wurde in MATLAB programmiert und getestet. Die Spracheingabe erfolgte über ein Mikrofon und ein Audiointerface. Zur Visualisierung der Erkennungsleitung wurde ein graphical user interface (GUI) erstellt, welches bei der Vorstellung des Projektes die Livevorführung des Spracherkenners ermöglichte.

In dem Projektpraktikum konnten die Studierenden Ihre Programmierfähigkeiten in einem aktuellen Bereich der Audiosignalverarbeitung verbessern. Während der Zusammenarbeit zwischen den Studenten und dem Dozenten konnte signalverarbeitungstheoretisches Wissen ausgebaut und praktisch angewendet werden. Des Weiteren sind neue Ideen beim direkten Austausch untereinander entstanden.