[LAD] Some questions about the Jack callback

Mark D. McCurry mark.d.mccurry at gmail.com
Sat Sep 20 20:14:27 UTC 2014


On 09-20, Fons Adriaensen wrote:
> Having to do 256 1024-point FFTs just to start a note is insane.
> It almost certainly means there is something fundamentally wrong
> with the synthesis algorithm used.

I agree with that notion.
In typical patches something between 2-10 IFFTs is expected and even this
cost strikes me as too high (zero IFFTs for pure PAD/SUB synth based).
In terms of worst case scenarios ZynAddSubFX can have some rather insane
characteristics given multiple parts, kits, voices, etc.
For instance if a user decided to use all padsynth instances at max quality,
they would need 12GB of memory just to store the resulting wavetables.

Such extremes are not really seen in practice, but things are slowly getting
optimized to avoid them when possible.

The biggest flaw in the algorithm besides the current high cost of
initialization is the use of some adaptive harmonics routines which do some
frequency dependent spectral modifications before the IFFT.
More or less that chunk of math will end up resulting in some inaccuracies when
converting to any normal wavetable representation which will avoid the IFFT.
Changing over to a wavetable approach will make other parts of the algorithm
more correct than they currently are, but there's tradeoffs between correctness
and consistency between versions.


--Mark
(Oops, it looks like I missed the ML the first time I sent this)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20140920/4afdf4ee/attachment.pgp>


More information about the Linux-audio-dev mailing list