next up previous
Next: ZeitberechnungMIDI-Tracks und Polyphonie Up: Die Sprache MC Previous: Die Sprache MC

Aufbau einer MC-Datei

Zunächst muß MC die umzuwandelnde Datei sowie deren Format mitgeteilt werden. Darauf folgen die Umrechnungsvorschriften für die Zeitinformationen und die einzelnen MIDI-Werte. Eine MC-Datei schließt mit dem reservierten Wort end.

mc-datei ::= Interface MIDI-Transformationen end
Interface ::= Dateideklaration Formatdeklaration
Dateideklaration ::= file Bezeichner
Formatdeklaration ::= format Bezeichner{Bezeichner} ;
MIDI-Transformationen ::= MIDI-Transformation {MIDI-Transformation}

Jede MC-Datei beginnt also (von Kommentaren abgesehen) mit dem reservierten Wort file gefolgt von dem Namen der umzuwandelnden Datei. Als nächstes folgt das reservierte Wort format gefolgt von einer anzahl beliebiger Bezeichner. MC geht dann davon aus, daß die entsprechende Datei aus einer Tabelle besteht, deren Zeilen jeweils ein einzelnes Ereignis beschreiben. Die Anzahl der Spalten der Tabelle ist identisch mit der Anzahl der angegebenen Bezeichner. Wird im Folgenden einer der Bezeichner verwendet, wird dadurch automatisch der Inhalt der entsprechenden Spalte das aktuellen Ereignis eingefügt

Eine einfache (aber vollständige) Eingabedatei:

file  test.num 
format  pitch ;

ontime          320;
offtime          40;
note     24 + pitch;
velocity         64;
end

In diesem Beispiel trägt die umzuwandelnde Datei den Namen ,,test.num``. Die dort beschriebenen Ereignisstabelle besteht nur aus einer Spalte, die im Folgenden mit pitch referenziert wird.

Da keine Angaben über den ,,Track`` des SMF gemacht werden, werden alle Ereignisse in Track 1 geschrieben (Track 0 ist als ,,Conductortrack`` reserviert. Tatsächlich werden alle Trackangeben automatisch um 1 erhöht, sodaß eine Angabe von Track 0 immer Track 1, eine Angabe von Track 1 Track2 meint etc. ).

Ebenso fehlen Angaben über die MIDI-Kanalnummer, also wird grundsätzlich MIDI-Kanal 0 angenommen.

Alle erzeugnet MIDI-Noten haben eine Dauer von 320 ,,Ticks`` (s.u.) und sind voneinander durch 40 ,,Ticks`` getrennt.

Die MIDI-Notennummer wird aus dem Wert pitch, also dem aktuellen Wert der einzigen Tabellenspalte entnommen, auf den dann noch 24 aufaddiert werden, was einer Transposition um 2 MIDI-Oktaven entspricht.

Die MIDI-Velocity ist für alle MIDI-Noten konstant 64.


next up previous
Next: ZeitberechnungMIDI-Tracks und Polyphonie Up: Die Sprache MC Previous: Die Sprache MC

Example user SuSE Linux 6.1
Tue Oct 19 23:47:00 MEST 1999