Kodierung von Musik - MIDI (c) 2004 Niko Plath. Inhalt Einführung Die Hardware Das Datenformat Die...

Post on 05-Apr-2015

107 views 0 download

Transcript of Kodierung von Musik - MIDI (c) 2004 Niko Plath. Inhalt Einführung Die Hardware Das Datenformat Die...

Kodierung von Musik - MIDI

(c) 2004 Niko Plath

Inhalt

Einführung Die Hardware Das Datenformat Die MIDI-Nachrichten

Einführung

MIDI, Abk.

„Musical Instrument Digital Interface“ digitale serielle Schnittstelle dient Informationsaustausch / Steuerung

elektronischer Instrumente und audiotechnischer Geräte

Einführung

1982: Gespräche von Sequential-Circuits, Roland und Oberheim zur Standardisierung eines digitalen Schnittstellenformates

1983: MIDI Spezification1.0 wird als firmenübergreifende Norm von der MIDI Manufacturers Association veröffentlicht

MIDI-Standard wird mehrmals erweitert:

Speicherung von MIDI-Daten (Standard MIDI File)

Vereinheitlichung von Klangerzeugern (General MIDI)

Kommunikation mit Aufnahmegeräten (MIDI Machine Control)

zeitliche Synchronisation (MIDI Time Code)

Hardware

Die Anschlüsse Das Interface Vorgänge auf einer MIDI-Leitung

Die Anschlüsse

Verbindung - Kabel fünfpolige DIN-Buchsen, nur zwei Pole

verdrahtet Spezifikation schreibt vor: je eine MIDI-In-

und eine MIDI-Out-Buchse optional MIDI-Thru-Buchse

Das Interface seriell - pro Zeiteinheit

wird ein Bit über die Leitung übertragen

Stromschleife mit 5mA bei Verkabelung

Ausgangstreiber des Outputs schickt 5mA in Optokoppler

Diode und Wiederstände zum Schutz vor Kurzschlüssen und Verpolungen

Das Interface 5mA entspricht digitaler „1“ für „0“ wird der Strom für

eine Zeiteinheit unterbrochen

Im Optokoppler enthaltene LED blinkt im entsprechenden Rhythmus

gegenüber liegende Fotozelle registriert und gibt Info an Elektronik

Galvanische Trennung zur Vermeidung von Masseschleifen

Vorgänge auf einer MIDI-Leitung

Übertragungsgeschw.: 31250 Bits pro Sekunde Zeitrahmen für ein Bit: 32 Mikrosekunden Ruhezustand ist „high“ / “1“, 5mA Übertragung erfolgt byteweise

Konventionen laut Schnittstellenprotokoll

Vorgänge auf einer MIDI-Leitung

10 Bit Wortbreite Startbit „0“, Byte, Stopbit „1“ Empfänger vermerkt Zustand der Leitung in Schieberegister. Nach 8 Bit: Schieberegister wird ausgelesen, Stopbit stellt

Ruhezustand her

Das Datenformat

MIDI-Befehl - eins oder mehrere Bytes Bytes werden nacheinander gesendet,

dürfen nicht getrennt werden Empfänger: wann endet ein Befehl, wann

beginnt ein neuer? Anfang eines Befehls: Statusbyte darauf folgen Datenbyte(s)

Statusbyte

unterteilt in zwei Nibbles höchstwertiges Bit immer „1“ Befehlstyp + Adresse drei Bits - acht verschiedene

Befehlsmöglichkeiten

StatusbytesBefehle

Notenbefehle:

(1)000 = Note Off

(1)001 = Note On

(1)010 = Key Pressure

(1)101 = Channel Pressure

Steuerbefehle:

(1)110 = Pitch Wheel Change

(1)011 = Control Change

(1)100 = Program Change

(1)111 = System Realtime

Statusbytes

zweites Nibble - MIDI-Kanal 4 Bits - 16 MIDI-Kanäle Wenn Sendekanal ungleich

