Home | Lehre | Videos | Texte | Vorträge | Software | Person | Impressum, Datenschutzerklärung |
Jörn Loviscach
Wahlpflichtfach für den Diplomstudiengang Medieninformatik
Wahlpflichtmodul für den Bachelor-Studiengang Digitale Medien
Es ist eine Audio-Software zu entwickeln, die nach den vorgestellten Regeln der Kunst folgende vier Funktionen beherrscht:
# 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 ...).
Es ist gemäß der Prüfungsordnungen nicht nur der Quellcode abzugeben, sondern eine komplette Dokumentation, also zusätzlich:
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 |
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 |