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.
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.
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...
Good point - again for this, filter cutoff knob position or MIDI CC value percentage of 0/max value # would be mapped to cutoff frequency Hz #.
And yes, envelope times have different transition formulas between points, like linear vs logarithmic, as you stated. But again, having a direct map for of just A,D,S,R ms times would give you a rough approximation of amp env, save you a ton of time, and honestly, just serve as a sanity check sometimes, when trying to recreate similar "classic" subtractive patches between synths.
> 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.
I naively thought that with 300ish synths covered they'd have everything I own but I can see that's not the case.
I've got Alesis, Casio and Yamaha equipment that's missing. Time to dig out the manuals and get a PR ready.
It's easy to forget how successful the MIDI standard is. It might be the most stable and still relevant digital standard of all time.
My oldest bit of kit is a Casio CZ-5000 from, I think, 1985. That I can plug it into the latest equipment without drivers and it still works is amazing. 5 pin DIN for the win!
Hey thanks. I love the MIDI standard for exactly this reason too. Blows my mind that you can hook a forty year old synth up to a computer or iPad without drivers.
Synth nerds got it right: open specs, and a general industry-wide desire to make things play well together. After all, its music, this is why music works in the first place..
Totally, and I think the need for MIDI Guide - the fact that MIDI CC/NRPN is pretty much a free-for-all - is also why the spec has such staying power. It's so unopinionated that it imposes essentially zero constraints beyond message size. I love it.
This is my pet feature :) There are so many cool sequencers and controllers, all with their own idiosyncratic plaintext instrument definition formats. Making little exporters for each of them is fun.
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.
And yes, envelope times have different transition formulas between points, like linear vs logarithmic, as you stated. But again, having a direct map for of just A,D,S,R ms times would give you a rough approximation of amp env, save you a ton of time, and honestly, just serve as a sanity check sometimes, when trying to recreate similar "classic" subtractive patches 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.
I naively thought that with 300ish synths covered they'd have everything I own but I can see that's not the case.
I've got Alesis, Casio and Yamaha equipment that's missing. Time to dig out the manuals and get a PR ready.
It's easy to forget how successful the MIDI standard is. It might be the most stable and still relevant digital standard of all time.
My oldest bit of kit is a Casio CZ-5000 from, I think, 1985. That I can plug it into the latest equipment without drivers and it still works is amazing. 5 pin DIN for the win!