Empfangskanal.. Möglichkeit: Daisy-Chains

Datenbytes

höchstwertiges Bit immer „0“ sieben restliche Bits - Werte 0 - 127

typische MIDI-Nachricht

MIDI-Nachrichten Kanalbezogen - Channel Messages Systembezogen - System Common Messages Gerätebezogen - System Exclusive Messages

Kanalbezogen - Channel Messages

Note On/Off Key Pressure Control Change Program Change Channel Pressure Pitchbend

Note On/Off

herkömmliche Notation - Notenlänge MIDI zwei Befehle: „Note an!“, „Note aus!“ Note On Befehl: Kanal, Anschlagen einer

Taste, Notenwert, Anschlagstärke Note Off Befehl: Kanal, Loslassen einer

Taste, Notenwert, Geschwindigkeit des Loslassens der Taste

Key Pressure

Druckstärke nach dem Anschlag einzelne Taste / pro Anschlag ständiges messen / senden -

datenintensiv Aftertouch

Control Change

Steuerelemente - Regler, Tasten, Pedale 1. Datenbyte: Controller-Nummer 2. Datenbyte: Controller-Wert Für viele Regler Standardbelegung

Program Change

Umschalten der Programme eines MIDI-Gerätes

Verursacht z.B. Soundwechsel oder Presetwechsel bei Effektgeräten

Nur ein Datenbyte - 128 mögliche Programme direkt anwählbar

Channel Pressure

Nachdruckstärke irgendeiner Taste wird auf ganzen Kanal übertragen

Ein Datenbyte - 128 Werte, 0 = kein Druck, 127 = stärkster Druck

Pitchbend

Tonhöhenbeugung verändert Tonhöhe aller auf dem Kanal

gerade hörbaren Töne überträgt Werte mit zwei Datenbytes 14 Bits - Wertebereich 0 - 16383 1. Byte: Bits 1 - 7 (Least-Significant-Byte) 2. Byte: Bits 8 - 14 (Most-Significant-Byte)

Systembezogen - System Common Messages

MIDI Time Code Song Position Pointer Song Select Tune Request End of Exclusive (EOX)

MIDI Time Code

Synchronisationsverfahren SMPTE analog - MTC digital zeitbezogen Stunden, Minuten, Sekunden, Frames

Song Position Pointer

Synchronisationsverfahren taktbezogen Master sendet 24 Impulse (Clicks) pro

Viertel-Note wird mit zwei Datenbytes übertragen

(LSB + MSB)

Song Select

Ein Datenbyte Anwählen eines von 128 vom Sequenzer

verwalteten Songs

Tune Request

Korrektur der durch Erwärmung der elektronischen Bauteile verursachten Verstimmung der Tongeneratoren

relevant nur für analoge Geräte

End of Exclusive (EOX)

signalisiert Ende der Übertragung einer System-Exclusive-Message

Gerätebezogen - System-Exclusive-Messages (Sys-Ex)

Übertragung hersteller- und gerätespezifischer Informationen

z.B. Parameterwerte oder MIDI-Sequenzen zwischen Instrument und Computer

Normen: MIDI-Sample-Dump, Standard-MIDI-File (SMF), MIDI-Machine-Control (MMC)

Fragen?

Weiterführende Literatur Andre Ruschkowski, „Elektronische Klänge und

musikalische Entdeckungen“, Reclam, Stuttgart, 1998 Martin Supper, „Elektroakustische Musik und

Computermusik“, Wissenschaftliche Buchgesellschaft, Darmstadt, 1997

Philipp Ackermann, „Computer und Musik“, Springer Verlag, Wien, 1991

„Tutorial on MIDI and Music Synthesis“: http://www.harmony-central.com/MIDI/Doc/tutorial.html

„MIDIÜbersicht“:http://home.snafu.de/sicpaul/midi/midiy.htm