Am 09.04.22 um 20:11 schrieb Will Godfrey:
Just tried this out (had a long walk this morning in the *sunshine* to clear my head). It's looking (and sounding) pretty good....
Hi Will, Hi Yoshimi-devs, so it seems we're converging. Basically everything is implemented, and for me there is only one thing left on the TODO list: investigate why short PAD notes take longer to compute than before "padthread". It's unlikely this is due to the general changes to memory management, since ADDSynth is not affected (it has even slightly better timings). Anyway, last days I allowed myself a regression... Or let's call it a little gratification, a bit of icing on top of all the work. The story is as follows: As we know, PADSynth performs granular synthesis. It just uses the (well known) backdoor to back-transform the spectrum, instead of sampling lots of sonic grains, as most other granular synths do. There is only one subtle catch: the generated sound is not really random, because it is in fact produced by a perfectly looped wavetable. This means, if you play PADSynth for an extended time, there is always a subtle kind of "sameness" with the sound. Of course, this gets better if you use large wavetables and if you use lots of wavetables over the octaves. But now we can do something about that: since we now have that ability for background builds and for a seamless and unobtrusive crossfade; all it takes is just to make PADsynth re-trigger itself from time to time. And even more: we can slightly manipulate some parameters at each re-build. To control these new abilities, you'll find a small button next to the crossfade knob in the padsynth window; this "re"-button opens a new child window with some further control wheels - the re-trigger time (from 200ms to 60sec). Zero (=default) means no retrigger. (this is sample time, i.e. we are basically just counting calculated blocks) - and then 5 further buttons to define a "spread" for some parameters to perform a so called "random walk" - detune (this is currently not cross-faded, haven't found an easy way) - the Bandwidth - the filter frequency rsp. the vowel position (when using the formant filter) - the harmonic profile width parameter - the harmonic profile spread parameter. Of course, this is all more or less experimental and debatable; I picked these parameters because they allow both to add very subtle changes, but also to generate quite drastic effects. In a similar vein, I made a specifically tuned non-linear scale for those knobs, so that for the largest part they generate very fine grained subtle changes, but then for the last part the spread becomes rather large, to allow for drastic effects. For example, you could use a rather noisy spectrum with some bandwidth, and then combine that with a long crossfade of, say 5 secs, and also retrigger after 5 secs, and then do a strong random walk on the harmonic spread and width. The result will be a sonic cloud which constantly changes shape. Have Fun! -- Hermann _______________________________________________ Yoshimi-devel mailing list Yoshimi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/yoshimi-devel