Forum: Mikrocontroller und Digitale Elektronik Suche Schaltplan Midi Decoder/Umsetzung Midi - TTL


von Dirk T. (helipage)


Lesenswert?

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
von Clemens L. (c_l)


Lesenswert?

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
}

von Dirk T. (helipage)


Lesenswert?

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

von Frank L. (hermastersvoice)


Lesenswert?

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
Noch kein Account? Hier anmelden.