Home | Lehre | Videos | Texte | Vortr√§ge | Software | Person | Impressum, Datenschutzerkl√§rung | Blog RSS letzte Änderung am 2003-07-13, im Text gekennzeichnet durch rote Schrift
Jörn Loviscach

AKI2 Audio Processing

Erster Termin: 2. April, siehe detaillierte Terminliste unten
Vorlesung: Mittwoch, 9.45-11.15 Uhr, Raum I032c oder I220
Labor: Mittwoch, 11.30-13.00 Uhr, Raum I220

Wahlpflichtfach für den Diplomstudiengang Medieninformatik
Wahlpflichtmodul für den Bachelor-Studiengang Digitale Medien

Lernziele

Voraussetzungen

Diplomstudiengang Medieninformatik: Vordiplom
Bachelor-Studiengang Digitale Medien: DM-101-1, DM-103-1 und DM-301-1 o.ä. erfolgreich absolviert

Skript

Meine Unterlagen stelle ich zum Download bereit.

Prüfungsleistung

Die Prüfungsleistung besteht in einer "Praktischen Entwicklungsarbeit" in Zweiergruppen (keine Dreiergruppen, wahlweise Einzelarbeit, aber mit dem gleichen Umfang an Aufgaben).

Es ist eine Audio-Software zu entwickeln, die nach den vorgestellten Regeln der Kunst folgende vier Funktionen beherrscht:

Das Format der besagten Textdatei kann z.B. so aussehen:

# Alle meine Entchen
# Begleitakkord
0.0 1.0 C2
0.0 1.0 E2
0.0 1.0 G2
# Melodie
0.0 0.25 C3
0.25 0.5 D3
0.5 0.75 E3
0.75 1.0 F3
# und so weiter

Die Software kann offline mit WAV-Dateien arbeiten, aber auch (Bonuspunkte!) in Echtzeit z.B. mit DirectSound. Sie kann per Kommandozeile arbeiten oder (Bonuspunkte!) mit GUI. Betriebssystem und Programmiersprache sind mir weitgehend egal, so lange sie nicht abwegig werden (CP/M bzw. JavaScript). Denken Sie einfach daran, was Ihr zukünftiger Arbeitgeber hören möchte, wenn er Sie fragt: "Und mit welchem System haben Sie bei Audio gearbeitet?"

Ich empfehle, die Software Stück für Stück entlang der Vorlesung zu entwickeln.

6 Credits entsprechen 180 Zeitstunden Arbeit. Demzufolge ist der Löwenanteil der Arbeit außerhalb der regulären Veranstaltungen zu erledingen (im Labor oder zu Hause oder ...).

Labor

Ich ermuntere Sie ausdrücklich, sich zur Aufgabenlösung umfassend zu informieren und auszutauschen (Kommilitonen, Internet, Bücher etc.). Aber ich erwarte, dass jede(r) seine Lösung versteht. Das werde ich durch Nachfragen prüfen. Selbstverständlich: Fremdes Material in Animationen, Programmen und Dokumentationen ist deutlich als solches zu deklarieren; alles andere wäre ein Betrugsversuch. Nur aus Demoprogrammen von mir können Sie sich ohne Kommentar bedienen.

Es ist gemäß der Prüfungsordnungen nicht nur der Quellcode abzugeben, sondern eine komplette Dokumentation, also zusätzlich:

Die Dokumentation verfassen Sie als schlankes HTML, ggf. mit eingescannten Handzeichnungen; bitte nur eine elektronische Version ohne Papierausdruck. Microsoft® Word® missbillige ich ausdrücklich. Wenn Sie unbedingt ein monströses Textverarbeitungsprogramm benutzen müssen, nehmen Sie das kostenlose OpenOffice.org.

Die Note bilde ich so: Ich bestimme Teilnoten gemäß folgender Tabelle. Davon gilt die schlechteste. Mit Bonuspunkten (s.o.) lässt sich eine 1,0 erreichen.
 
Note Problemlösung Struktur Bezeichner Kommentare Dokumentation
5,0 wesentlicher Teil fehlt konfus konfus praktisch nicht vorhanden wesentlicher Teil fehlt
4,0 weitgehend, aber z.B. wichtige Ausnahmefälle nicht oder unkorrekt behandelt teilweise logische Mängel teilweise verwirrend jede Klasse und jede nichttriviale Methode erklärt weitgehend, aber z.B. wichtige Ausnahmefälle nicht behandelt
3,0 praktisch vollständig logisch verständlich zusätzlich: alle kritischen Stellen kommentiert. praktisch vollständig
2,0 vollständig modular, leicht erweiterbar selbsterklärend zusätzlich: alle nicht auf den ersten Blick einleuchtenden Stellen kommentiert. Aber nur die! vollständig

Termine

19.04. Mi verlegt auf 15.7. (s. u.) wegen Terminkollision
26.04. Mi verlegt auf 15./17.7. (s. u.) wegen Terminkollision
02.04. Mi Messgrößen für Audio; Sampling, (Anti-)Aliasing; Quantisierung, Dithering
23.04. Mi krank
30.04. Mi WAV-Dateien verarbeiten; Pegeleffekte: Noise Gate, Limiter, Kompressor; OpenAL als Beispiel einer 3D-Sound-API
07.05. Mi weiter Pegeleffekte; Signalfluss/Gerätschaften/Vorgehensweise im (virtuellen?) Studio am Beispiel von Cubase SX; MIDI
14.05. Mi MIDI-Programmierung; DirectSound-Programmierung
21.05. Mi MIDI in Java; Resampling: Upsampling/Downsampling; Verzögerungseffekte: Echo, Chorus, Faltungshall, Grundlagen der klassischen Hallverfahren (Diffusion)
28.05. Mi wegen IFI-Probevorlesung nur bis 11.15 Uhr Grundlagen zeitinvarianter linearer digitaler Filter (Klangregelung!), Frequenz-/Phasengang, Impulsantwort, FIR und IIR, Kausalität
04.06. Mi Grundtypen von IIR-Filtern, Flankensteilheit, Resonanz; Fourier- und z-Transformation
11.06. Mi Probevorlesungen Softwaretechnik-Professur; Räume nach Ankündigung
18.06. Mi Wiederholung/Steilkurs: komplexe Zahlen, exp(i phi), Fourier-Transformation; Filter-Entwurf mit z-Transformation
25.06. Mi verlegt auf 17.7. (s. u.) wegen Terminkollision
02.07. Mi Fortsetzung Filter; VST-Programmierung
09.07. Mi Visualisierungs-Programmierung mit WinAmp; Historie elektronischer Klangerzeuger, typische Funktionsprinzipien (Moog, Hammond, ...)
15.07. Di 9.30 bis 13.00; Synthese einfacher Wellenformen, periodische Wavetable-Synthese, Hüllkurvengenerator
17.07. Do 9.30 bis 13.00; FM-Synthese, Physical Modeling