MIDIUSB - Why is the command put twice?
From the specs:


  The first byte in each 32-bit USB-MIDI Event Packet is a Packet Header contains a Cable Number (4 bits)
  followed by a Code Index Number (4 bits). [...]
  
  [...]
  
  The Cable Number (CN) is a value ranging from 0x0 to 0xF indicating the number assignment of the
  Embedded MIDI Jack associated with the endpoint that is transferring the data. The Code Index Number
  (CIN) indicates the classification of the bytes in the MIDI_x fields. The following table summarizes these
  classifications.
  
  CIN | MIDI_x Size | Description
  
  [...]
  
  0x9 | 3 | Note-on
  
  [...]


No rationale is given why the CIN is required if the full message is also included, but it could be used for quicker routing of the event to the routine that will process it.