Wie RS232, also lächerlich.
https://www.roboternetz.de/wissen/in...MIDI-Interface
Hallihallö, ich habe mal wieder ein Problem: Lässt sich das MIDI Protokoll eines Keyboards (Ja, das mit schwarzen und weissen Tasten, http://de.wikipedia.org/wiki/Keyboards ), auslesen, um eine Leiste mit LEDs in aufgemalten Tasten anzuschliessen, welche die gerade gedrückte Taste darstellen? Ich meine erstmal, ob es "einfach" ist (wie RS 232) oder "schwer" (wie USB).
MFG
Wie RS232, also lächerlich.
https://www.roboternetz.de/wissen/in...MIDI-Interface
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
MIDI ist nen RS232-Verschnitt. Also: "einfach wie RS 232"
Ok, danke schön! Dann will ich mal schauen...
Hallöchen!
Ich hab mir in einem Buch mal was nachgelesen, das ist aber von 1990, da dröhnt einem der Schädel bei der PC-Leistung der Zeit, wenn die dauernd von Amiga, C64 etc. reden
Und EPROMS wollt ich auch net brennen...
Das im Buch ist nicht schlecht, nur eben zu alt. Gibt es heutzutage standarisierte ICs für Midi? Wie gesagt, ich will das Gerät an den Midiausgang vom Keyboard anklemmen und für jede Taste eine LED haben, welche bei Tasdtendruck leuchtet. Cooler wäre auch noch, wenn man Duo-LEDs und die Anschlagdynamikfunktion der Taste verwendet, sodass die LED z.B. bei Druck rot aufblitzt und dann bis zum Loslassen grün leuchtet...
Also: gibts da was???
MFG und hier mal draufgehen, einfach geil: http://www.youtube.com/watch?v=bPjWP...elated&search=
vielleicht hilft dir das:
http://de.wikipedia.org/wiki/MIDI#Fu...IDI-Protokolls
soweit ich sehe werden (häufig) jeweils 3 bytes übertragen, "0x9n kk vv" beim anschlag einer taste.
das (hex) 9 in den ersten 4 bit wäre für dich wichtig, wenn du die anschlagsdynamik und den notenwert erfassen willst, danach evtl. noch die zweiten 4 bit für den channel 0-15. darauf folgt die angespielte note (0-127) und die dynamik (0-127). nix klar?
dein µC empfängt ein 144-127-63 (alles dezimal). weil das erste byte >127 ist, weiß dein µC, dass ein neuer datensatz anfängt.
144 ist binär 10010000 -> die erste bytehälfte (binär 1001) ist der code für "Beginnt das Spielen einer Note", die zweite bytehälfte (man sagt nibble, ich weiss..) ist 0 also der erste kanal.
bei den nächsten 2 bytes ist das erste bit 0 (also dezimal 0-127), daran erkennt das gerät, dass es sich um den teil eines datensatzen handelt. als nächstes byte folgt die note (127 = der "höchste ton"), darauf die dynamik (63 dez), also "mittel starker" anschlag.
vielleicht würde folgendes klappen (pseudo-code, kanns leider nicht testen):
sry falls ich mich täusche oder was falsch wiedergegeben habe.. korrigiert mich bitte!Code:int byte; while(1) { read(byte); if(byte>127) //erstes byte ist statusbyte für attack (anschlag) { if(byte%127==2) // 3tter channel { read(byte); // note led_an(byte%12); // 12 halbtonschritte angenommen, eine von 12 leds leuchten lassen read(byte); // dynamik if(byte>(63+32)) // anschlagsdynamik im oberen drittel { led2_an(); // stärkerer anschlag } } } }
p.s. bin fast sicher da stimmt irgendwas nicht
p.p.s. helge war mal echt gut, aber in dem fall eher nicht.
gruesse von der katz
Das (theoretisch) erste Byte beinhaltet welcher Event und welcher Channel (0-15).
Das zweite ist, welche Taste (0-127)
das dritte, wie laut (0-127)
Es gibt aber auch andere Events, also da muß man schon genau schauen.
Das erste Byte kommt nur, wenn eine anderer Event oder ein anderer Channel da ist. (running status) Sonst kommt nur Note u. Velocity
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Und selbst davon weicht der Sequenzer u/o die Midi-Verteiler-Kiste (wie immer man diese Boxen nennt, bin nicht aus der Szene) eines Kunden ab, für den ich demnächst ein Gerät umdesignen darf. Also nicht wundern, wenn es trotz Einhaltung der allseits bekannten Specs doch nicht so funktioniert wie geplant. Ich habe mir aus diesem Anlass eine Midi-to-Serial-Box nachgebaut, die die Rohdaten auf echtes RS232 umsetzt, so dass ich sie mit MidiSpy ansehen kann.
Das täte mich interessieren, klingt unglaublich. Weiß man Näheres ?..davon weicht der Sequenzer u/o die Midi-Verteiler-Kiste
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Bisher nicht, daher ja auch der Konverter, um den MIDI-Datenstrom mitzulesen. Ich bin auch schon sehr gespannt, was mich da erwartet.
Lesezeichen