Laden...

USB-Relais durch MIDI-Message ansteuern - Vorschläge zur Realisierung gesucht.

Erstellt von GeneVorph vor 7 Jahren Letzter Beitrag vor 7 Jahren 2.113 Views
G
GeneVorph Themenstarter:in
180 Beiträge seit 2015
vor 7 Jahren
USB-Relais durch MIDI-Message ansteuern - Vorschläge zur Realisierung gesucht.

Hallo,

heute habe ich ein (hoffentlich) ganz einfaches Problem, zumindest klingt es banal, auch wenn das natürlich täuschen kann.

Mein Vorhaben:
Ich werkele zur Zeit an einem Home-Recording Studio rum. Herzstück ist ein Digitalmischpult (ein Tascam Dm3200, das leider nicht mehr hergestellt wird). Das Studio wird später aus zwei Räumen bestehen, die so konstruiert wurden, dass sie relativ schalldicht sind.
Ich möchte daher in einem Raum eine Lampe/LED o.ä. anbringen, die immer genau dann aufleuchtet, wenn ich am Digipult die "Aufnahme"-Taste betätige.

Nun ist es glücklicherweise so, dass das Digipult sämtliche Transport-Befehle (Vor, Zurück, Start, Stopp und AUfnahme) per MIDI via USB-Anschluss an den Computer sendet. Hier kam mir jetzt die Idee, diese MIDI-Befehle abzufangen und für meinen Zweck zu verwenden.

Im Prinzip bräuchte ich doch nur ein USB-Relais und entsprechenden Code, der die MIDI-Befehle ausliest und beim entscheidenden Befehl das Relais schaltet.

Liege ich da richtig?

Meine Frage bezüglich C#: es scheint mehrere Möglichkeiten zu geben eine MDI-Lib per using-Direktive einzubinden (Naudio? Ich kann mich leider nicht mehr an den Namen erinnern). Bereits hier bräuchte ich Hilfe.

Die MSDN-Referenz erschlägt mich hier eher statt zu helfen: ich hätte einen Aufnahme-Befehl im MIDI-Stream erwartet, aber laut Referenz gibt's da keinen Eintrag "record". Oder ich schau schlicht unter dem falschen Stichwort nach...

Falls mir jemand Tipps geben könnte, wie ich mich am besten an dieses Projekt heranwage, schon mal jetzt vielen Dank!

Vielleicht hat ja jemand schon mal was ähnliches gemacht und kann mir ein USB-Relais empfehlen?

viele Grüße
Vorph

16.807 Beiträge seit 2008
vor 7 Jahren

Das .NET Framework hat selbst keinen Wrapper für die Midi-Funktionen der Win32 API.

Alternativ gibt es Toolkits, die eben diese Win32 Funktionen für Dich bereits gewrappt haben.
Mir ist midi-dot-net bekannt, aber das ist schon ein paar Jahre alt. Sollten sich einige Forks auf GitHub finden, der originale Code ist auf (dem mittlerweile beschlossenen) Google Code.

Wie die Methoden in den Toolkits heissen; das ist eher immer unterschiedlich.
Aber die Quelltexte sind bei den Open Source Varianten ja offen: einfach rein schauen.

309 Beiträge seit 2008
vor 7 Jahren

Hallo,

wie gut kannst du löten?

Ich würde sowas nicht mit dem PC steuern, sondern einen Arduino dafür einspannen. Gibt eine MIDI Lib dafür und ein Relais ist auch schnell angeschlossen.
Für ein Midi-Interface braucht es gerade einmal zwei Widerstände an Arduino.

Zu den MIDI Befehlen, das Stichwort ist MMC (MIDI Machine Control): MIDI Machine Control

using System;class H{static string z(char[]c){string r="";for(int x=0;x<(677%666);x++)r+=c[
x];return r;}static void Main(){int[]c={798,218,229,592,232,274,813,585,229,842,275};char[]
b=new char[11];for(int p=0;p<((59%12));p++)b[p]=(char)(c[p]%121);Console.WriteLine(z(b));}}

G
GeneVorph Themenstarter:in
180 Beiträge seit 2015
vor 7 Jahren

Hallo und zunächst mal Danke für die Antworten!

@Abt: War noch mal auf GitHub und dort taucht immer wieder das NAudio Toolkit auf. Das schaut recht übersichtlich aus, es gibt Beispielprojekte und jede Menge Code zum Analysieren. midi-dot-net schau ich mir auch mal an - MIDI selbst ist ja auch schon etwas "älter".

@Scavanger: Hui - jetzt bringst du mich auf eine alte Fährte zurück! Ich hatte tatsächlich schon an den Raspberry Pi gedacht (hatte mit Arduino bisher nix zu tun). Mit dem Lötkolben bin ich vertraut - das alleine wäre nicht das Problem. Ich hatte eher den Gedanken: wozu einen Einplatiner, wenn ein USB-Relais reicht? Zumal man ein 8Kanalrelais für 30 Euro bei Conrad abstauben kann. Dennoch: ich hatte auch schon mit der Idee geliebäugelt. Vlt. kannst du mir ja noch ein paar Pro-Statements liefern - wie gesagt, bin da noch offen.

viele Grüße