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

34
Kodierung von Musik - MIDI (c) 2004 Niko Plath

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

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

Kodierung von Musik - MIDI

(c) 2004 Niko Plath

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

Inhalt

Einführung Die Hardware Das Datenformat Die MIDI-Nachrichten

Page 3: 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

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

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

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

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)

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

Hardware

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

Statusbyte

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

Befehlsmöglichkeiten

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

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

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

Statusbytes

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

Empfangskanal.. Möglichkeit: Daisy-Chains

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

Datenbytes

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

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

typische MIDI-Nachricht

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

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

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

Kanalbezogen - Channel Messages

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

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

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

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

Key Pressure

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

datenintensiv Aftertouch

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

Control Change

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

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

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

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

Channel Pressure

Nachdruckstärke irgendeiner Taste wird auf ganzen Kanal übertragen

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

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

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)

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

Systembezogen - System Common Messages

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

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

MIDI Time Code

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

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

Song Position Pointer

Synchronisationsverfahren taktbezogen Master sendet 24 Impulse (Clicks) pro

Viertel-Note wird mit zwei Datenbytes übertragen

(LSB + MSB)

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

Song Select

Ein Datenbyte Anwählen eines von 128 vom Sequenzer

verwalteten Songs

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

Tune Request

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

relevant nur für analoge Geräte

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

End of Exclusive (EOX)

signalisiert Ende der Übertragung einer System-Exclusive-Message

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

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)

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

Fragen?

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

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