USB-MIDI and MIDI interface

Status
Not open for further replies.

Dimitree

Member
Hello everyone, I'm a new user, my name is Dimitri and I'm from Italy.
I'm an electronics hobbist and programmer too.

I'd like to start a really small project:
I'd like to build a device to convert USB-Midi to standard Midi.
Furthermore, I'd like to add an "interface layer" between the device and pc/mac, in order to use it as midi interface.
So I would have a USB-Midi input, a standard Midi input, and I would redirect those inputs both to the USB-to-pc/mac and to standard Midi out.

My questions are:

1) can teensy 3 do that? so it should acts as usb-host
2) what would I need other than teensy 3 board and of course midi circuitry (jacks, optocoupler, and so on..)?
3) can I connect more that 1 USB device, at the same time, to the Host Shield? If yes, simply using another USB connector in parallel with the main one? or do I need some circuitry?

thank you everyone
 
(1) The Teensy 3 hardware is capable of USB-Host mode but that feature is not yet supported in the Arduino-type environment Paul has built. It is scheduled for some time next year (2013).

(2) You cannot simply wire USB connectors in parallel. To connect more than one USB device to a USB host that has only one USB connector (like Teensy 3), you would need a USB Hub. That is presuming that the host implementation supports hubs.
 
For USB-MIDI input, it might be possible to use a Circuits@Home Arduino USB host shield (see the hardware manual). There is a library for it, although the documentation is a bit lacking.
Teensy 3.0 has not yet had USB-MIDI input ported, but this will happen in time; it works currently on Teensy 2.0 and ++ 2.0. It may be worth waiting, since Teensy 3.0 has multiple hardware serial which would be handy for what seems to be a multi-input, multi-output MIDI merger project.
 
Last edited:
I'd like to build a device to convert USB-Midi to standard Midi.
Furthermore, I'd like to add an "interface layer" between the device and pc/mac, in order to use it as midi interface.
So I would have a USB-Midi input, a standard Midi input, and I would redirect those inputs both to the USB-to-pc/mac and to standard Midi out.

My questions are:

1) can teensy 3 do that? so it should acts as usb-host
2) what would I need other than teensy 3 board and of course midi circuitry (jacks, optocoupler, and so on..)?
3) can I connect more that 1 USB device, at the same time, to the Host Shield? If yes, simply using another USB connector in parallel with the main one? or do I need some circuitry?

Assuming you only need one USB MIDI and one set of DIN MIDI plugs I don't think you need USB host or much additional hardware such as shields to do this. You configure the USB to be a MIDI - this will take care of your USB<->MIDI requirements The you hook up your standard DIN midi plugs to GND/5V/RX/TX. see details here: http://arduino.cc/en/Tutorial/Midi. For Teensy 2.0 your RX and RX will be pin 7+8: http://www.pjrc.com/teensy/pinout.html

Your sketch loop will do a serial.read and usbMIDI.read to query input and then process your "Interface" layer and send the result back via a serial.write (standard midi) and usbMIDI send commands as per here: http://www.pjrc.com/teensy/td_midi.html
You will have to do some conversions between the userfriendly usbMIDI format and the raw serial format as you are going across. there is a good example here that will make it much easier: http://itp.nyu.edu/physcomp/Labs/MIDIOutput

The USB MIDI features has just been released today for Teensy 3, so if this is your first project i would probably do this with a Teensy 2 if you want to start right away. if you at some point will need USB Host, you will have to get a Teensy 3, but it is not yet support in the software. You may also need to get a 2nd Teensy 3 to program the Teensy 3 in host mode.
 
Status
Not open for further replies.
Back
Top