On Wed, 9 Mar 2022 01:13:14 +0100
Ichthyostega <p...@ichthyostega.de> wrote:
- rebuilding the wavetable can change pretty much any parameters, including
number of tables, tablesize and base frequencies. Thus it is not possible
just to calculate both interpolations in parallel.
Am 09.03.22 um 17:48 schrieb Will Godfrey:
I was under the impression that only four controls
actually change the wavetable size:
base
smp/oct
no. oct
Sample Size
It seems to me, unlike all the other controls, these only affect the *quality*
of reproduction, not the actual sound type.
Blocking those would basically mean not to perform a crossfade when those
layout parameters change. That would allow to optimise the computation of
the crossfade itself, but only if we intermingle the crossfade with the
inner loop computation, so that the computation of the step fraction
can be shared. I am not sure if this doesn't even make the non-crossfade
calculation more expensive, since it then would have to check in every
inner loop instance, if there are two or four samples to mix.
This makes me think into another direction: Maybe just the innards of
the PADnote are too cohesive? We could think of the wavetable interpolation
(which executes the innermost loop) as a distinct component. Then the note
would usually have one such wavetable interpolator, and for the duration
of the crossfade, we'd just switch that to a crossfading interpolator,
which delegates to two basic interpolators. This way, we would solve
that problem within PADnote, while basically retaining the computation
path for the standard case (with the sole change of invoking the
interpolation for one buffer content through a virtual function)
-- Hermann
_______________________________________________
Yoshimi-devel mailing list
Yoshimi-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/yoshimi-devel