Hi everyone,
I'm currently working on the firmware for a new instrument (http://therevox.com/et-4.3/), so I'm trying to decide what MIDI commands the instrument should be sending. I figured since it's still in development, it would be a good time to ask for some opinions.
The instrument has a pitch ring that spans nearly 4 octaves and two "intensity" keys that control volume for two oscilllators.
The position of the pitch ring is being sent as a pitch bend using the full 14 bit MIDI message, this gives an accuracy of about .002" so I'm happy with that.
There are 4 modes of MIDI operation, so I've set them as :
MODE 0: +/- 24 semitone pitch bend on 1 midi channel
MODE 1: +/- 24 semitone pitch bend on 2 midi channels
MODE 2: +/- 12 semitone pitch bend on 1 midi channel
MODE 3: +/- 12 semitone pitch bend on 2 midi channels
The 24 or 12 semitone pitch bend is because I'm noticing a lot of software synths don't allow a +/- 24 semitone pitch bend (even though it's specified in the MIDI specs) and seem to max out at +/- 12 semitones.
I'm also occasionally trying to send the appropriate "Pitch Bend Sensitivity" registered parameter, but I haven't found anything that actually listens to it. Maybe I'm sending it wrong? I'm sending:
24:0 Control change 0, controller 101, value 0
24:0 Control change 0, controller 100, value 0
24:0 Control change 0, controller 6, value 24
The modes with 1 midi channel trigger notes on CH 1 only, and the modes with 2 midi channels have intensity key 1 trigger notes on CH 1 and intensity key 2 trigger notes on CH 2. The idea here is that separate software synths/devices can be assigned to each channel.
Here is the table of commands I'm currently sending
MODE 0
ring - +/- 24 semitone pitch bend CH 1.
key 1 - Note On/Off CH 1, CC 20 CH 1.
key 2 - CC21 CH 1.
oct switch 1 - changes note octave CH 1, sends bend range sensitivity (24)
oct switch 2 - CC 24 CH 1
exp - CC4 CH 1.
osc2offset - CC22 CH 1.
MODE 1
ring - +/- 24 semitone pitch bend CH 1, CH 2.
key 1 - Note On/Off CH 1, CC 20 CH 1.
key 2 - Note On/Off CH 2, CC 21 CH 2.
oct switch 1 - changes note octave CH 1, sends bend range sensitivity (24)
oct switch 2 - changes note octave CH 2
exp - CC4 CH 1, CH 2.
osc2offset - CC22 CH 2.
MODE 2
ring - +/- 12 semitone pitch bend CH 1.
key 1 - Note On/Off CH 1, CC 20 CH 1.
key 2 - CC21 CH 1.
oct switch 1 - changes note octave CH 1, sends bend range sensitivity (12)
oct switch 2 - CC 24 CH 1
exp - CC4 CH 1.
osc2offset - CC22 CH 1.
MODE 3
ring - +/- 12 semitone pitch bend CH 1, CH 2.
key 1 - Note On/Off CH 1, CC 20 CH 1.
key 2 - Note On/Off CH 2, CC 21 CH 2.
oct switch 1 - changes note octave CH 1, sends bend range sensitivity (12)
oct switch 2 - changes note octave CH 2
exp - CC4 CH 1, CH 2.
osc2offset - CC22 CH 2.
Sorry for the long post! Does all of this seem good, or are there some changes you'd like to see?
I'm currently working on the firmware for a new instrument (http://therevox.com/et-4.3/), so I'm trying to decide what MIDI commands the instrument should be sending. I figured since it's still in development, it would be a good time to ask for some opinions.
The instrument has a pitch ring that spans nearly 4 octaves and two "intensity" keys that control volume for two oscilllators.
The position of the pitch ring is being sent as a pitch bend using the full 14 bit MIDI message, this gives an accuracy of about .002" so I'm happy with that.
There are 4 modes of MIDI operation, so I've set them as :
MODE 0: +/- 24 semitone pitch bend on 1 midi channel
MODE 1: +/- 24 semitone pitch bend on 2 midi channels
MODE 2: +/- 12 semitone pitch bend on 1 midi channel
MODE 3: +/- 12 semitone pitch bend on 2 midi channels
The 24 or 12 semitone pitch bend is because I'm noticing a lot of software synths don't allow a +/- 24 semitone pitch bend (even though it's specified in the MIDI specs) and seem to max out at +/- 12 semitones.
I'm also occasionally trying to send the appropriate "Pitch Bend Sensitivity" registered parameter, but I haven't found anything that actually listens to it. Maybe I'm sending it wrong? I'm sending:
24:0 Control change 0, controller 101, value 0
24:0 Control change 0, controller 100, value 0
24:0 Control change 0, controller 6, value 24
The modes with 1 midi channel trigger notes on CH 1 only, and the modes with 2 midi channels have intensity key 1 trigger notes on CH 1 and intensity key 2 trigger notes on CH 2. The idea here is that separate software synths/devices can be assigned to each channel.
Here is the table of commands I'm currently sending
MODE 0
ring - +/- 24 semitone pitch bend CH 1.
key 1 - Note On/Off CH 1, CC 20 CH 1.
key 2 - CC21 CH 1.
oct switch 1 - changes note octave CH 1, sends bend range sensitivity (24)
oct switch 2 - CC 24 CH 1
exp - CC4 CH 1.
osc2offset - CC22 CH 1.
MODE 1
ring - +/- 24 semitone pitch bend CH 1, CH 2.
key 1 - Note On/Off CH 1, CC 20 CH 1.
key 2 - Note On/Off CH 2, CC 21 CH 2.
oct switch 1 - changes note octave CH 1, sends bend range sensitivity (24)
oct switch 2 - changes note octave CH 2
exp - CC4 CH 1, CH 2.
osc2offset - CC22 CH 2.
MODE 2
ring - +/- 12 semitone pitch bend CH 1.
key 1 - Note On/Off CH 1, CC 20 CH 1.
key 2 - CC21 CH 1.
oct switch 1 - changes note octave CH 1, sends bend range sensitivity (12)
oct switch 2 - CC 24 CH 1
exp - CC4 CH 1.
osc2offset - CC22 CH 1.
MODE 3
ring - +/- 12 semitone pitch bend CH 1, CH 2.
key 1 - Note On/Off CH 1, CC 20 CH 1.
key 2 - Note On/Off CH 2, CC 21 CH 2.
oct switch 1 - changes note octave CH 1, sends bend range sensitivity (12)
oct switch 2 - changes note octave CH 2
exp - CC4 CH 1, CH 2.
osc2offset - CC22 CH 2.
Sorry for the long post! Does all of this seem good, or are there some changes you'd like to see?