Mit den Haskell-Modulen in diesem Verzeichnis ist es möglich, die aus der Vorlesung bekannten Musikformeln in MIDI-Dateien umzuwandeln. Diese können dann auf den meisten PCs abgespielt werden.
Die Midi-Umwandlung basiert auf dem Haskore Computer Music
System. Dieses ist bereits im ad.musik.2012.tar.gz Archiv integriert.
Readme Informationen über das Haskore-System
Docs <Haskore - Verzeichnis>
Src <Haskore - Verzeichnis>
ghc_add <Haskore - Verzeichnis>
MIL.lhs Glue-Code (wahrscheinlich nicht Teil von Haskore)
MPlay.lhs Glue-Code (wahrscheinlich nicht Teil von Haskore)
MusikHelper.lhs grundlegende Definitionen aus der Vorlesung
Musik.lhs Die Datentypen Musik und Instrument aus der Vorlesung
MusikMain.lhs Anbindung an das Haskore-System
.... einige Haskell-Module des Haskore-Systems
Archiv ad.musik.2012.tar.gz entpacken (z.B. via Kommando "tar xzvf ad.musik.2012.tar.gz") und in das erzeugte Verzeichnis wechseln.
hugs MusikMain.lhs
MusikMain> genMidi bruderJakob2 "bj.mid"
In einem weiteren Terminal
$ timidity -Os bj.mid
(-Os wählt die Ausgabe über das ALSA-System - weitere Möglichkeiten sind in
der man-page enthalten)
Zum Testen der Midi-Wiedergabe ist im Archiv auch bruder.mid als
schon erzeugte Midi-Datei enthalten.
Die Datei MusikMain.lhs kann als Ausgangspunkte verwendet werden.
MusikHelper.lhs enthält einige Beispiele zum Programmieren mit den in der
Vorlesung definierten Datentypen.
Falls die Abhängigkeiten auf einem Linux-System noch nicht installiert sind, kann man dies meist über den Paketmanager erledigen. Zum Beispiel unter einem Debian-artigen System via:
# apt-get install hugs timidity
Auf relativ aktuellen Systemen läuft meist der Sound-Server PulseAudio. Zur
Kontrolle der Pegel und Einstellung der Wiedergabe empfiehlt sich PulseAudio
Volume Control (pavucontrol).
Timidity ist eine Möglichkeit die Midi-Dateien abzuspielen. Weitere Möglichkeiten sind Midi-Hardware, Winamp oder ähnliches.