Forum: Mikrocontroller und Digitale Elektronik Midi Switcher Software für µC in C


von Axxl (Gast)


Lesenswert?

Hallo zusammen,

ich bin z.Z. dabei, mir ein Gerät (eine Art Midi Switcher) zu basteln, 
welches für mich wichtige Aufgaben im Live-Musik Bereich übernimmt. In 
meinem Fall soll es in der Lage sein, Midi "Program Change" Befehle (von 
meinem Footcontroller kommend) zu interpretieren und darauf hin Relais 
zu schalten. Ein denkbar simple Aufgabe für einen µC...

Nach etwas Recherche bin ich als Mikrocontroller Basis auf den PIC16F84A 
gestoßen, u.a weil er hier (http://www.jimkim.de/html/guitar01_01.htm) 
verwendet wird und mir für diese Aufgabe gut dimensioniert erscheint. 
Die entsprechende Beispielschaltung und einen Programmer habe ich 
bereits aufgebaut.

Ich selber bin Informatik Student mit etwas Erfahrung in Mikrocontroller 
Programmierung in C jedoch auf deutlich hardwareabstrakterer Ebene. Mit 
so kleinen Controllern wie dem PIC habe ich noch nicht gearbeitet. Auch 
mit Midi hatte ich bis jetzt nichts zu tun.

Leider finde ich im Web nur Source Code Beispiele in Assambler und 
außerdem keine Beispiele für eine mögliche Implementierung zur 
Interpretation von Midi Program Change Befehlen.

Überhaupt finde ich kaum Beispiele die mir weiterhelfen, was mit 
ziemlich stutzig macht... Gibt es nicht eine Art standard "Midi Stack" 
in C? Wo kann ich entsprechende Midi Spezifikationen überhaupt 
nachschlagen?

Generell bin ich wegen der ganzen Unbekannten in meiner Gleichung nun 
doch etwas überfordert. Ich würde nur sehr ungerne anfangen, mir nur für 
diese Anwendung Assembler beizubringen. Außerdem find ich's wahnsinnig 
unübersichtlich...

Hat jemand bereits Erfahrungen in diesem Bereich und kann mir Tipps zum 
Einstieg geben?

Danke und Grüße
Axxl

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

MIDI ist nichts weiter als UART mit 31250kBaud. Das kann so ziemlich 
jeder Controller mit eingebauter UART-Hardware und geradem MHz-Quarz. 
Zum Testen Deines Programms kannst Du als Gegenpart wunderbar MIDI-OX 
verwenden, auf deren Seite findest Du auch die notwendigen Informationen 
zum Protokoll.

http://www.midiox.com

Wenn Du lieber mit AVRs basteln möchtest, könntest Du hier im Forum mehr 
Glück mit MIDI-Firmware haben. Assembler ist auch nicht so schlimm, wie 
es immer klingt ;-)

von AVerr (Gast)


Lesenswert?

http://www.midi.org/techspecs/midimessages.php
MIDI ist denkbar einfach aufgebaut ... bei deinen Program Changes kommen 
2 Bytes an, wie der MIDI Tabelle zu entnehmen ist.

Der technische Aufwand ist auch überschaubar, dafür gibt es ja die UART 
Schnittstelle.

Generell ist MIDI super geeignet für den Einstieg in die 
Mikrocontroller-Welt ( insbesondere, da man dabei auch lernt, 
Datenblätter zu lesen und sich Informationen zusammenzusuchen ... davon 
gibt es im Internet sehr viele ).

von hmmm (Gast)


Lesenswert?

Such mal bei google nach midibox... Das ist ein Projekt, das alle 
möglichen MIDI-Geräte baut. Für deine Zwecke vermutlich Overkill, aber 
eventuell willst du es ja noch erweitern oder kannst dir trotzdem was 
abgucken.

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.