Real-Time Audio Programmierung in C
Inhalt: In der Veranstaltung wird die Programmierung von Algorithmen der Audio-Signalverarbeitung in der Programmiersprache C vermittelt. Dazu werden im ersten Teil des Seminars Konzepte, Syntax und Struktur der Sprache C vermittelt. Im zweiten Teil wird an Hand von Beispielen aus der Audio-Signalverarbeitung (Filter, Synthesizer, Instrumente, etc.) die echtzeitorientierte Implementierung für Audio Umgebungen allgemein erläutert. Die Algorithmen werden anschließend exemplarisch als Objekte für die graphische Programmierumgebung Pure Data implementiert. Erfolgreiche Seminararbeiten sollen der Open-Source-Community bereitgestellt werden und den Pool verfügbarer PD-Objekte erweitern.
Inhalt (Ausgewählte Themen)
Grundlagen der C-Programmierung – Teil 1
Entwicklungsumgebungen, Compiler
Datentypen, Arrays, Variablen, Funktionen
Syntax, Kontrollstrukturen
Grundlagen der C-Programmierung – Teil 2
Benutzerdefinierte Datentypen und Datenstrukturen
Pointer-Arithmetik, Datenstruktur verknüpfte Liste
Objektorientierte Programmierung in C
Dynamische Speicherverwaltung
Wiederverwertbarkeit, Dokumentation und Versioning
Trennung von Algorithmus und SDK/API
Dokumentation mit Doxygen
Versionsverwaltung mit Git
Real-Time Audio Programmierung
Allgemeine Struktur eines Audio-Plugins
Struktur eines Pure-Data-Objekts
Projektarbeit in Gruppen von 2-3 Teilnehmer:innen