MIDI cc and program change guidelines

Working with: Polyend Play; Korg Wavestate; Volca Drums; Boss RC-5; Roland 8850; Alesis NanoBass; Kurzweil MicroPiano; Yamaha VL70-m; Roland J-6; Retrokits RK8; 1010Music Tangerine; Strymon Nightsky

My experience dictates the following best practice:

  1. Don’t include note data on a cell which provides cc or pc info
  2. For consistent behavior with on, off and toggle type controls: Vertically stack two cells. The top sends cc data 0; the second data 127. (or more rarely 127 to 0)
  3. Skip at least one cell before sending Note Data. Remember to clear CC and PC when sending Note Data.
  4. Yamaha “Packed Data Format” is tricky. The following technique works for the Yamaha VL70-m:
    All the following is included in the first cell:
    No note data
    Program change number
    cc#0 = 127;
    cc#32 = 0 for preset bank 1
    cc#32 = 1 for preset bank 2
    cc#32 = 2 for preset bank Custom
    cc#32 = 3 for preset bank Internal
    Then skip at least one cell before placing note data.
2 Likes

hope this will help the team. when I had Play I encountered various problems like hanging notes, so I ditched the midi side pretty soon.