
I finally got a chance to wire up the first of my ATMega32U4 samples (see atmel doc7766). Like all of atmel's usb chips it comes up as a bootloader. Now we get to go through the list of things that are probably broken (starting with dfu-programmer which I already know from fixing it for the at90usb647 is broken).

As a part of the ongoing Arduino Cult Induction workshop series, this month we will be focusing on sound.
In particular I will be going over creating sound using the Arduino's built in Pulse Width Modulation (PWM) and Direct Digital Synthesis using resistive ladders. We will investigate using the Piezo element as both a simple speaker and an input trigger. We will review the Musical Instrument Digital Interface (MIDI) from a hardware and software perspective, and look at a couple of useful integrated
I am trying to digest this document.
http://www.usb.org/developers/devclass_docs/midi10.pdf
USB encapsulates midi data into 4 byte chunks and adds the notion of virtual cables.
The first byte in the packet is the cable number and something called the Code Index Number. The remaining 3 bytes are either midi or padding depending on the packet.
Most of the relevant midi status commands have a corresponding Code Index Number.