Go Down

Topic: MIDI In via 5-pin port with a MIDI Thru 5-pin and output to USB MIDI (Read 1 time) previous topic - next topic

Albertloo

I have a foot controller that sends MIDI program change via MIDI-5 pin Out port.

I like to control 2 effect pedals with USB In (Zoom G3/B3)  to change program accordingly.

Currently I have the UNO (with 16u2) and Nano, both compatible board. I've also read about flashing the firmware for 16u2 to become a MIDI device.

What would be the correct MIDI / USB MIDI library to use ? For reading in MIDI In via 5-pin port, and output the same message to USB Midi. The program would simply parse any MIDI In (via 5-pin port) to MIDI out (both MIDI Thru 5 pin port and via USB). 

To implement MIDI Thru, is it just hard wiring to the MIDI In or needs to implement it via coding ?

* MIDI Thru is used to send MIDI to the 2nd similar Arduino device so it can output to another USB (for the second effect unit). Or .. if Arduino can support 2 USB output, this may not be required..etc..

Should I use Teensy board instead ?

I'm totally new to Arduino / Teensy.. but with experience using Java.

Thanks!

PieterP

Both the Arduino and the Zoom are USB devices. They cannot communicate over USB. A USB connection requires one host and one device.

There are USB host shields for Arduino, but I've seen multiple posts here on that topic, and not a single one got it working in the end. Another problem is that the Zoom is not just a MIDI USB device, it's a sound card as well. Getting the drivers for the USB Host shield to work will require advanced knowledge of the USB protocol if you can't find other people that have done the same thing before you.

The easiest solution (by far) is to just connect both the Arduino and the Zoom to a USB host (e.g. laptop, Raspberry Pi, etc.) and do the routing there.

Pieter

Albertloo

Thanks for the reply.

Searching for USB Host Shield, got me to this video

https://youtu.be/enK6Y30dAYs

He seems to got it working, but it's the UNO that generates the program change, not via MIDI in.

gdsports

You can also see projects using USB host arduino on MIDI and other forums. Many problems are due to defective clone hardware.

https://old.reddit.com/r/arduino/comments/8kd2n6/issue_receiving_legacy_midi_in_and_sending_same/

The only people who post on this forum are people having problems and many threads go unresolved. So by that logic the IDE is a failure as well. The people who getting it working the first time are not posting on this forum.

On the other hand, very few people can help with arduino USB host problems so if you are new to Arduino I suggest you avoid it and use a raspberry pi. And I would avoid Pi clones as well.

Grumpy_Mike

Quote
so if you are new to Arduino I suggest you avoid it and use a raspberry pi.
Having done a lot of work with both the Arduino and Raspberry Pi with MIDI, I would avoid the Pi if you are a beginner, it is a lot more difficult to work with than the Arduino.

Maybe this cheap board would do for your project:-
http://www.hobbytronics.co.uk/usb-host-midi

PieterP

Maybe this cheap board would do for your project:-
http://www.hobbytronics.co.uk/usb-host-midi
Quote
Some Complex MIDI devices use a built-in USB Hub. These MIDI devices are not supported and will NOT work with our USB Host Boards. You can determine if your device has a built-in hub by running the free Windows program USB Tree Viewer. If, when you plug in your MIDI device it appears as a new Hub plus one or more devices then it will not work.
Having done a lot of work with both the Arduino and Raspberry Pi with MIDI, I would avoid the Pi if you are a beginner, it is a lot more difficult to work with than the Arduino.
Installing Linux on the Pi is well-documented, and routing MIDI on Linux is not hard, (I've only ever done this on desktop Linux, maybe there are problems on the Pi I'm overlooking), so I think it should be possible, even for a beginner.

Albertloo

Thanks for all the replies.

Looks like the quickest solution is to

Split MIDI In to 2 Thru using (a hardware midi splitter) :

https://www.sweetwater.com/store/detail/MIDIthru2--midi-solutions-thru

Then for each of the Thru, connects it to :

http://www.hobbytronics.co.uk/audio-midi/usb-host-midi

..and I'm not sure if any Arduino board is needed.. I've written to Hobbytronics for clarification for their USB host board.


PieterP

Did you read the second quote in my previous reply? It won't work with complex MIDI devices like yours.

Albertloo

Did you read the second quote in my previous reply? It won't work with complex MIDI devices like yours.
Thanks for pointing that out. I shall download their software for a test and shall report back.

Albertloo

From the Hobbytronics Usb-Host-Midi product :

> Some Complex MIDI devices use a built-in USB Hub. These MIDI devices are not supported and will NOT work with our MIDI USB - DIN Converter or USB Host Board. You can determine if your device has a built-in hub by running the free Windows program USB Tree Viewer. If, when you plug in your MIDI device it appears as a new Hub plus one or more devices then it will not work with our MIDI - USB Din Converter or USB Host products.

Attached are screen shots of the test application USB Tree Viewer. The Zoom G3 appeared at the same port as the Alesis V25 midi controller. It didn't appears as a new hub. What does this means ?




PieterP

It appears as a composite USB device. It depends. I'd send them an email, and be sure to ask if you can return it if it doesn't work, even if they assure you that it'll work. Never trust the seller :)

carranen

Hi !

for those who are still searching, there's an working instructable for it.
https://www.instructables.com/id/Arduino-Based-Boss-GP-10-Program-Changer/

Go Up