Free-running, or randomised phase, for Waveform Generator oscillators?
-
Is it possible to have the Waveform Generator oscillators free-running, or to randomize the phase on note-on?
@Lindon asked here in 2021, but got no response: https://forum.hise.audio/topic/4752/waveform-generator-free-running
@Zerofox97 asked here in 2016, @Christoph-Hart responded but it doesn't look like it was implemented: https://forum.hise.audio/topic/43/would-it-be-easy-to-add-in-a-way-to-control-the-phase-of-synth-oscillators
Looking to make thick synth pads and the waveform re-triggering kills it.
-
I did a really crappy version of random phase, by writing a polyphonic c++ node that adds small amounts of delay to a voice every time a note is pressed. I'm not proud of it, but it might be something to consider.
-
@Orvillain Clever idea, but pretty hacky though (no offence!
)I'm gonna start nagging @Christoph-Hart to add it directly to the WG.
In the meantime, I'm gonna spelunk into the source code to see if I can see any way forward.
-
easy job for scriptnode:
HiseSnippet 1455.3oc4X0saaaCEVJNzswKqHcnWrcmuXWjNTDXm5kzfcQb9wIyX0oFQoA6tBFJ5XBKQpIQkDugALfcydE5c60X2sWfALf8hj2fsCojrjhbbs8RSwvb.BDOjT76b9N+Q00WPnAABeCyJmLziZXtLxZHW1eu9XF2n89FlOB0AGHo9UiDs6PObP.01vzrzgJAlKsng920auK1AyIzTQFFmJXD5KYtLYpztM+FliyAXa5IL2LqtQy1DAeOgiHDvSITMCOLY.9b5QX0xV.Y703f9FleAZK5YjFjy5Yi2ZimWqw5aUmtIdyFaQWmPNqgcs5a7b6Mo0dggY4V1Lov2Rhkz.3ktqvdnUewk7nC3TV.6LGpZPcCK3jiDarWelic2DiSfggIpapopTjo5InNLa1H4olrUzSTMcGYMZlKLIHUeFfjYFHsXDjdLxh3y7joynvyGgZyAFrGF3lrPIZsFl+NZOAr.tbMW7.5A9vfQaX0MpU6YUg+8zupWHmHYBdUA+Hgj9J9pOsxOTYoJ+Xkp2bpd8F6bpiwW33P8G6zJ2A+IswU4gtmQ8eV0KvNgzQKDT+71zxSmMkDo0YVnf2lyjuxiFO9.gisxVodtHCXDa1fmdc68wRrhThkAqyi5KYJ3XtO8BHLHhhVBsOMXfT3AABE3OvyQXG5fk4cmTAZwS.1ibbnhn3AL4vrAhyfOVsI5iMsP7wntLIo+3w3BiAifk58AFiiL+XTqd8nDYJ.WDcv2NuggS+wuTxwGEYoyjpO9OKVBWXSqpESCXAT+5SHe5eNs4S8l57oIA7OCMKAW2HG5hSWvUde1LqeLYxJ+AH45cii+GvXyb4+WJAiVLWOGZK9ETGHAjFieBjwoGNzQlHMuWWGAW30WvYjrNZGSk9ryOm5mE6iUg1QJgxzoRdRyioNTbPFOwOu4KYbJ1GrSz4zVL60BGKe8onH3VUEpT8+t4TK8+lbpSxD8PTqqj935uqpMe.XuXns98IzNVDJY7y6fgP2qfVVOJz0Bx8Sn.r3bpC7xQlKn5aIZbM0XEHrnba8f+F9EOYc0Xy3IqmLYlVdNhJuT3OPG8E+Ln1QU6BFUs6MAYq1siii3x8DtdrXWZvqQKqqvYXRRHyEhVQBr2wUDBmXL1SiG10QPFXw9dZhZ.WO3DLyQ8FrBCfl3reE2BdO5ZnlkNk5GnOyGfpsF7GDtbjNgT4CvDf.F1ECkqg3NUeg.OR8WiLhOuccJaDPzMUt80pNujBxQXFTUWk8Tc8FyRY5ZLJmlZD3srfBBKiZGbpZVB1w3TUQZklpempkWJVYTKsLxEJRZjSudjVufB8qomqHri2z+JLVFoywGitJnSgBNDkCeFd6Dr+4TYPbyxbJIxSPSFssUgN9Xtsv0nK1G.FbQDkzGfhdooRUt7Yz4QaKmVuxHsNd1h58nMNKZ9LnOKiDADnCMUBhapSc6qJTlSm.aZxH3pacX7XiYZZ9N3qtgrq21RR8hhERWm0.5kQFibEw2O0XdB8J4IB8y.zu.TN8ghdM2l1Ch.rAjcdzcusBO6PeQnmdPAHE2gQA46DJEtPdM6QtpwrUNiRg3Oe5ZYltHkka2yDsoRs3PuJ41Z6yB7bvC2MDpsEY7yIQ4UClhqRR+0B5P1FtQnd6IoDyQdkyPdUlNxaklEIOfPuUxKNF6Nh6td6ai6LlrpznYAU4W9qapJ+5ae6uUTUZ9yt+w1QeYhC7oeWHjgd3cj97SCZNV8Aj+Nzmq2tH0TaFolk05S0iU4EdeSPWuswr6qMtDES1W6PH589UUdukyKJY68bNu6FNZRJVY8cPuO4HUhzcEhAtXc+ey2W+59naUWLwW7l3N.TomenVBTTfqqirDpiZb05FWbSdQ0KzaHj7upBab84ciOed2Xi4cie47twMl2Mt47twW7t2n5i.EGno51Bhi51JpprYKNFtujtaAi+QDB5ZT -
@Christoph-Hart Yes, works great! Is it similarly easy to add it to the built-in modules?
I feel like the more we can do with built-in modules, the smoother the on-ramp to learning HISE.
Feels like having to dive straight into scriptnode for this might prove too steep of a learning curve for someone getting started, like me!

-
The idea of scriptnode was precisely to be able to customize stuff like this so that I don‘t have to frankenstein every HISE module with fringe use cases.
You can literally rebuild the waveform generator with a few nodes (minus hardsync)