MIDI over USB peripheral


+ Reply to Thread
Results 1 to 2 of 2
  1. #1
    Join Date
    Dec 2007
    Location
    Paris
    Posts
    101

    Post MIDI over USB peripheral

    Dear everyone,

    I was toying with the idea of building a realistic organ console that would send MIDI data over USB. As I understand MIDI signaling is nothing more than a serial communication using a nonstandard bitrate, and sending the MIDI command is not overly complicated. However things always get more complicated when USB comes into the game, and I could not find any example of PBP program for doing such thing. There is an example over the Microchip program base that could be helpful, especially when it will come to define the descriptors and endpoints for MIDI USB communication relying on the default Windows/Linux/OSX drivers.

    Hardware project will rely on a pedalboard, 3 or more keyboards and stop knobs, all read through a matrix of optocouplers. Each unit will send MIDI signals over it's own channel (channel 1 for pedalboard, 2 for 1st keyboard, etc.). I will probably build the project around a 18F4550, pretty standard stuff.

    Over the past I have managed to port Darrel's USB HID routines to work with the CDC class, so I may be able to do the same for the MIDI class as well, which would greatly help in dealing will all the tricky USB communication side. Before I get started with the USB aspect, does anyone have some leads to get this working for MIDI over USB?

    I will release on the wiki the helpful bits of the project.

  2. #2
    Join Date
    Dec 2007
    Location
    Paris
    Posts
    101

    Default Re: MIDI over USB peripheral

    Now for the basic stuff over MIDI messages, the setup will not be using velocity, so that default value of 64 should be used. These should be the message I will have to deal with:

    Note ON: 0x9(0-F); 0x(00-EF); 0x40
    Note OFF: 0x8(0-F); 0x(00-EF); 0x40 (seems like I could also send a Note ON command with Velocity 0).

    It seems that there is some extra data added when it comes to MIDI over USB communication. Will have to verify on that and build a small proof of concept prototype with a few push buttons.

Posting Permissions

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