Suche Schaltplan Midi Decoder/Umsetzung Midi - TTL

OP #4446391
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
#4446450
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
}
OP #4446464
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren