On Tue, 12 Apr 2022 03:52:19 +0200 Ichthyostega <p...@ichthyostega.de> wrote:
>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 That very interesting. I can think of a couple of our people who'd enjoy playing with this. Once small detail. You left off the trailing commas in TextLists.h Lines 570 - 574 This doesn't show up until you try to read the list from the CLI. Then it crashes :( Easy to do and I've done it myself a {cough} few times. -- Will J Godfrey https://willgodfrey.bandcamp.com/ http://yoshimi.github.io Say you have a poem and I have a tune. Exchange them and we can both have a poem, a tune, and a song. _______________________________________________ Yoshimi-devel mailing list Yoshimi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/yoshimi-devel