Seite 1 von 1
Einführung in MIDI
Verfasst: 30. März 2007, 13:56
von huada
Um mit Reaktor arbeiten zu können sollte man etwas Ahnung von MIDI haben, deswegen hier eine kleine Einführung in MIDI.
Inhalt:
MIDI SOFTWARE
CHANNEL VOICE MESSAGES
CHANNEL MODE MESSAGES
SYSTEM COMMON MESSAGES
SYSTEM REAL TIME MESSAGES
SYSTEM EXCLUSIVE MESSAGES
STANDARD MIDI FILES
Verfasst: 30. März 2007, 13:58
von huada
MIDI Software
Das MIDI-Protokoll arbeitet mit dem binären Zahlensystem das auch in der Informatik Anwendung findet.
Binäres Zahlensystem heißt es werden nur 2 Zahlen verwendet, nämlich 0 und 1.
Diese beiden Zahlen bilden binäre Codes, die die Gäste dann als bestimmte Nachrichten identifizieren wobei an jeder stelle eine 0 oder eine 1 stehen kann.
Eine Stelle nennt sich Bit (Binary Digit)
8 Bit ergeben ein Byte (1 Byte = Datenwort)
Wie kommt man von den Bits auf die Werte?
Jedes Bit könnte also eine 0 oder eine1 sein, d.h. 2 Zustände (EIN und AUS) daraus entsteht die Formel 2 Hoch n.
Beispiel:
4 Bit = 2*2*2*2 Bit = 16 Werte
7 Bit = 128 Werte
8 Bit = 256 Werte
Das erste Byte nennt sich Statusbyte.
Das Statusbyte hat als erstes Bit immer die 1
Im Statusbyte steht die Befehlsart (Note On, Note Off,...) und bei manchen Befahlen der MIDI-Kanal.
Nach dem Statusbyte kommt das 1 Datenbyte danach das 2 Datenbyte. Die erste Zahl ist immer die 0. Die anderen 7 Bit sind für die Wertedarstellung zuständig.
Verfasst: 30. März 2007, 14:35
von huada
Channel Voice Messages
1) Note On
Der Befehl entspricht dem Anschlagen einer Taste oder eines Triggerpads.
Das eingestrichene C hat immer den Wert 60.
Nichtdynamische Keyboards überrtagen immer den Wert 64.
2) Note Off
Der Note Off Befehl wird beim Loslassen der Taste oder des Triggerpads erzeugt.
3) Channel Aftertouch
Wird auch Channel Pressure odermonophoner AT genannt.
Ist nur für Keyboards und Klangerzeuger interessant.
Mit dem Channel AT lassen Klangparameter wie Lautstärke Steuern.
Channel AT misst nur einen Wert für die gesamte Tastatur. (nur ein Drucksensor)
Dieser befehl kann auf 2 Arten erzeugt werden:
1.Durch Nachdrücken der Tasten nach dem Anschlag.
2.Durch Automation im Sequencer.
4) Key Aftertouch
Wird auch Key Pressure oder Polyphoner AT genannt.
Datenintensiver.
Key AT misst pro Taste einen eigenen Wert. (pro Taste ein Drucksensor) -> 2 Datenbytes
5) Programm Change
MIDI-Befehl zur Übertragung und Fernsteuerung von Programm Umschaltungen (Presets, Performances, Sounds .....).
6) Pitch Bend
Pitchbending ist eine stufenlose Veränderung der Tonhöhe und kann mittels Handrad oder Sequencerautomation benutzt werden.
MSB = MOST SIGNIFICANT BYTE
LSB = LEAST SIGNIFICANT BYTE
Semitone = Halbtone Schritt
100 Cent = 1 Semitone
MSB -> 1DB -> Semitones -> 7Bit
LSB -> 2DB -> Cents -> 7Bit
MSB + LSB = 14 Bi
7) Control Change
Midi-Befehl zur Übertragung von Spielhilfen und Steuerelementen. (Handräder, Potis, Fader, ....)
Alle Controller sind in einer Liste (Control Change Liste) zusammengefasst und haben eine eigene Nummer.
Diese Nummern werden von den Herstellern bis auf wenige Ausnahmen ignoriert die dann die Parameter ihres Gerätes in diese Liste eingetragen.
Ab Ctrl. Change 121 findet man die Channel Mode Messages.
Statusbyte -> 1011 -> 2 Datenbytes
Es gibt 2 Arten von Controller:
Nr. 0-63 Regler (Continuous Control)
Nr. 64-127 Schalter (Switches)
Verfasst: 30. März 2007, 14:53
von huada
Channel Mode Messages
1) Reset all Controllers
Control Change Nummer 121
Bei diesem Befehl werden Control Change, Pitch Bend, Aftertouch und Pedaleinstellungen
in eine sinnvolle Ausgangsposition gebracht.
Zu versenden vom Sequencer oder Keyboard aus.
2) Local Control
Central Change Nummer 122
Mit Local Control kann man die Klangerzeugung eines Synthesizer ausschalten. (Local On/Off)
Der Synthesizer dient nur als Masterkeyboard. Tastatur, Handräder, Potis, etc. sind weiterhin aktiv.
Befehl nur per Keyboard oder Sequencer zu versenden.
3) All Notes Off
Control Change Nummer 123
Dieser Befehl gilt als Panikfunktion und schaltet sämtliche noch klingende Noten ab.
4)
MODE1: OMNI ON POLY alle Kanäle gleichzeitig (mehrstimmig)
MODE2: OMNI ON MONO alle Kanäle gleichzeitig (einstimmig)
MODE3: OMNI OFF POLY nur 1 Kanal aber zum Auswählen (mehrstimmig)
MODE4: OMNI OFF MONO nur 1 Kanal (einstimmig)
MODE3b: MULTIMODE
Ein Klangerzeuger im Multimode ist in der Lage, Daten auf mehreren Kanälen unabhängig voneinander zu verarbeiten.
Verfasst: 30. März 2007, 15:06
von KlangRaum
kleiner einwurf: sowas gibts doch schon haufenweise im netz...
zb
http://www.midi.org/ /
http://de.wikipedia.org/wiki/Musical_In ... _Interface /
http://home.snafu.de/sicpaul/midi/midi0a.htm
und viele mehr....
eine linkliste zum thema midi und btw usb-midi / midi via lan / osc wäre sinnvoller
Verfasst: 30. März 2007, 15:16
von huada
Alles gibts im internet man braucht nur suchen. War eigentlich nur als hilfe gedacht für anfänger die in dieses forum kommen und keine ahnung haben. (damit man ned auf andere seiten linken muss) Aber wenn es nicht erwünscht ist lass ich es halt.
PS: Bis jetzt wirkt das ganze etwas arrogant auf mich! Habt ir angst das ihr was lernen könnt oder ein anderer mehr weis??
Vielleicht hab ichs ja auch nur falsch verstanden.
MFG
Huada
Verfasst: 30. März 2007, 15:54
von KlangRaum
huada hat geschrieben:
Vielleicht hab ichs ja auch nur falsch verstanden.
ja... sorry für meinen kommentar.

