Neue Antwort schreiben 
 
Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
MIDI - Netzwerk - und ein paar Geräte die nicht wollen.
Magic94 Offline
mehr Kerne ist immer besser

Beiträge: 1.382
Registriert seit: Nov 2010
Beitrag #1
MIDI - Netzwerk - und ein paar Geräte die nicht wollen.
Guten morgen!
Habe gestern ein kleines Programm geschrieben was MIDI Events übers Netzwerk schickt.

Kurze Erläuterung des doch etwas umwegigen Verfahrens:
Ein MIDI-Player (hier Winamp) spielt eine MIDI Datei auf meinem HauptPC ab.
Winamp gibt die MIDI Events in MIDI-Yoke (virtuelles MIDI Kabel).
Mein Programm empfängt daraus diese Events, verpackt sie in einem Record und schießt sie per UDP-Broadcast ins Netzwerk.
Mein Thinkpad empfängt diese Nachricht, alles wird wieder auseinander gepflückt und als MIDI Event erstmal auf den Microsoft Synth geschoben.
Ton kommt flüssig und meistens ohne weitere Lags.
Nun hängt am MPU-401 (Gameport) des Thinkpads meine Gravis Ultrasound.
Wenn ich nun also die MIDI Events die vom Netzwerk kommen vom Thinkpad dann zur Gravis Ultrasound schicke kommt auch von ihr Musik.

Und jetzt das Rätsel Nr.1 (gelöst)
50% der MIDI Files werden auf diesem Wege nicht von der GUS geschluckt.
Wenn ich dann ein MIDI-File direkt auf dem Thinkpad abspiele und zur GUS schicke ist das kein Problem. Warum also weigert sich die GUS? Die weiss ja schließlich nicht von wo die Events genau kommen. Vom Thinkpad halt.

Rätsel Nr.2
Wenn dann einmal eine MIDI abgespielt wurde, welche NICHT von der GUS akzeptiert wurde, laufen die die eigentlich funktionieren auch nicht mehr. Die GUS macht also komplett dicht! Wenn ich dann während der Wiedergabe von meinem PC auf dem Thinkpad den Synth wieder wechsel auf den MS-Synth kommt da auch was an! Ich muss also erst mein Programm beenden. Vom Thinkpad eine MIDI direkt abspielen und zur GUS schicken (da werden dann auch alle akzeptiert).
Und erst dann klappt wieder der Netzwerk-weg.

Rätsel Nr.3
Dieser ist etwas Code-Spezifischer
Die MIDI-In Komponente welche ich nutze wird ziemlich oft asynchron. Erst wenn ich dann einmal MidiIn.Stop und wieder MidiIn.Start ausgeführt habe wird es wieder normal.
Habe schon nachgeguckt. Es gibt keinen Buffer den ich soweit verstellen kann. Aber irgendwas scheint da ja mal gut überzulaufen.
Den Code und die Komponenten werde ich erst heute Nachmittag / Abend hochladen.

EDIT1: Jap .. Rätsel Nr.1 hätte ich dann schon :D


Grüße

HP DL-580 G7
2x Intel Xeon E7-2870 (10 x 2,4GHz)
96GB DDR3-1333 RAM
NVIDIA GeForce GTX 1080 MSI (Blower)
Samsung 850 Pro 512GB auf PCIe Karte
4TB Seagate billigfieh
72GB 10K HP Drive
(Dieser Beitrag wurde zuletzt bearbeitet: 25.02.2013 11:18 von Magic94.)
25.02.2013 11:12
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neue Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste