The Official Sequential/Oberheim Forum

SEQUENTIAL/DSI => Pro 3 => Topic started by: rjgray on July 21, 2020, 11:20:19 PM

Title: CC switches and Following MIDI Spec
Post by: rjgray on July 21, 2020, 11:20:19 PM
Not sure where is best to send issues or feature requests so I’m posting here.

Love my Pro 3 and think the updates so far have been fantastic for stability. In my studio it pulls double duty as a master midi controller and I noticed a couple rough spots in terms of the CC sending and the MIDI spec:

1- when using the CC mode for sending parameter data and mapping the ON/OFF switches on the Pro 3 send values of 0 and 1. This makes it difficult to map these knobs to other synths that expect MIDI CC for switches to match the official MIDI spec. The official MIDI specification says this about receiving switches:

“If a receiver is expecting switch information it should recognize 0-63 (00H-3FH) as "OFF" and 64-127
(40H-7FH) as "ON". This is because a receiver has no way of knowing whether the message information is from a switch or a continuous controller.”

2- For the octave select knobs there exists a similar issue in that they seem to send values of 0-4 rather than spanning a range of 0-127. I’m not sure what the official MIDI specification says for this but it makes it hard to map the CC sent from these knobs to octave select parameters in other synths.

Title: Re: CC switches and Following MIDI Spec
Post by: Quatschmacher on July 22, 2020, 01:38:06 AM
Bugs should be sent to sequential support. https://www.sequential.com/support/contact-support/
Title: Re: CC switches and Following MIDI Spec
Post by: sockmonkey on July 22, 2020, 02:03:13 AM
Bugs should be sent to sequential support. https://www.sequential.com/support/contact-support/

That said, these nitpicks aren't really bugs. The MIDI spec doesn't require that switches send 0/64, it suggests that receivers SHOULD accept 0-63 as off and 64-127 as on. In any case, I don't think the Pro 3 was designed as a generic MIDI controller, where generic switches send generic messages. The instrument sends instrument-specific CC (or NRPN) information which is intended to be played back into the instrument to recall settings or reenact a performance.

Likewise for the octave switches. The octave is represented by 5 values 0-4. Sure, you could subdivide 128 values into 5 groups and equally space the send/receive values. OTOH, it's a lot easier to understand what's going on if you just get a 0-4 AND you can extend/adjust the range later (this particular parameter isn't a great example, but imagine FX indices) without breaking backward compatibility.

Given that Dave Smith is one of the original authors of the MIDI spec, I can imagine that he has at least given the MIDI implementation of his synthesizers a passing thought.

If you need to use the Pro 3 as a generic controller for other gear, you might want to look into MIDI transform software (Max, for instance [disclosure: I'm a developer at Cycling '74], or pd, or MIDI translator or Google "midi processor software") or hardware (like this thing: https://blokas.io/midihub/ (https://blokas.io/midihub/)). That way, you let the Pro 3 be a Pro 3 and massage the data into a form that's useful for your application.
Title: Re: CC switches and Following MIDI Spec
Post by: rjgray on July 22, 2020, 06:16:08 AM
these nitpicks aren't really bugs.

I forgot to mention that I don’t necessarily view them as cut and dry bugs, they really are more compatibility ideas/suggestions.

Just because I found a handful of my synths to go with the MIDI spec recommendation for switches and subdividing 127 steps for their octave select doesn’t mean it’s the best way to do things. My sample size of synths is incredibly small. This also gives me a lot of respect for Spectrasonics’ undertaking of mapping so many synths to the Omnisphere interface.

let the Pro 3 be a Pro 3 and massage the data into a form that's useful for your application.

Considering the issue of backward compatibility (even if it’s just a couple months at this point) this is probably the most prudent choice. I’ll look into Midi Translator. The crossgrade to Max from Live Suite (not my main DAW) always seemed pricey for just MIDI translation duties.

Thanks for the thoughts and suggestions!
Title: Re: CC switches and Following MIDI Spec
Post by: sockmonkey on July 22, 2020, 06:28:03 AM
these nitpicks aren't really bugs.

I forgot to mention that I don’t necessarily view them as cut and dry bugs, they really are more compatibility ideas/suggestions.

Just because I found a handful of my synths to go with the MIDI spec recommendation for switches and subdividing 127 steps for their octave select doesn’t mean it’s the best way to do things. My sample size of synths is incredibly small. This also gives me a lot of respect for Spectrasonics’ undertaking of mapping so many synths to the Omnisphere interface.

I totally get it. I have some synths which do it the Sequential way, and some which are more "controller-friendly". Writing editors for the former is easier. Mapping is (a lot) easier to the latter.

Quote
let the Pro 3 be a Pro 3 and massage the data into a form that's useful for your application.

Considering the issue of backward compatibility (even if it’s just a couple months at this point) this is probably the most prudent choice. I’ll look into Midi Translator. The crossgrade to Max from Live Suite (not my main DAW) always seemed pricey for just MIDI translation duties.

Thanks for the thoughts and suggestions!

MIDI Translator can do a ton of stuff and, if you really just need this sort of basic rescaling/processing of incoming CCs, is probably the least expensive option. Good luck!