ich wollte weder an dir noch am inhalt deiner postings kritisieren. allerdings sollten sich beiträge zu einer knowledge-base an bereits bestehenden infos im web orientieren und nicht das rad zum xten mal neu erfinden, ohne es rund zu feilen.
Im Statusbyte steht die Befehlsart (Note On, Note Off,...) und bei manchen Befahlen der MIDI-Kanal.
wichtige info zum midi-befehlssatz wäre zb etwas über die zusammensetzung des befehlsbyte zu sagen - und dabei zb ein byte in hex oder bin darzustellen
siehe hier:
http://www.midi.org/about-midi/table1.shtml
Code: Alles auswählen
-------------------------------------------------------------------------
Channel Voice Messages [nnnn = 0-15 (MIDI Channel Number 1-16)]
-------------------------------------------------------------------------
1000nnnn 0kkkkkkk Note Off event.
0vvvvvvv This message is sent when a
note is released (ended).
(kkkkkkk) is the key (note) number.
(vvvvvvv) is the velocity.
1001nnnn 0kkkkkkk Note On event.
0vvvvvvv This message is sent when a
note is depressed (start).
(kkkkkkk) is the key (note) number.
(vvvvvvv) is the velocity.
....etcetcetc
erst bei dieser darstellung wird plötzlich transparent, wie der befehlssatz aufgebaut ist. oder zb der
running-mode - bei dem das befehlsbyte zb bei mehreren tastendrücken nur einmal am anfang gesendet wird, bis erneut ein befehlsbyte >$7f gesendet wird:
Code: Alles auswählen
1001nnnn 0kkkkkkk-0vvvvvvv 0kkkkkkk-0vvvvvvv 0kkkkkkk-0vvvvvvv ....
dadurch reduziert sich der datenstrom um ein drittel - was besonders bei der niedrigen datenrate von 3125 bytes/sec sehr sinnvoll ist...
aber wiegesagt: solche scripte gibts bis zum abwinken im netz - in deutsch wie in englisch...
Es gibt 2 Arten von Controller:
Nr. 0-63 Regler (Continuous Control)
Nr. 64-127 Schalter (Switches)
das stimmt so nicht. zb die RPN oder NRPN - die ja controllernummern > 64 haben lassen sich nicht als switch bezeichnen - sondern sind kaskadierte erweiterungen....
schau mal hier:
http://www.midi.org/about-midi/table3.shtml
ps
nimms bitte nicht persönlich....
Verfasst: 30. März 2007, 16:33
von huada
meiner meinung nach kannst du es so wem erklären der schon mal was von midi gehört hatt. Aber wenn du das so einen erklärst der keine ahnung hatt davon, der wirds ned verstehn und wird auch nie wieder was mit MIDI zu tun haben wolln. Doch wenn du anfangst es leicht zu erklären ohne zu sehr ins detail zu gehn wird er sich dafür interressieren oder auch ned. Wen er sich dafür interressiert kann man dann noch immer ins detail gehn. zb. midi für fortgeschrittene oder sowas.
MFG
Huada
Verfasst: 30. März 2007, 16:37
von KlangRaum
das hat nix mit midi für fortgeschrittene zu tun, wenn man derart strukturiert vorgeht...
nimm die wiki:
http://de.wikipedia.org/wiki/Musical_In ... _Interface
damit hast du alle anfängerrelevanten dinge bereits erschlagen....
imho kann ein
reaktor-forum ja durchaus darauf verlinken, anstatt sich da nochmal explizit durchzuquälen
Verfasst: 30. März 2007, 16:50
von huada
Jo passt scho. Hatt sich erledigt.
Verfasst: 31. März 2007, 11:28
von helmsklamm
also ich finds nett sowas an "zentraler" stelle zu haben. danke.
allerdings iss das sehr allgemein, ich vermiss n bissl die verlinkung mit reaktor. - was muss in reaktor wie und wo gestzt werden, damit überhaupt was ankommt und solche sachen.
da kann man als anfänger schon drüber stolpern.