Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 4 of 4

Thread: USB-MIDI and MIDI interface

  1. #1
    Junior Member
    Join Date
    Nov 2012
    Posts
    11

    USB-MIDI and MIDI interface

    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

  2. #2
    Senior Member
    Join Date
    Oct 2012
    Location
    Portland OR
    Posts
    677
    (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.

  3. #3
    Senior Member
    Join Date
    Nov 2012
    Location
    Boston, MA, USA
    Posts
    1,108
    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 by Nantonos; 12-01-2012 at 09:47 AM.

  4. #4
    Quote Originally Posted by Dimitree View Post

    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.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •