Hallo... Ich suche nach einer Schaltung, die mir die Midi-Note-Befehle auf TTL-Ausgänge umsetzt. Hätte gern für jede Note (Wert 0-128) einen seperaten Ausgang, der mir eine LED ansteuert. Mir reichen zur Not auch 64 Ausgänge, besser wären aber 88 (A0-C8). Es gab mal eine tolle Umsetzung mit nem PIC 16F84, leider wurde das Projekt dann kommerzialisiert. http://www.geocities.ws/jdpetkov/Hardware/mdec64/mdec64.html Kann ja eigentlich nicht so schwer sein, die ankommenden Note on/off Befehle auszuwerten. Leider fehlen mir Programmierkenntnisse zur Umsetzung. Hat vielleicht schon einmal jemand von euch so etwas gebaut oder kann mir eine Selbstbaulösung nennen ? Danke und ein schönes Wochenende Dirk
:
Bearbeitet durch User
Dirk T. schrieb: > Ich suche nach einer Schaltung, die mir die Midi-Note-Befehle auf > TTL-Ausgänge umsetzt. Da brauchst du einen MIDI-Eingang (siehe MIDI: Beschaltung), einen beliebigen Mikrocontroller, und einen großen Haufen Ausgänge. > Leider fehlen mir Programmierkenntnisse zur Umsetzung. Also ist das Problem nicht die Hardware, sondern Software? Zum Parsen von MIDI-Note-On/Off-Nachrichten genügt ein kleines Stückchen Code:
1 | static uint8_t status = 0, note, counter = 0; |
2 | |
3 | void uart_byte_received(uint8_t byte) |
4 | {
|
5 | if (byte >= 0xf8) |
6 | return; // system real-time message |
7 | if ((byte & 0x80) != 0) { |
8 | status = byte; |
9 | if ((byte & 0xf0) <= 0x90) |
10 | counter = 1; // note on/off |
11 | else
|
12 | counter = 0; // ignore anything else |
13 | } else { |
14 | if (counter == 1) { |
15 | note = byte; |
16 | counter++; |
17 | } else if (counter == 2) { |
18 | if ((status & 0xf0) == 0x90 && byte > 0) |
19 | switch_output_on(note); |
20 | else
|
21 | switch_output_off(note); |
22 | counter = 1; // allow running status |
23 | }
|
24 | }
|
25 | }
|
Hallo... Stimmt, eigentlich hapert es an der Software. Wie die HW aussehen könnte, sieht man ja im oberen Link schon. So hatte ich mir das auch vorgestellt. Alles in allem müsste man ja "nur": - Midi Befehl (note on/off) einlesen - Wert in einer Tabelle umwandeln um den passenden Ausgang anzusteuern (0=Note off bzw. 1=Note on) - und dann wieder von vorne... Fehlt mir nur die Ahnung, um das einem Prozessor klar zu machen ggg Grüße Dirk
guck dir mal die Videos aus folgendem Link an. Der Mann hats sehr anschaulich erklärt so dass es kein Problem sein sollte das für deinen Bedarf anzupassen: http://goetzmd.de/category/diy/arduino
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.