Analog random control signal emulation
Moderator: Solaris Moderators
Re: Analog random control signal emulation
I understood that on Karnevil 9, that was not a S&H effect, but was programmed into a step sequencer on Keith's modular Moog. The first sequence is the same note with different filter cutoff settings, and the one at the end of the piece sequences actual different notes. A S&H on the oscillator frequency and filter cutoff will mimic both of those effects, albeit in a much more random fashion. What is ultra cool is that on the final ending sequence (when the Moog modular comes walking out and the sequence speeds up) is that the effect was IN QUAD as I remember. Keith is still THE MAN !!!
-
- Site Admin
- Posts: 2003
- Joined: Sat Apr 07, 2007 3:00 am
- Contact:
Re: Analog random control signal emulation
Well, in that case you can also still do this on the Solaris, but you have to hold down the keys for the sequencer to play (it’s a ‘gated sequencer’, in Dave Smith speak).
Although we only have a sequence row of 16 steps, with clever synchronized switching of things, you can get at least 32 steps to play.
john b.
Although we only have a sequence row of 16 steps, with clever synchronized switching of things, you can get at least 32 steps to play.
john b.
-
- Posts: 546
- Joined: Tue Mar 04, 2008 4:19 pm
- Location: Somewhere between 120 and 150bpm
- Contact:
Re: Analog random control signal emulation
I like Serena-5s explanation. It makes perfect sense as for years I tried to get that sound, and only came close....
Ankyu
Ankyu
Magnus C350 on a TV Dinner Tray Stand with 2 x PigNose Amps for stereo
https://soundcloud.com/jimmyvee/wormhole
https://soundcloud.com/jimmyvee/wormhole
-
- Posts: 26
- Joined: Fri Feb 10, 2012 4:22 am
- Location: Germany
- Contact:
Re: Analog random control signal emulation
I completely agree that the effects achieved by "rotating" the available voices on an analog synth can sound incredibly beautiful. Panning is maybe the most obvious parameter in this regard, but it can go much further than that. I always admired the old SEM-based Oberheims (8-voice, 4-voice) for the fact that it was never possible to adjust all individual SEMs to sound exactly alike. Often this is considered a conceptual "weakness", but I think that it actually is a fantastic strength of these old machines.
It is true that this can yield some nice results, but sometimes it doesn't give me quite what I need. The reason for this is that there is no way to influence the degree (or structure rather) of randomness.
If we look at panning specifically: In order to achieve the best results, the voices should be spread quite far apart and in such a way that there is roughly an equal amount of energy present on either side. In other words, if e.g. 4 voices would sound at the same time, I would want 2 of those voices panned more to the left and the other two panned more to the right.
If the voices are truly rotating, they can be individually panned in such a way that they successively alternate between left or right. So the pattern would look like e.g.:
left 75% - right 82% - left 90% - right 77% ...
Using S/H on an LFO however, the values are potentially all over the place, so one can be lucky and end up with a nice pattern as the above for one chord, but for the the following chord chances are it could be e.g.:
left 30% - left 32% - left 28% - left 1%.
So in my experience, this method tends to produce quite unstable results, which tend to jump a lot in the stereo image and are difficult to place in a mix.
While using S/H on an LFO can be great for randomizing some things, it is not so great for others and i think true voice rotation is still very desirable.
I fully understand the differences between analog and digital systems, specifically in the way voices are allocated. But maybe there is still a way to emulate this behaviour on the Solaris without too much effort. Here is my idea on how this might be done (and this would be my first feature request
):
Imagine there was another mode on the step sequencer, quite similar to the already implemented "Key Step" mode, just slightly different. What "Key Step" does is already very close to the voice rotation thing, but the problem is that if you play a note and thus advance to the next step, the new step value is not only applied to this note, but also to all previously played notes which are still sounding.
If however there was a mode where for every note played the step sequencer advances to a new value BUT previously played notes retain their values, this could effectively be used to emulate the voice rotation on an analog synth perfectly.
Say for instance you would set the pattern length to 8 steps and use this to modulate panning -- instant OB8!
Would be so awesome!![Very Happy :D](./images/smilies/icon_biggrin.gif)
I have been using the approach of utilizing a re-triggering LFO set to S/H before, e.g. on the Virus TI.John Bowen wrote:For the panning thing - while we can’t specify individually where each voice appears in the stereo field, a Random Note applied to modulate the Pan position should give a similar effect, just less control. It’s definitely something I want to have in the next OS.
It is true that this can yield some nice results, but sometimes it doesn't give me quite what I need. The reason for this is that there is no way to influence the degree (or structure rather) of randomness.
If we look at panning specifically: In order to achieve the best results, the voices should be spread quite far apart and in such a way that there is roughly an equal amount of energy present on either side. In other words, if e.g. 4 voices would sound at the same time, I would want 2 of those voices panned more to the left and the other two panned more to the right.
If the voices are truly rotating, they can be individually panned in such a way that they successively alternate between left or right. So the pattern would look like e.g.:
left 75% - right 82% - left 90% - right 77% ...
Using S/H on an LFO however, the values are potentially all over the place, so one can be lucky and end up with a nice pattern as the above for one chord, but for the the following chord chances are it could be e.g.:
left 30% - left 32% - left 28% - left 1%.
So in my experience, this method tends to produce quite unstable results, which tend to jump a lot in the stereo image and are difficult to place in a mix.
While using S/H on an LFO can be great for randomizing some things, it is not so great for others and i think true voice rotation is still very desirable.
I fully understand the differences between analog and digital systems, specifically in the way voices are allocated. But maybe there is still a way to emulate this behaviour on the Solaris without too much effort. Here is my idea on how this might be done (and this would be my first feature request
![Wink :wink:](./images/smilies/icon_wink.gif)
Imagine there was another mode on the step sequencer, quite similar to the already implemented "Key Step" mode, just slightly different. What "Key Step" does is already very close to the voice rotation thing, but the problem is that if you play a note and thus advance to the next step, the new step value is not only applied to this note, but also to all previously played notes which are still sounding.
If however there was a mode where for every note played the step sequencer advances to a new value BUT previously played notes retain their values, this could effectively be used to emulate the voice rotation on an analog synth perfectly.
Say for instance you would set the pattern length to 8 steps and use this to modulate panning -- instant OB8!
Would be so awesome!
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Re: Analog random control signal emulation
3 all the way!!!John Bowen wrote:Yup, it’s on the list.
Actually, I’d appreciate everyone’s input as to how you’d expect to see this implemented. There’s simple, and then more complex....
1) Simple - use an LFO. Select S&H wave shape, Retrigger ON, Rate = 0. Now, with every key press, the LFO will put out a random value
2) More work - add a new Mod Source List item, called Note2 or Random Note. etc... All mod lists have to be updated. What kind of control would you have over the random output?
3) Complex - the randomness has a number of parameters, allows you to define the range of randomness, which functional blocks will be randomized, etc.
4) Maybe simple also - a single parameter in the System page that controls random or ‘analog slop’ for the synth in general.
Please let me know your opinions.
john b.
A dedicated analogue slop would be good as well, but I definitely feel the need for a complex random LFO.
I would also love to see Slow LFO's added as well. That would make Solaris far more powerful for ambient duties. .0001 like on the A6
-
- Site Admin
- Posts: 2003
- Joined: Sat Apr 07, 2007 3:00 am
- Contact:
Re: Analog random control signal emulation
Just for the record, I checked the Andromeda's Manual for their listed LFO rates:polybonk wrote:I would also love to see Slow LFO's added as well. That would make Solaris far more powerful for ambient duties. .0001 like on the A6
Range: .0076Hz – 25 Hz (131.6 seconds per cycle – 40 milliseconds per cycle)
-
- Posts: 39
- Joined: Sat May 19, 2012 12:39 pm
- Contact:
Re: Analog random control signal emulation
I started a forum topic on GS to discuss practical ways to do analog emulations with a synth such as the Solaris. Here are some ideas that I think might help pull this off with the current feature set:
Create a keytable for each oscillator with a different small variation on each note. You could even have some bias in a particular direction for example as notes get higher. This does not allow for per voice drift randomization but many times there is only a single voice per note so it comes as close as you can get for now.
Have an LFO be defined as a slowly varying SH LFO and use this as the input to each of the four lag processors. The LFO should have a short fade in time and possibly a short fade out time. The level should be on the order of 5 or so percent. The fade in and fade out time allow for different note lengths to have a somewhat different amount of drift and the fade out time helps to damp down the drift after the note is released.
Set the four lag processors up to have a different smoothing value. You want some smoothing to avoid jumps in the SH values but not too much. By varying the smoothing values you increase a little bit more variation in the way things might drift.
Have each of the separate lag processors modulate an individual oscillator pitch. So lag1 goes to osc1, lag2 to osc2 etc.
Use the keytable as the control input to control how much influence the given lag processor has on the pitch and set it strength to some value on the order of 10% or so. So oscillator 1 pitch, for example gets modulated at 10% (or less) level by lag1 and this modulation is controlled by keytable 1 with a strength of 10% or so.
Obviously, this can tie up a lot of modulation sources (like the lag processors....never enough of them!) and can be a bit of work but its food for thought at least. You could chew up less lag processors by having just one used but having the separate keytables per oscillator determine the extent to which drift happens in a positive or negative way.
Food for thought anyway...
Create a keytable for each oscillator with a different small variation on each note. You could even have some bias in a particular direction for example as notes get higher. This does not allow for per voice drift randomization but many times there is only a single voice per note so it comes as close as you can get for now.
Have an LFO be defined as a slowly varying SH LFO and use this as the input to each of the four lag processors. The LFO should have a short fade in time and possibly a short fade out time. The level should be on the order of 5 or so percent. The fade in and fade out time allow for different note lengths to have a somewhat different amount of drift and the fade out time helps to damp down the drift after the note is released.
Set the four lag processors up to have a different smoothing value. You want some smoothing to avoid jumps in the SH values but not too much. By varying the smoothing values you increase a little bit more variation in the way things might drift.
Have each of the separate lag processors modulate an individual oscillator pitch. So lag1 goes to osc1, lag2 to osc2 etc.
Use the keytable as the control input to control how much influence the given lag processor has on the pitch and set it strength to some value on the order of 10% or so. So oscillator 1 pitch, for example gets modulated at 10% (or less) level by lag1 and this modulation is controlled by keytable 1 with a strength of 10% or so.
Obviously, this can tie up a lot of modulation sources (like the lag processors....never enough of them!) and can be a bit of work but its food for thought at least. You could chew up less lag processors by having just one used but having the separate keytables per oscillator determine the extent to which drift happens in a positive or negative way.
Food for thought anyway...
Re: Analog random control signal emulation
Bump..With the risk of sounding eager after having the update recently.. I just wondered if randomization is doable from a programming standpoint. I know multimode is quite a challenge, but how about randomization. It's by far my #1 feature request. How high is that on the 'to do' list and how hard is it to implement. And i mean proper. Filter, pitch, envelopes.. the works as discusses in this thread. ![Cool 8)](./images/smilies/icon_cool.gif)
![Cool 8)](./images/smilies/icon_cool.gif)
-
- Site Admin
- Posts: 2003
- Joined: Sat Apr 07, 2007 3:00 am
- Contact:
Re: Analog random control signal emulation
We are discussing now, but most of that needs to be done in the DSP code, not the System code. Jim thinks he can implement a detuning per voice, but that would be the extent of it...for now. I'll have to see if it automatically gets routed to the cutoff keyboard tracking as well, once I get the beta OS to test.
Re: Analog random control signal emulation
thanks for a Quick reply John, as always. i don't understand the difference between DSP and system code (could you give an example, e.g. What part of analog randomisation should be done in the dsp) nor what that means for what can and cannot be done in short/long term. Do you mean you have no access to the dsp code or someone who can code dsp?
A detuning per voice would def. be a great start. What do you mean by routing to the cutoff. Would that mean a it is linked? Meaning drift up in tuning equals a higher cutoff and vv?
A detuning per voice would def. be a great start. What do you mean by routing to the cutoff. Would that mean a it is linked? Meaning drift up in tuning equals a higher cutoff and vv?
-
- Site Admin
- Posts: 2003
- Joined: Sat Apr 07, 2007 3:00 am
- Contact:
Re: Analog random control signal emulation
The DSP code is the sound engine part; the Blackfin C++ code is sort of like the main CPU of the Solaris, and handles the management of voices, loading of data, MIDI stuff, etc.. We do have access to the DSP code now, but do not have a qualified SHARC DSP programmer available yet. (Perhaps someone on the list here can suggest such a person?)
As for routing to the cutoff - I meant it's possible that the keytracking to the cutoff is derived from the same tuning as what Jim thinks he could make happen for the osc tuning, but I have to see.
As for routing to the cutoff - I meant it's possible that the keytracking to the cutoff is derived from the same tuning as what Jim thinks he could make happen for the osc tuning, but I have to see.
Re: Analog random control signal emulation
have we advanced on the slop and analog randomness ?
Owner of Solaris #00324
-
- Site Admin
- Posts: 2003
- Joined: Sat Apr 07, 2007 3:00 am
- Contact:
Re: Analog random control signal emulation
Please see the list at the bottom of my recent message about the Developer Fund Update.
Who is online
Users browsing this forum: No registered users and 5 guests