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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.