Forum: Mikrocontroller und Digitale Elektronik USB-Midi zu Midi mit AVR/Arduino oder noch einfacher möglich?


von Patrick (Gast)


Lesenswert?

Hallo,

mit diversen preiswerten Midi-Controllern (Korg Nanopad, iCON iPad) per 
USB an den PC angeschlossen lässt sich Midi-taugliche Software wie z.B. 
DJ- und Licht-Kram wunderbar ansteuern.

Leider haben diese Geräte allesamt nur einen USB-Anschluss und keine 
Midi-Buchsen :/ So kann man sie nicht mit anderen Midi-Geräten 
verschalten, die nur richtige Midi-Anschlüsse haben.

Gibt es einen einfachen Weg,
a) durch Eingriff in das Gerät an die Midi-Daten heranzukommen,
b) mit einem AVR oder Arduino die Midi-Daten aus dem USB-Anschluss zu 
bekommen oder
c) notfalls einen kaufbaren Converter, der sowas kann?

Ich habe schon recht lange hier im Forum und per Google gesucht, aber 
nur Leute gefunden, die den umgekehrten Weg gehen wollen. Also Midi per 
USB in den / aus dem Rechner...

Dafür gibt es wohl preiswerte Lösungen - aber vielleicht hat ja jemand 
hier eine Idee, was ich versuchen kann!?

mfg

Patrick

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Patrick schrieb:
> Gibt es einen einfachen Weg,
> a) durch Eingriff in das Gerät an die Midi-Daten heranzukommen,

Nein. Die Signale werden im Custom-Chip generiert und direkt über USB 
ausgegeben. Du wirst keinerlei "echte" MIDI-Signale auf dem Board 
finden.


> b) mit einem AVR oder Arduino die Midi-Daten aus dem USB-Anschluss zu
> bekommen

Wenn Du weisst, was der Controller wann und in welchem Format schickt, 
dann bestimmt.


> c) notfalls einen kaufbaren Converter, der sowas kann?

Nein.

d) kauf Dir einen MIDI-Controller mit echtem MIDI-I/O

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Knut Ballhause schrieb:
> Wenn Du weisst, was der Controller wann und in welchem Format schickt,
> dann bestimmt.

Das sollte ein lösbarer Ansatz sein. Man braucht "nur" einen µC und 
einen USB-Host-Controller und muss dann damit "nur" den grundlegenden 
USB-Host-Stack und die Unterstützung für eine Standardgeräteklasse 
implementieren - nämlich die der MIDI-Geräte.

Mit dem "Vinculum" dürfte das etwas einfacher gehen als mit einem 
einfachen USB-Host-Controller, da hier der Part des USB-Host-Stacks 
bereits im "Vinculum" drin steckt.

Dann muss natürlich noch eine normale MIDI-Schnittstelle an den Aufbau 
gehängt werden, aber das dürfte im Vergleich zum restlichen Aufwand 
einfach sein.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Das mag interessant sein :
http://www.recursion.jp/avrcdc/

Implementiert einen USB CDC auf einfachen AVRs mit Hilfe von V-USB.
http://www.obdev.at/vusb/

von Εrnst B. (ernst)


Lesenswert?

Matthias Sch. schrieb:
> ... USB CDC ...

Das hilft nicht weiter.
Er will ja "Midi". Genau dafür gibt es:

http://www.usb.org/developers/devclass_docs/midi10.pdf

Das exakt so implementieren (meinetwegen mit V-USB), dann sollte das 
Gerät auch direkt von so ziemlich jedlicher MIDI-Software akzeptiert 
werden.

Aber lohnt das? Ein USB-auf-Midi-Kabel kostet keine 12€...
z.B. DELOCK 61640 bei Reichelt.


Edit: Seh grad, er will es genau andersherum.

Also: USB-Host implementieren (=> "Größeren µC nehmen"), dort das 
Treiber-Gegenstück zum oben verlinkten PDF implementieren, über Serielle 
auf MIDI durchschleifen.

Am einfachsten dürfte das mit einem kleinem ARM-Board (mit Linux drauf) 
gehen.

von Krapao (Gast)


Lesenswert?

Auf dem 26C3 gab es einen Vortrag von Wesen.
Ruin & Wesen MINICOMMAND
http://ruinwesen.com

von Εrnst B. (ernst)


Lesenswert?

Krapao schrieb:
> Auf dem 26C3 gab es einen Vortrag von Wesen.
> Ruin & Wesen MINICOMMAND
> http://ruinwesen.com

s.o.

der TE will aus so einem Gerät nachträglich wieder "Old School"-Midi 
(5-poliger DIN-Stecker usw) machen.

Also sozusagen wieder ein ganzes rohes Ei aus dem Rührei zurückgewinnen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Εrnst B✶ schrieb:
> Also: USB-Host implementieren (=> "Größeren µC nehmen"), dort das
> Treiber-Gegenstück zum oben verlinkten PDF implementieren, über Serielle
> auf MIDI durchschleifen.

Genau das habe ich hier 
Beitrag "Re: USB-Midi zu Midi mit AVR/Arduino oder noch einfacher möglich?" beschrieben.

> Am einfachsten dürfte das mit einem kleinem ARM-Board (mit Linux drauf)
> gehen.

Das ist Overkill. Ein Vinculum und irgendein mittlerer AVR sollte dafür 
schon ausreichen.

von Patrick (Gast)


Lesenswert?

Hey,

sorry für den späten Dank (und die späte Antwort überhaupt!) Ich war 
mehrfach mit irgendwelchem Mist im Krankenhaus (wenn ihr beim Grillen 
Marinade vom Finger lecken wollt, bitte alles vorher gut durchgaren!) 
und habe noch einen Verein an den Hacken, da lag das Projekt hier auf 
der Halde.

Jetzt bin ich aber wieder dran...

Schade, dass es den Vinculum nur in SMD gibt. Als Vdip1 gleich 25 Euro - 
mal sehen...

Da würde ich ja fast lieber einen Raspberry Pi zum gleichen Preis 
nehmen, der noch ein wenig mehr kann ;) Aber das dauert wohl noch, bis 
ich einen davon mein eigen nennen kann :/

von Patrick (Gast)


Lesenswert?

Was ich mir auch ansehen werde:

 * Beim Makezine macht wohl einer genau, was ich will:
   http://blog.makezine.com/2010/11/30/usbhacking/

 * Es gibt ein passendes Arduino-Shield
   http://www.circuitsathome.com/arduino_usb_host_shield_projects

 * Auf dem Arduino Mega ADK ist ebenfalls ein Host-Controller
   mit drauf - damit könnte man aber auch gleich fein mit dem
   Android rumspielen und noch mehr...
   http://store.arduino.cc/eu/index.php?main_page=product_info&cPath=11&products_id=144

Es bleibt spannend ;)

Danke nochmal für die ganzen Hinweise!

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
Noch kein Account? Hier anmelden.