Drift.... and how to design it....
-
OK so I have a number of synth based voices and - in classic old-style VA synthesis I would like the oscillators to drift slightly in and out of tune.
I've been doing this for a while with a random LFO in the Pitch modulation slot.... but of course this is "monophonic" i.e. every note is drifting by the same amount, and now I'd like to drift each note independently from its peers.
Envelopes are "polyphonic" in nature, so I assume(probably wrongly) I need some sort of envelope in the pitch modulation chain, that varies the played note by some small amount randomly...
A Script Envelope Modulator looks like a possible candidate, but I've never needed to use them and have very little idea where to start... I've fiddled for a morning and Im getting nowhere... any clues on where to start, or another way to achieve this outcome?
..0h forgot to mention: yes clearly I could do this in a std script processor with addPitchFade - but looking to not add more complexity to my HUGE script processor chain...
-
yes definitely a script envelope that you then compile to a hardcoded envelope.
Just create a signal that fluctuates around 0.5 (sig2mod!!!) and use bipolar modulation mode so that the center remains in tune.
-
@Christoph-Hart ok thanks I will give this a go...
-
@Christoph-Hart - well clearly I have no idea what Im doing here...
HiseSnippet 1779.3oc6Y8zSbbCEeF.SBDBIshlzJUUMJpGZqhPrKjD3DKrK+qMKYCCgzaQlY7xZwL1S83Ax1pJ0ppJ0uB4V+LzSsmR+.zJEodoG68dIm6kV6wyrqmcVXgsDBzBQJfe1O6e98+mmZLpCJLjxLLGcylAHCyw.1MI7Fka.wDi0pXXNNnJLjiXVJRK1L.FFhbMLMGbEIAyQFxH9mWN+hPOHwA0ljgwVTrC59XeLuM0Zk9Drm2xPWzlXesUOSo0bnjxTOZj.OCBlxH.5rKbGz5P4xF.XrJLrgg4GAJVeamh0u2zyVXtBycuYlqPg6L61yLUQG26L2zSe2ocqWbV3cmUvzvK4h4TlMGxQgFlCsH0socC59D0ArENDusGRNnfgs3jUjWl54Juhx+1nbCrmasTAUnggInVaw1fJw1DfpXWbK5sEeWOdBq1bnK.MG3vfWAc3MUWgWgt.OCMzMjBcBPPci7f7rHSp+Rl.SypZWivQjPLuot980JbeCPML2oQ2w6.cAuBE0qZ7ln7uJXo50QN71fcHvxe5oql9xGf66M.ebTHeMRYXHpLkvEzQrBmDtwAGY2XyAuvK7Buv+O3EdsLdgqvnQAwHYBEATHNTjIMl9orO3RDn3lsbU8crLjwvH1ZDWzS0N7m2RumalGQvgTBMFJK3SiHbcPmLaEDOhjA5ISXGvPPWcNjn2FIfpa7VFlwNuinFfCVYoG0Hq6j156Q3jKcQ3jdA2iQv4Azv6Ho30F6G3gVhrGxiJnHw6aBpfpCi73oTy5VTUX0DzfRvN5lSaf3L7N6fX52itd4VfyEkP1lxDk1.4gDoBaS58KceQJQHSHyPmnxktoFMMOh5w2Fnftkzu15LU5gjXbWBrvpUr2HIqP7ea8pTIVNhsWlfJUPNvl4n1oFelRJJ2GIfl9BWUbg0sBh2tVD9YVIaQcSYhJKwbGFOyTZIG5oikC3HZ4bUcKmy3USLdJVUZmy1fcLPrIx4A450.IFumKDriCR7qNOHZOzBfG7eaAv8YFVfBviBDc3Iz6hpxjP8JsFVn2UouHNf5AYx46DuCdzv6Qp+z2AX6vvAsR22RBGi32MY1VIRrZMeemRQ6h04E25V25Gdt5DMLuMvpdDwQpRsjkNS3Lp2GPh72Fwts0dPuHzGN5WL5Hi9kiZIj3mThH4AgDJLCi0Q78orciqRH4uEYYUtya.ItT+JLbct31sfmGc+ZTulohf3iDwBklihDySMo3epUUl5GfSLTExM0PjvblPPdoUvCLGPlPDFtID6IEThnGAHh6CH1hEG2Fhrr10iyyM7xPGwMuYMHugzcvI8QElzQK9SV.2V0IkBpmyqy0H28zFV.lwsmP88khF4K+YNnbdkrQAC44LJvm5pN1LnZBMT0ZE51OJHnwduNcgNK.w3XTZQbxQB6nATYFVKbK4rNPOisjVJRgnQJhGRCwiAngNhldhM4yIIYnI0lNOfyv8wAxxoDkd+zJPNTdApfCC7fMWLRzwrptzLTj2KUqe.y+V7yRBm.WQvnX1SnYTCxDfhq3e3ViDFfUwjDoPaeypvm1AsqWxliBrwedlhmr2EsuRtjotPgnaXPbgV414jFHxQ23vgzLkxAou625DRe+yd1OkGRk9F+ecdUD1kYnOKR3hzTGW+0K9kM+5RcEWe0tk5Atd474EUScLEUiEiKqMj98F41+tKvd47FGecn.DGSc3Jh.lm5Pxv3fgzk.0ZHqo+jxt5j.SCG2E+wPLoEgY7jXDh+W1jclXL2..IPulgogYRVS9.McrImkB0neWGADh2onHHd1q43.ewumLct7Wu170ia1.YtYYh3YdZXZp1fVayF+368s+4C+84OPSSMYyvf.Db2rBlqnxwDOQdoRBG8PjLTFQR65f2Dx1AwOML.NjA8QV5Eozc8gw0cY7n0RAcRYYZan.1n8vNHUcriHZFLbWNM3r5KQ2qNYkOQqr55y7Mcqdz3yHP8lJndEvig6gheR+XT9VwiqSY9VqfDEclugkruu+KN4ee+G3vEPXSFjDFPCQExDgA4i2jRPgYn1AGE6JGEylQTZ0THOoLqRJJVVHJzV2kKkRrnNwZPRlMSLNyNUEq8wG9i4UeBC0mK3AsqCVS+WKxKD8XrKuQAcFaStnN4UgLWgNLSKjc9QG56F6DUDew2S3+XuNy49OO4gqoEtaVmazz2DHBATzJVca85WeuAMhiI6TExYxfVf0i7sEwlcRepkvzWYIY7To0VYiHtSkVmSxjEjiMSlrPqhft3LN5mgOzgQehi5U7jgiubLEg9ijzAPU4XqBF60YQz9hPwOwwI6Vkiwh8KiS2uLNS+x3c5WFua+x385WFms2LJyTtPDm5q72EUITaIUuBlpBDhc8M9Gft1FaD
-
@Lindon https://forum.hise.audio/topic/8527/polyphonic-lfo-2023
I found this thread quite informative when thinking about polyphonic LFO's. Seems like a similar use case for you.
-
@Orvillain well thanks for that - but Im not thinking about polyphonic LFOs _ I dont want an LFO - I want a random pitch offset value for every note played...
-
so this is as far as I have got, so Im generating a random number - but Im not even sure it's being applied to the pitch of the note, or how to set the depth.....
HiseSnippet 1492.3oc0X0sTaaDEdks2PfDxjzIsS6c5hbQRmLLV7WfoWv+j5owfGjCo2QWjVi2AocUWsFham9r09HjGg9HvaP6Y0JYIgMtfAxz.yvXs64n8a+9N+gaIEdz3XgDYMS69QTj0iwt84pta0kv3nFairdBtIIVQk1lk1reDINl5irrp9V8BVSWCk7yEqsIIfv8n4KgPGJXdz2wBYp7Uas9OwBB1k3SayBKX8hq2vSv2RDH5A3oJtNJh3cJ4D5dDsYUvnejD2EY88346br27cdyBq3rpypuYwUcbVZkiWr97d9Ks5BKr7B9cleExxq.N8fc7YJgzUQTzXjUsME98c6JNmaNfCYwriCn5GbPtvIaVdWQfu9JpWEsUWVfeqLhJFgrvsxospFZ643lLe1f0youmlrgctGEIPqJkgW0RvyoH7pW.di.RVEfTMCjdF10SxhT46nwyivM3fZ1g.5TQnXrEY8W3sDfAb0bgjSo6JgGF3vKWtd8WaC+4U+PmdbOESvsE78DJ597W9pY98Yldl+XF6KuUmNibO8wHEAAT4H2VGZHGmiuj2K7Xp701mQB5QGXHb8Kyo3qlSKJ4dlacACE7FblZ+HJ+pBDPoTE7o22XahhnEhz0.6hnRESCAqsomAoAFYYZ71z3SUhHHQXHMChVD98BHpxgP5DszM.NnjtoEGdLS0uXh3cVb00EhOC2ho75NZLVYDXDXp6CLllMNKdmNcndpb.VCu6Oe+j5U73eh43eD1kwoI0QSN7uI4Y6OPNiZ+VJmJ0jmyXJk9oqaoznqcoz88Tvw2VR3wQh3RuXWZHqsfqYg7EeeLj7S+0CzpYw02RPjibqKVaW3RNRebIpdxjvhMBE83pRgAUGWEZmIrBcs6qJz0tdgIiGdeAj3WpgxzYXzkEFEP2geFM.ptkfwuBJm0gzKPksZ435lBtHpqfy7JJ5GPUR1ImPkEw9HuPanTvL.4q770OfFPIECfew5uCB7HRfmnSHW3biatNR85awF3ZqSFsuM51m0vrwV7t5ss38MfaenAjeW5fKYQTCfbBZg9mRVGXhjIMNaSVjHfHuxFSYSB8Z7MYpC7cDgTXlh8npyExSSXozOirlxvAvUnePGAZif.w4aIBiXoRGvEIq0BLHiPrpXrfBZNmSCxpBisp.GCLTcaBKPalauXXbG+84tfwIserpdHUFm7hmBWeN3WP62KISapcIdvMteKBzlCBhzSPAgTT4bdCBsxAZQwR6eVuIrkoqRXn9RqGxWyZsHRXlePj0SOUwL++zX+Tg2pZgoqLgP5m.Urh9PeLtQ7g5c8HAnC05j9kfzmZRugT3aL8LcW0iNlvOAU5977j6Cn3yUvhq4k3WvptrX6XVnNtkFaq5RsSdM1wJhTYGNHUyFNEOZjx9391w.0y3mXrVCa6y6R41jTW0uQs2vwaHjxfOsT.zxpD6fxSqaSjmPUwoCoxodl.lD4rgulfgoC7EgNnAzud4ovFNDUPTzjd1SPdaSFOkmySiZR93kV6Eq6pnQtreq7zGmRO2v7kZFrc9AOzqdidJQHQYttoseFxHjQlefILL6lURie5.M1rcY8MMnKyywGzNwj9rXOBTX3Hk9u2SD+EqcGQ7WEWWTPpfJjeU91Uh7+5AjeQSFVAJ+JFuJTHIn1DpGXbTH4JzAcUz.5Gy9O8ZqQT7fOoq9v8oeTCr+A9YGnQgO.mDy0n6KScLIAxvJkzuYGne5sFV2LtbayZJyYU+eOmU.fSML.u3Ou8.bFbS.Frnf9WFi+8ZiFiWr1mAXgwa36eYD8o0txpyE0UzlBwogjjQct0eSJS9WAvcyP2GH5oft3MIvnm5ZA60KzEB+8xF9JNatqzmqmkX3Bs+qmU7HcSG8yVoa5js4mkyHj3IEGkliqS9dXxJv8lm1Yro9YaGzYWVbCg+e5i77J+pFxw4mTGWXRcbwI0wklTGWdRc7MSpiq7e6n9q6Hspkt2GT0r0NllTV6v0cxRxNP+KIGLXIA
-
@Lindon said in Drift.... and how to design it....:
I want a random pitch offset value for every note played...
Do you want a fixed random value for each note, or do you want it to drift over time?
@Lindon said in Drift.... and how to design it....:
how to set the depth.....
-
@d-healey I want a fixed random value for each note....
on my machine moving the intensity slider as you point out shifts the entire note - set it on 12 and it is always 12 semi-tones away from the played note - not some random value between 0 and 12...
-
I went over the top and fully modelled VCO drift a while ago including the interactions between voices.
You can collect pitch draft data from synths by holding a seriously long note, and then running the file through praat and creating a csv of pitch values. Then use python scripts to organize and clean it up.
You can then use Matlab or python to analyze the data and figure out how to get a match.... Or just use the values as a LUT
Real analog oscillators have a kind of vibrato as well as slow drift. And they also have moments where they quite suddenly bend out of tune. -
@griffinboy said in Drift.... and how to design it....:
I went over the top and fully modelled VCO drift a while ago including the interactions between voices.
You can collect pitch draft data from synths by holding a seriously long note, and then running the file through praat and creating a csv of pitch values. Then use python scripts to organize and clean it up.
You can then use Matlab or python to analyze the data and figure out how to get a match.... Or just use the values as a LUT
Real analog oscillators have a kind of vibrato as well as slow drift. And they also have moments where they quite suddenly bend out of tune.Well thats very clever, but first I'd like to get this simple case working.
-
@Lindon said in Drift.... and how to design it....:
I want a fixed random value for each note....
Add a random voice start modulator to the pitch. No need to roll your own system.
-
@d-healey yeah that'd work - I guess I will leave my script envelope experiments for another day .... thanks.
-
This creates a per-voice random value between 0.0 and 1.0.