OK, call me too synth nerdy, but have you guys ever longed for a project that allowed you too match stuff like envelope times and between synths?
E.g. (totally made up values in this example) if you want to approximate the amplitude envelope from SH-101 to Bass Station 2, if the attack knob is at 5/10 position on 101, that's 500ms, which means you need to set attack knob to 6/10 on Bass Station 2 to get same attack time?
I hope this gets made one day, but I'm too poor and stupid to make it.
Anyways, this sort of system would make it much easier to create "universal" patches that would work between synths.
I'm not sure there's much to be gained by mapping values. Maybe envelope time is comparable since seconds are seconds, but not every synth interpolates ADSR values in the same way (some use just linear or logarithmic interpolation, some high end synths are heavily configurable). Also, other values like filter cutoff impact the sound in dramatically different ways depending on the kind of filter...
> OK, call me too synth nerdy, but have you guys ever longed for a project that allowed you too match stuff like envelope times and between synths?
Yes actually. I thought about doing something like this to convert Juno 106 patches to Novation Xiosynth patches, because I have a 106 and a Xiosynth 49 sitting beside me, and a pretty viable Juno 106 emulation.
Getting the times for the Juno is easy because the lookup tables and code for the envelope is a known quantity but I'd need to actually just measure the envelopes in the Xio. They might also not have quite the same response "shape" but they'd be pretty close.
That's an interesting idea. We've had a couple of requests to expand the format to include a mapping function between the CC/NRPN values and the 'display' values, e.g. [0, 127] -> [-10, 10], for cases where the relationship is nonlinear. This wouldn't guarantee normalization of meaning (it wouldn't encode the difference between the SH-101's attack and the Bass Station 2's attack), but it would make it easier to pull everything together in an app.