Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
USB-Relais durch MIDI-Message ansteuern - Vorschläge zur Realisierung gesucht.
GeneVorph
myCSharp.de - Member



Dabei seit:
Beiträge: 166

Themenstarter:

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

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16204

beantworten | zitieren | melden

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.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Scavanger
myCSharp.de - Member

Avatar #avatar-3209.jpg


Dabei seit:
Beiträge: 323

beantworten | zitieren | melden

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));}}
private Nachricht | Beiträge des Benutzers
GeneVorph
myCSharp.de - Member



Dabei seit:
Beiträge: 166

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers