5.4 Audio
Wie können neuronale Netze Audio verarbeiten?
Sprachassistenten lassen sich über gesprochene Sprache steuern. Da jeder Mensch anders spricht und anders betont, sind neuronale Netze hervorragend geeignet, für solche Zwecke eingesetzt zu werden.
Und auch in diesem Beispiel besteht der Hauptaufwand zunächst darin, die Sprachinformationen so in Zahlen umzuwandeln, dass sie von einem neuronalen Netz verarbeitet werden können. Im Folgenden wird dazu ein sehr einfaches Beispiel erläutert, wie so etwas bewerkstelligt werden kann. Selbstverständlich gibt es noch weitere und komplexere Verfahren.
Audiodateien als Bilder
Im Bereich der Bildverarbeitung haben wir Convolutional Neural Networks kennengelernt. Solche neuronalen Netze mit vielen vorgeschalteten trainierbaren Filtern sind sehr gut in der Lage, Strukturen und Merkmale in Bildern zu erkennen – unabhängig davon, wo diese im Bild zu finden sind. Genau hier liegt der Vorteil, solche neuronalen Netze auch für die Verarbeitung von Audiodateien zu nutzen. Zwei von unterschiedlichen Menschen gesprochene Sprachbefehle wie „no“, die verarbeitet werden sollen, müssen nicht zeitlich exakt in derselben Millisekunde anfangen und aufhören. Vielmehr muss lediglich ihre Struktur identisch sein, damit ein neuronales Netz sie als ähnlich erkennen oder in dieselbe Klasse klassifizieren kann.
Damit nun jedoch aus den Audiosignalen quasi Bilder werden, ist es als einfache Variante möglich, von jedem Audiosignal ein sogenanntes Spektrogramm zu erstellen. Ein solches Spektrogramm kann man leicht selbst nachbauen, indem man mit der kostenfreien Software Audacity eine Audiospur aufnimmt und diese mit dem entsprechenden Umschalter in der Spur (siehe Audacity-Hilfe) in ein Spektrogramm umwandelt. Während eine normale Audiospur (also die sogenannte Waveform) die Lautstärke über die Zeit abbildet, zeigt ein Spektrogramm zusätzlich die Frequenz über die Zeit an.
Ein gleich laut gesprochenes „o“ und „i“ würden in der Waveform daher sehr ähnlich aussehen, weil die Informationen über die Höhe (Frequenz) fehlen. Erst das Spektrogramm macht dies sichtbar, wie auch in den folgenden Beispieldaten zu erkennen ist, in denen zwei Beispiele für das Wort no und zwei Beispiele für das Wort yes abgebildet sind.
Es ist zu erkennen, dass ein Convolutional Neural Network prinzipiell sicherlich keine Probleme damit hätte, Bilder (also Spektrogramme) von Audiosignalen der Wörter no und yes korrekt zu klassifizieren. Immerhin weisen die Spektrogramme innerhalb der Klassen untereinander größere Ähnlichkeiten auf als zwischen den Klassen. Und in der Tat funktioniert eine solche Klassifikation auch in echt (bis zu einem gewissen Grad) sehr gut.
Diese Seite teilen