Sie können ttymidi verwenden, um zwischen uart und alsa zu überbrücken.
Sie sollten in der Lage sein, dies mit dem RaspberryPi-Projekt zu erreichen, aber Sie müssen es selbst kompilieren.
Kann ich Linux (Kernel / ALSA / Jack) davon überzeugen, einen beliebigen UART- oder seriellen Port (normalerweise /dev/ttyS*
oder /dev/ttyUSB*
oder /dev/ttyACM*
) zur Ausgabe der MIDI-Meldungen zu verwenden?
So wurde MIDI beispielsweise auf dem Amiga gemacht. Wenn die elektrische Seite richtig eingerichtet ist und der UART auf MIDI-Raten getaktet werden kann, sollte die Übertragung grundsätzlich funktionieren.
Ich würde gerne wissen, ob es eine fertige Software-Option, Konfiguration, Treiber oder einen Hack gibt, um dies zu tun.
Sie können ttymidi verwenden, um zwischen uart und alsa zu überbrücken.
Sie sollten in der Lage sein, dies mit dem RaspberryPi-Projekt zu erreichen, aber Sie müssen es selbst kompilieren.
Das ist sehr schwierig. Die serielle Schnittstelle kann bei bestimmten Baudraten programmiert werden, die normalerweise zwischen 300 Bauds (oder so) und 115200 (230400 und 460800 auf neueren Maschinen) variieren. Die meisten Geschwindigkeiten sind jedoch Vielfache: 300, 600, 1200, 2400, 4800 usw. MIDI ist jedoch 31250 Bauds, was schwer zu programmieren ist, da es keine "harmonische" Beziehung gibt. Da dies im PC behoben ist (und sich vom Atari unterscheidet), stellt dies ein ernstes Problem dar.
Ein weiteres Problem ist, dass MIDI eine Stromschleifenschaltung (mit Optokopplern) ist, während RS232 mit Spannungen arbeitet. Sie müssen eine externe Schnittstelle erstellen, um die Kompatibilität herzustellen.
Die letzte Hürde ist dann die Software: Die Verwaltung des UART ist relativ einfach, und es gibt viele Beispiele (siehe "Anleitung zur seriellen Programmierung". Das Problem hier scheint, dass Sie dem MIDI wahrscheinlich eine Standardschnittstelle präsentieren möchten -Management von Musikprogrammen da draußen: Ihr Treiber muss also die UART-Seite verwalten und der Software die richtige Schnittstelle präsentieren.
Die meisten modernen MIDI-Interfaces stellen dem Benutzerprogramm auch das Timing mit dem MIDI-Code zur Verfügung, was ein zusätzliches Problem darstellt.
Es ist also viel einfacher, eine billige USB-zu-MIDI-Schnittstelle zu kaufen!