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