Guten Tag, Zur Erklärung am besten erstmal ein Bild als Anhang. So jetzt zur Erklärung: Ich besitze ein standartmäßiges Digital Piano vom Yamaha das über einen USB[B] - Midiausgang verfügt. In den letzten Monaten hab ich mir ein Beleuchtungsmodul dafür gebaut: Jede Taste lässt eine LED auf einer LED-Kette aufleuchten (dimmbar, Farbeinstellungen wählbar etc.) Das Modul wird einfach mit dem USB[B]-Anschluss vom Piano verbunden, funktioniert einwandfrei. Sooo, da mein DigitalPiano nicht so guten Sound besitzt will Ich die Mididaten vom Laptop einlesen lassen um die Stücke z.B aufnehmen zu können oder einen anderen Klavier-Sound in Echtzeit (mittels eines VSTi) auflegen zu können. Seperat klappt beides: also entweder Beleuchtung oder guten Klaviersound mittels Laptop. Beides klappt aber nicht. Dazu müsste das Midi-Signal ja aufgesplitted werden. Über digitale Midisignalverarbeitung habe Ich jetzt einigermaßen Ahnung durch das programmieren des Moduls. Aber jetzt will Ich ja das Midi-Signal an beide Sachen (Led-Modul & Laptop) schicken. Wie kann Ich das Midi-Signal in Echtzeit aufsplitten? (Led-Modul & Laptop) besitzen über eine eigene Stromversorgung Auch wenn Ich wusste dass es nicht klappt weil es keinen Sinn macht hab Ich es dennoch versucht zur Info: Rückwärts über einen USB-Hub klappt es nicht :)
:
Bearbeitet durch User
Markus L. schrieb: > Wie kann Ich das Midi-Signal in Echtzeit aufsplitten? https://www.thomann.de/de/kenton_midi_thru_5.htm Auf die Schnelle gesucht. Gibt es aber auch mit nur zwei Ausgängen... Suchbegriff "midi splitter"
Das ist leider keine Lösung da das Midi-Signal über USB-Kabel verteilt wird und nicht über alte MIDI-Buchsen
Könnte man das Signal grob gesagt an 2 Impedanzwandler schicken die jeweils das Signal über ein Kabel weitergeben? Oder würde das das Signal zu stark verfälschen?
Markus L. schrieb: > Könnte man das Signal grob gesagt an 2 Impedanzwandler schicken die > jeweils das Signal über ein Kabel weitergeben? Nein. Das ist mit USB vollkommen ausgeschlossen. Dein Piano ist ein USB-Gerät. USB-Geräte können nur mit exakt einem USB-Host verbunden werden. Deine Bastellösung enthält einen USB-Host; wenn Du nun die Daten auch an einen PC "weiterleiten" willst, müsstest Du ein USB-Device in Deine Bastellösung integrieren, an das Du die in Deiner Bastellösung ermittelten MIDI-Daten weiterleitest. Das USB-Device muss wiederum die USB-MIDI-Geräteklasse implementieren, damit es sich, mit einem PC verbunden, wieder verhält wie Dein Piano.
Rufus Τ. F. schrieb: > Markus L. schrieb: >> Könnte man das Signal grob gesagt an 2 Impedanzwandler schicken die >> jeweils das Signal über ein Kabel weitergeben? > > Nein. Das ist mit USB vollkommen ausgeschlossen. > > Dein Piano ist ein USB-Gerät. USB-Geräte können nur mit exakt einem > USB-Host verbunden werden. > > Deine Bastellösung enthält einen USB-Host; wenn Du nun die Daten auch an > einen PC "weiterleiten" willst, müsstest Du ein USB-Device in Deine > Bastellösung integrieren, an das Du die in Deiner Bastellösung > ermittelten MIDI-Daten weiterleitest. > > Das USB-Device muss wiederum die USB-MIDI-Geräteklasse implementieren, > damit es sich, mit einem PC verbunden, wieder verhält wie Dein Piano. Was wäre die beste Möglichkeit ein USB-Device zu integrieren? Das Modul besteht aus deinem Arduino-Mega + Midi-Shield + zusätzlicher Elektronik.
Interessant. Ich habe gerade mal nach USB-MIDI Adapter gesucht aber nur welche für die "andere Seite" (dem PC) gefunden.
Frage: Gibt es denn keinen Konverter von USB auf die alten MIDI Buchsen? Denn dann könnte man ja das eigentliche MIDI Signal worum es ja letztendlich geht auch leicht verteilen. Gruß Tom
>Gibt es denn keinen Konverter von USB auf die alten MIDI Buchsen?
klar, massenhaft.
WS schrieb: >>Gibt es denn keinen Konverter von USB auf die alten MIDI Buchsen? > > klar, massenhaft. Aber nur zum Anschluß an den Computer und nicht andersrum. Hier wäre einer gefragt, der am Klavier-USB angesteckt wird und daraus auf MIDI konvertiert. Du sagst "massenhaft"? Ich kenne keinen, aber ich kann ja auch nicht alles kennen. Würde mich jedenfalls auch interessieren.
Erwin D. schrieb: > Aber nur zum Anschluß an den Computer und nicht andersrum. Hier wäre > einer gefragt, der am Klavier-USB angesteckt wird und daraus auf MIDI > konvertiert. Warum, Markus braucht doch genau die "übliche" Richtung. Was zum Anstecken an die Klavier-USB-Buchse um die Midi-Daten rauszuziehen hat er ja schon. Da muss er nur das Midi-Signal doppeln (ganz problemlos, einfach parallelschalten, ggf. Bufferstufe) und das an einen 08/15 Midi-USB-Stöpsel von der Stange anschließen.
AntiMaker schrieb: > Warum, Markus braucht doch genau die "übliche" Richtung. > Was zum Anstecken an die Klavier-USB-Buchse um die Midi-Daten > rauszuziehen hat er ja schon. Hat er nicht. Braucht er aber: Markus L. schrieb: > Das ist leider keine Lösung da das Midi-Signal über USB-Kabel verteilt > wird und nicht über alte MIDI-Buchsen
Erwin D. schrieb: > Hat er nicht. Braucht er aber: Hat er ziemlich sicher schon. Sein Selbstbau-Modul, was als USB-Host die Midi-Daten entgegennimmt und daraus seine Lichterketten-Steuersignale generiert hat (ziemlich sicher, außer es ist ein RasPi o.Ä. im Spiel) einen MIDI-Zwischenschritt.
Markus L. schrieb: > Das Modul besteht aus deinem Arduino-Mega + Midi-Shield + zusätzlicher > Elektronik. Exakt was für ein "Midi-Shield" soll das sein? Verlink das doch mal.
AntiMaker schrieb: > Erwin D. schrieb: >> Hat er nicht. Braucht er aber: > > Hat er ziemlich sicher schon. > Sein Selbstbau-Modul, was als USB-Host die Midi-Daten entgegennimmt und > daraus seine Lichterketten-Steuersignale generiert hat (ziemlich sicher, > außer es ist ein RasPi o.Ä. im Spiel) einen MIDI-Zwischenschritt. Er kann sich ja nochmal dazu äußern, ob in seinem gebauten Adapter ein Midi-Signal vorliegt oder nicht. Wenn ja, dann könnte er dieses Midi auf einen Midi-USB-Adapter geben, um es per USB zum Laptop zu transportieren. Damit hättest du natürlich Recht. Ich ging davon aus, daß er einen USB-Midi-Adapter ans Instrument anschließt, daraus Midi macht und dieses Midi-Signal beliebig verteilen kann (z.B. mit dem Midi-Splitter, den ich oben verlinkt habe). Aber darauf sagte er ja, daß das nicht geht... Also, Markus: äußere dich bitte dazu und löse unsere Verwirrung, ok? :-)
USB / Midi Daten in den Computer und dort splitten (in Software) und dann über zweites USB / Midi Interface wieder raus. Das wäre, denke ich, das einfachste. Gerhard
Wenn sein PC eh läuft um die MIDI Daten mit bessern Klaviersound auszugeben, dann kann er auch das http://www.midiox.com/ (Das Schweizer Messer unter den Midi Tools) nutzen um die Daten an einer weiteren Midi Schnittstelle wieder auszugeben. D.h. seine selbst Bau Lösung auch an den PC und dort müsste sich das Ding ja als USB-Midi melden. Mich würde aber auch eine Lösung USB vom Musikinstrument an alte Midi Schnittstelle (ohne PC!) interessieren! Gibt es meines Wissens nach nicht :-( Von daher Markus (@OP) wie hast Du Deine Bastellösung realisiert?
:
Bearbeitet durch User
Matthias H. schrieb: > Wenn sein PC eh läuft um die MIDI Daten mit bessern Klaviersound > auszugeben, dann kann er auch das http://www.midiox.com/ (Das Schweizer > Messer unter den Midi Tools) nutzen um die Daten an einer weiteren Midi > Schnittstelle wieder auszugeben. D.h. seine selbst Bau Lösung auch an > den PC und dort müsste sich das Ding ja als USB-Midi melden. > > Mich würde aber auch eine Lösung USB vom Musikinstrument an alte Midi > Schnittstelle (ohne PC!) interessieren! Gibt es meines Wissens nach > nicht :-( > Von daher Markus (@OP) wie hast Du Deine Bastellösung realisiert? MidiOx kenne Ich, das hab ich ja ganz vergessen als Ich mich damals mit Midiprotokollen beschäftigt habe, Ich werds heute abend mal ausprobieren, und rückmelden, Danke. Mein Setup hab Ich mal abfotografiert: Das "Midishield", bzw ein USB-Host Shield ist sehr zu empfehlen, Ich hatte damit keinerlei Probleme: https://www.sainsmart.com/sainsmart-usb-host-android-adk-shield-2-0-for-arduino-uno-mega-r3-mega2560-duemilanove-nano-robot.html Wie gesagt damit lässt sich nur per USB empfangen (was heutzutage ja mittlerweile Standard ist) Wie zu erkennen ist fängt es am blauen Kabel an am Piano und endet (über ein Verlängerungskabel) am Arduino-Shield
:
Bearbeitet durch User
Naja, mit dem USB-Host kommst Du ja an die Midi-Daten Deines Pianos 'ran. Jetzt kannst Du entweder ein normales Midi-Shield verwenden, um serielle MIDI-Daten aus diesen Daten zu erzeugen und dieses mit einem einfachen USB-MIDI-Adapter wieder mit Deinem PC verbinden, oder aber Du verwendest ein USB-Device-Shield bzw. einen von sich aus USB-tauglichen Arduino und implementierst darauf ein USB-MIDI-Device.
Erwin D. schrieb: > WS schrieb: >>>Gibt es denn keinen Konverter von USB auf die alten MIDI Buchsen? >> >> klar, massenhaft. > > Aber nur zum Anschluß an den Computer und nicht andersrum. Doch, die gibt's auch andersrum. > Hier wäre einer gefragt, der am Klavier-USB angesteckt wird und daraus auf > MIDI konvertiert. Du sagst "massenhaft"? Ich kenne keinen, aber ich kann > ja auch nicht alles kennen. Würde mich jedenfalls auch interessieren. Dann such mal z.B. nach "Kenton MIDI USB host" oder "Mode Machines Cerebel USB". Markus L. schrieb: > Wie gesagt damit lässt sich nur per USB empfangen (was heutzutage ja > mittlerweile Standard ist) Die meisten richtigen Geräte haben eigentlich schon noch echte MIDI-Anschlüsse. Wie sollte man die sonst auch ohne PC untereinander verbinden?
"Kenton MIDI USB host" Danke! Den kannte ich noch gar nicht. Stolzer Preis aber dafür auch MIDI in & out ! Werde mir den mal besorgen... Genial, gerade auf deren Webpage gesehen: http://www.kentonuk.com/products/items/utilities/usb-host.shtml Die neueste Version kann sogar an einen USB-Hub angeschlossen werden und bis zu 4 USB Geräte wandeln :-) ... If your host has the latest firmware already installed then you can plug in a powered USB hub and up to four USB devices can then be connected ... Danke! Grüße homa
:
Bearbeitet durch User
Ic hatte mal ein Spielzeug keyboard, das hatte intern eine Midi Schnittstelle mit TTL Pegeln auf Flachkabel aber nach außen hin eine USB Buchse mit angeflanschter Adapterplatine. Da hätte man die herkömmlichen Midi Signale einfach vor der Platine abgreifen können. Ich habe auch ein Yamaha Klavier, sieht so aus wie deins. Das möchte ich aber lieber nicht öffnen, wegen Gewährlesitung und weil es mir zum kaputtmachen zu teuer ist. Aber vielleicht traust du (Markus L.) dich, mal nachzuschauen.
Matthias H. schrieb: > Wenn sein PC eh läuft um die MIDI Daten mit bessern Klaviersound > auszugeben, dann kann er auch das http://www.midiox.com/ (Das Schweizer > Messer unter den Midi Tools) nutzen um die Daten an einer weiteren Midi > Schnittstelle wieder auszugeben. D.h. seine selbst Bau Lösung auch an > den PC und dort müsste sich das Ding ja als USB-Midi melden. > Ich hab das USBHost-Shield jetzt mal an den PC angeschlossen aber es erscheint nix auf dem Laptop. Nur wenn ich es direkt an den Arduino anschließe. Mein ganzer Code basiert aber darauf dass das der USB-Host die Daten über seinen USB Port empfängt
:
Bearbeitet durch User
Markus L. schrieb: > Mein ganzer Code basiert aber darauf dass das der USB-Host die Daten > über seinen USB Port empfängt Das soll ja so bleiben. Nur: Die Midi-Daten, die dein USB-Host empfängt, (parallel zur Lichterketten-Verarbeitung) nochmal ausgeben lassen. Als Midi-OUT, Seriell. Diesen MIDI-Out kannst du dann an deinen Laptop verbinden (über USB-Midi-Stöpsel). d.H. im Gegensatz zu deiner Zeichnung ganz oben ist das "T-Stück" in deiner Lampen-Box, nicht davor.
Markus L. schrieb: > Ich hab das USBHost-Shield jetzt mal an den PC angeschlossen aber es > erscheint nix auf dem Laptop. Das ist kein Wunder, man kann keine zwei USB-Hosts miteinander verbinden.
AntiMaker schrieb: > Markus L. schrieb: >> Mein ganzer Code basiert aber darauf dass das der USB-Host die Daten >> über seinen USB Port empfängt > > Das soll ja so bleiben. > Nur: Die Midi-Daten, die dein USB-Host empfängt, (parallel zur > Lichterketten-Verarbeitung) nochmal ausgeben lassen. Als Midi-OUT, > Seriell. > Diesen MIDI-Out kannst du dann an deinen Laptop verbinden (über > USB-Midi-Stöpsel). > > > d.H. im Gegensatz zu deiner Zeichnung ganz oben ist das "T-Stück" *in* > deiner Lampen-Box, nicht davor. Ich verstehe, dann muss Ich mich noch damit beschäftigen wie Ich die MidiDaten sende über den USB-Host
Markus L. schrieb: > wie Ich die MidiDaten sende über den USB-Host Du willst sie nicht über den USB-Host senden. Den USB-Host benutzt Du schon, um mit Deinem Piano zu reden. Du willst das, was Du mit dem Host empfängst (und für Deine Lampe auswertest) nochmal an einer seriellen Schnittstelle (als Bestandteil einer normalen MIDI-Schnittstelle) ausgeben.
> Schnittstelle wieder auszugeben. D.h. seine selbst Bau Lösung auch an > den PC und dort müsste sich das Ding ja als USB-Midi melden. Warum sollte sie das tun? Er braucht ZUSÄTZLICH zum USB-HOST ein USB-Client, welcher sich als USB-Midi ausgibt. Hier böte sich die USART an, welche mit der üblichen MIDI-Baudrate die, vom HOST, empfangegen Signale einfach weiterleitet. Über mIDIoX und einer freien seriellen lassen sich die Daten dann problemlos mit dem Laptop empfangen. StromTuner
Das Projekt ist an sich ganz schön, könnte auch für meine Freundin interessant sein. Aber warum nicht einen Raspberry-pi (zero (w)) als Gateway benutzen? Also Raspberrypi mit Piano verbinden, und dort die Signale auseinanderprimeln und ggf. weiterleiten?
ui schrieb: > und ggf. weiterleiten? Das, genau das ist das Problem. Ein Raspberry Pi ist kein USB-Device, er kann also nix weiterleiten.
Der Arduino per se ist auch kein USB-Device, weder noch... StromTuner
Wow es hat endlich geklappt, nun endlich mit Licht und bester Soundqualität! Für alle die es interessiert: Im Arduinocode habe ich die Mididateien wie vorgeschlagen über die serielle Schnittstelle zum Laptop ausgegeben. Damit kann der Laptop ja noch nicht viel anfangen, über die Frage wie man Seriel-->Midi umwandelt ist mir folgendes sehr nützliches Programm über die Füße gestolpert: http://projectgus.github.io/hairless-midiserial/ Anschließend noch einen virtuellen Midi-Port erstellt damit meine Klaviersoftware (Pianoteq5) einen Midikanal zur Verfügung hat, mit folgender Software: https://www.tobias-erichsen.de/software/loopmidi.html Noch schnell eingestellt in Hairless-Midi: =================== Serieleingang: ArduinoMega Midi-Out: Der virtuell erstellte Midi-Port =================== Die Klaviersoftware (Pianoteq5) (könnte auch jedes andere VSTi oder Musiksoftware sein) empfängt ohne spürebare Latenz in quasi Echtzeit alle Tasten, Pedal-anschläge. Funktioniert endlich top! Deswegen wollte Ich mich nochmal bei allen bedanken die mir hier mit ihren Anregungen und Tipps weitergeholfen haben. Eine tolle Community! Bei Gelegenheit werde Ich eventuell noch ein kleines Video hochladen falls dies gewünscht wird. Mfg Markus
:
Bearbeitet durch User
Markus L. schrieb: > Deswegen wollte Ich mich nochmal bei allen bedanken die mir hier mit > ihren Anregungen und Tipps weitergeholfen haben. Eine tolle Community! Dann auch von mir herzlichen Glückwunsch! > > Bei Gelegenheit werde Ich eventuell noch ein kleines Video hochladen > falls dies gewünscht wird. Ja, würde mich auch interessieren. Mach das :-)
Markus L. schrieb: > Im Arduinocode habe ich die Mididateien wie vorgeschlagen über die > serielle Schnittstelle zum Laptop ausgegeben. Das ist doch schon mal ein Erfolg. Glückwunsch! Und nun verwende die übliche MIDI-Beschaltung mit 5poliger DIN-Buchse (wie sie beispielsweise auf dem MIDI-Shield zu finden ist: https://www.sparkfun.com/products/12898) und betreibe die serielle Schnittstelle mit der MIDI-Baudrate von 31250 Baud. Dann brauchst Du nur noch ein normales MIDI-USB-Kabel um das mit Deinem PC zu verbinden und kannst auf die Klimmzüge mit midiserial und virtuellem MIDI-Port verzichten. Was sich in so einem MIDI-USB-Kabel versteckt ist im wesentlichen das hier: http://morecatlab.akiba.coocan.jp/morecat_lab/MOCO-e.html Das hat nur die Einschränkung, daß hier V-USB verwendet wird, und V-USB mit MIDI nicht standardkonform ist. Am schicksten ist es, wenn Du einen Arduino mit eigener USB-Schnittstelle verwenden würdest, d.h. einem auf dem z.B. der ATmega32U4 drauf ist, könntest Du mit LUFA die USB-MIDI-Geschichte auch in "richtig" selbst implementieren. Ein Beispiel für so etwas ist der Arduino Micro: https://store.arduino.cc/arduino-micro An den musst Du zwar weiterhin Dein USB-Host-Shield anschließen, um mit Deinem Piano "reden" zu können, aber der Rest wäre elegant und standarkonform gleich in einem abgewickelt.
Rufus Τ. F. schrieb: > Und nun verwende die übliche MIDI-Beschaltung mit 5poliger DIN-Buchse > (wie sie beispielsweise auf dem MIDI-Shield zu finden ist: > https://www.sparkfun.com/products/12898) und betreibe die serielle > Schnittstelle mit der MIDI-Baudrate von 31250 Baud. > > Dann brauchst Du nur noch ein normales MIDI-USB-Kabel um das mit Deinem > PC zu verbinden und kannst auf die Klimmzüge mit midiserial und > virtuellem MIDI-Port verzichten. cro: > https://store.arduino.cc/arduino-micro > > An den musst Du zwar weiterhin Dein USB-Host-Shield anschließen, um mit > Deinem Piano "reden" zu können, aber der Rest wäre elegant und > standarkonform gleich in einem abgewickelt. Falls Ich mal mehr Zeit habe werde Ich das auf jeden Fall machen, da das "Endprodukt" möglichst unkompliziert und kompakt sein sollte :)
Prima Markus L. Hast Du Lust den Empfangteil von Deinem Code für Dein USB-Host-Shield hier zu zeigen? Ich überlege mir den auch mal zu holen. Wenn ich das richtig verstehe hast Du dann kompletten Zugriff auf den MIDI Datenstrom vom Gerät? Coole Software die Du oben genannt hast. Werde ich mir bei Gelegenheit auch mal ansehen ... Ser>Midi.
:
Bearbeitet durch User
Matthias H. schrieb: > Prima Markus L. > > Hast Du Lust den Empfangteil von Deinem Code für Dein USB-Host-Shield > hier zu zeigen? Ich überlege mir den auch mal zu holen. Wenn ich das > richtig verstehe hast Du dann kompletten Zugriff auf den MIDI Datenstrom > vom Gerät? > > Coole Software die Du oben genannt hast. Werde ich mir bei Gelegenheit > auch mal ansehen ... Ser>Midi. Ja den kann ich morgen hochladen.. , da Ich Elektrotechniker und kein Informatiker hab ich dazu folgende Bibliothek benutzt: https://github.com/felis/USB_Host_Shield_2.0 Wenn man runter scrolled sieht man die Midi-Library von Yuuichi Akagawa
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.