Zusammenfassung
der Arbeit (Archiv ID: v25014)
"Entwicklung eines nativen Programms unter Unix zur synchronen Visualisierung von Audiosignalen im Spektralbereich"
Diese Arbeit beschreibt die Entwicklung des Programms SonaSound. Das Programm dient der Analyse von Sprachsignalen und - als Neuerung - auch der Analyse von komplexen Musiksignalen. Die Analyse wird durch synchrone Visualisierung der Audiodaten ermöglicht, welche in einem Sonagramm auf dem Bildschirm dargestellt werden. Hier erfolgt die Anzeige von Frequenz (Tonhöhe in Bezug auf Notenlinien), Amplitude (Lautstärke verschiedenen Farben zugeordnet) und Zeit. Ohne das Audiosignal zu hören, sind Wörter (bzw. Silben) eines Sprechers erkennbar, können Tonhöhe und Rhythmus bei Musiksignalen visuell wahrgenommen werden.
Anwendungsgebiete können sein
- phonetische Fragestellungen,
- musikpädagogische Ansätze,
- musikwissenschaftliche Analyse.
Das Programm SonaSound benötigt keine spezielle Hardware (Standard-Hardware ausreichend). Ein Unix-Betriebssystem ist erforderlich.
SonaSound wurde vollständig mit quelloffener und frei verfügbarer Software entwickelt,
welche - wie auch SonaSound selbst - den Bedingungen der 'GNU General Public License' unterliegt.
Das bedeutet:
- Der Quelltext ist zugänglich.
- Das Programm kann vervielfältigt, verbreitet und/oder verändert werden.
- Das Urheberrecht muss beachtet werden.
Der Autor (Niklas Werner) beschreibt am Ende seiner Arbeit die Möglichkeit der Einführung weiterer Funktionen in das Programm SonaSound.
Im Jahr 2005 verlor er bei einem Bergunfall sein Leben.
Eine zukünftige Weiterentwicklung durch andere Autoren ist möglich und wünschenswert.
Inhaltsverzeichnis
- 1 Einleitung
- 1.1 Einordnung der Arbeit
- 1.2 Aufgabenstellung
- 2 Grundlagen
- 2.1 Digitale Signalverarbeitung
- 2.1.1 Digitale Audiosignale
- 2.1.2 Visualisierung
- 2.2 Fast Fourier Transformation (FFT)
- 2.2.1 Frequenzauflösung
- 2.2.2 Leckeffekt
- 2.3 Linear Predictive Coding (LPC)
- 2.3.1 Klassifizierung der LPC
- 2.3.2 Prinzip der LPC
- 2.3.3 Autokorrelationsmethode
- 2.3.4 Übertragungsfunktion des Filters
- 2.4 Fensterung
- 2.4.1 Zeit- und Frequenzauflösung
- 2.4.2 Überlappung von Fenstern
- 2.5 Eigenschaften von LPC und FFT im Vergleich
- 2.6 Sonagramm
- 2.1 Digitale Signalverarbeitung
- 3 Beschreibung der Software
- 3.1 Voraussetzungen
- 3.1.1 Hardwarevoraussetzungen
- 3.1.2 Konfiguration der Testsysteme
- 3.1.3 Verwendete Software und Bibliotheken
- 3.1.4 Verwendete Werkzeuge
- 3.1.5 Kompilation des Programms
- 3.2 Funktionsumfang
- 3.2.1 Benutzerschnittstelle
- 3.2.1.1 Parameter
- 3.2.1.2 Funktion der Buttons
- 3.2.1.3 Internationalisierung
- 3.2.1.4 Menüeinträge
- 3.2.2 Automatisch ablaufende Prozesse
- 3.2.3 Presets
- 3.2.1 Benutzerschnittstelle
- 3.3 Signalfluss im Programm
- 3.3.1 Audiosignalfluss
- 3.3.2 Grafikausgabe
- 3.4 Spezifikation der Farbpalette
- 3.5 Implementierte Algorithmen
- 3.5.1 Funktionen der Signalanalyse
- 3.5.1.1 Audioeingabe
- 3.5.1.2 Fensterung der Daten
- 3.5.1.3 Berechnung der FFT
- 3.5.1.4 Berechnung der LPC
- 3.5.1.5 Berechnung des Frequenzgangs
- 3.5.1.6 Hochpassfilterung
- 3.5.2 Visualisierungsfunktionen
- 3.5.2.1 Wellenformanzeige
- 3.5.2.2 Spektraldarstellung
- 3.5.2.3 Sonagrammanzeige
- 3.5.2.4 Farbpalettenansicht
- 3.5.2.5 Notensystem
- 3.5.3 Mausfunktionen
- 3.5.1 Funktionen der Signalanalyse
- 3.6 Programmablauf
- 3.1 Voraussetzungen
- 4 Evaluation
- 4.1 Auswertung der Algorithmen
- 4.1.1 Berechnung der LPC
- 4.1.1.1 Anzahl der LPC-Koeffizienten
- 4.1.1.2 Berechnung des Hochpassfilters
- 4.1.1.3 Überlappung der Fenster
- 4.1.2 Berechnung der FFT
- 4.1.3 Speicherverwaltung
- 4.1.4 Grafikausgabe
- 4.1.5 Synchronisation von Audio und Grafik
- 4.1.1 Berechnung der LPC
- 4.2 Oberfläche
- 4.3 Geschwindigkeit
- 4.4 Plattformunabhängigkeit
- 4.5 Aufgetretene Probleme und deren Lösungen
- 4.6 Ungelöste Probleme und deren Ursachen
- 4.1 Auswertung der Algorithmen
- 5 Fazit
- 6 Ausblick
Zielsetzung und Themenschwerpunkte
Diese Arbeit befasst sich mit der Entwicklung eines nativen Unix-Programms namens "SonaSound" zur Echtzeit-Visualisierung von Audiosignalen im Spektralbereich. Das Programm wurde unter Berücksichtigung der Leistungsfähigkeit moderner Rechner implementiert und ist unabhängig von spezieller DSP-Hardware oder Betriebssystemen. Die Entwicklung von SonaSound erfolgte auf Basis von frei verfügbaren Bibliotheken und zielt auf Plattformunabhängigkeit ab, die durch die Verwendung von ISO C99, OpenGL und dem X-Window-System für die Grafikausgabe erreicht wird. SonaSound baut auf früheren Arbeiten auf, die sich auf die Sprachverarbeitung konzentrierten, und erweitert diese um Funktionalitäten, die insbesondere bei der Musikanalyse benötigt werden.
- Entwicklung eines nativen Unix-Programms für die Echtzeit-Visualisierung von Audiosignalen
- Plattformunabhängige Implementierung unter Verwendung von ISO C99, OpenGL und dem X-Window-System
- Erarbeitung von Algorithmen und Techniken für die Verarbeitung und Visualisierung von Audiosignalen im Spektralbereich
- Integration von Funktionen, die speziell auf die Musikanalyse zugeschnitten sind
- Auswertung der Leistung und Effizienz des Programms
Zusammenfassung der Kapitel
Kapitel 1 gibt eine Einführung in die Arbeit und erläutert die Einordnung der Arbeit in den Kontext der digitalen Signalverarbeitung sowie die Aufgabenstellung. Kapitel 2 behandelt die theoretischen Grundlagen, die für die Entwicklung des Programms relevant sind. Hierzu zählen digitale Signalverarbeitung, die Fast Fourier Transformation (FFT), Linear Predictive Coding (LPC), Fensterungstechniken sowie die Eigenschaften von LPC und FFT im Vergleich. Kapitel 3 beschreibt die Software SonaSound im Detail, einschließlich der Voraussetzungen, des Funktionsumfangs, des Signalflusses, der implementierten Algorithmen und des Programmablaufs. Kapitel 4 präsentiert eine Evaluation des Programms, die die Auswertung der Algorithmen, die Bewertung der Oberfläche, der Geschwindigkeit und der Plattformunabhängigkeit umfasst. Schließlich werden die Ergebnisse der Arbeit zusammengefasst und ein Ausblick auf zukünftige Forschungs- und Entwicklungsmöglichkeiten gegeben.
Schlüsselwörter
Die Arbeit befasst sich mit den Themenbereichen Digitale Signalverarbeitung, Audiosignalverarbeitung, Echtzeit-Visualisierung, Spektraldarstellung, Fast Fourier Transformation (FFT), Linear Predictive Coding (LPC), Fensterung, Sonagramm, Plattformunabhängigkeit, ISO C99, OpenGL, X-Window-System, Musikanalyse, Softwareentwicklung.
- Quote paper
- Niklas Werner (Author), 2003, Entwicklung eines nativen Programms unter Unix zur synchronen Visualisierung von Audiosignalen im Spektralbereich, Munich, GRIN Verlag, https://www.grin.com/document/25014