Just FYI, I have explored this concept quite extensively from many perspectives and I already have most of the code figured out for future products but it isn’t easy to port back due to design choices. I’ve always been fascinated by chaos theory and how to both bound and seed randomness in a way that emulates the part of analog we all love
I may even have some tricks up my sleeve you haven’t thought of yet... stay tuned
Awesome, Chris! I'm excited to see your sleeves! This method of defining per-voice variance with a sort of "lookup table" definitely adds some classic analog realism over random slop and more artificial detuning motion. The key is having fairly stable tuning per voice / per oscillator, but with unique offsets for each. And tackling other parameters in the VCO, VCF and VCA sections with per-voice offsets can really create unique analog character.
I went out a few weeks ago and captured samples of a bunch of synths and I have data tables of voice-by-voice tuning offsets for MemoryMoog, OBX, OBXA, OB SEM, CS80, Korg PolySix, Jupiter 4, Jupiter 8, Prophet 5 and Prophet 10... if you're interested. I will say, the predominant characteristic is that all of them have these tuning offsets, and most have significant intonation variance up and down the keyboard.. I've been playing with note number modulater to replicate it.
The handling of voice-allocation would be a good area to develop further, as there are a few distinct variants (round robin, reset to voice one, backtracking voice allocation, per key voice allocation, etc..) Currently the round robin approach is the only one available through the Rev2 modulation.
It's a testament to the design of the Rev2 that it works so well even with current implementation... but yeah, if we just had "another instance" of the gated sequencer dedicated to being a lookup table for this type of per-voice modulation offsets, I think it will be a really interesting feature on a future board. If it had a few more lanes of data (6 or 8 lanes), and ability to capture the different voice allocation schemes, that would be awesome!
Also, I was thinking it would be gravy if the lookup tables could be saved independent of presets... so you could just have prebuilt voice templates for a variety of different classic synths, along with variants of each where they have less-or-more voice character. Then you could load a patch, or an INIT patch, and then navigate through a list of voice modeled presets (Voice Modeling OFF | MemoryMoog Prime | MemoryMoog Hot and Humid | Prophet 5 | etc...... )
At the bottom of the VoiceComponentModeling.com web article, in Section 5, I outlined a bunch of "future wish list" items.
http://www.voicecomponentmodeling.com/vcm.aspx Excited to see what comes next!
Cheers! - Jason