[LAD] Fw: Re: Some questions about the Jack callback

Fons Adriaensen fons at linuxaudio.org
Sat Sep 20 21:34:22 UTC 2014

On Sat, Sep 20, 2014 at 05:01:32PM -0400, Mark D. McCurry wrote:

> If you are proposing that 256 harmonics are not needed, then is there a
> transformation that yields an equivilant psycho-acoustic output in less time
> than the fft would have taken given any possible spectral input?
> (The user has full control over the full spectrum in terms of phase/magnitude)

I'm certainly not claiming that there is some simple trick to simplify
things. But the information theory point still stands: if you compute
256K samples and only output 256, 512 or 1024 that means that 99% 
percent if the information you have is thrown away. Which probably
means it was not necessary to compute those 256K in the first place,
at least not to produce the first period of output. The only case where
this is not true is for algoritms that deliberately hide or destroy
information, i.e. cryptographic ones.

'The user has full control over the full spectrum'. The question is
if this is necessary - if all that detail is really perceptible in
the final output. If it is not, then there is no point in generating
it in the first place.

> If so, I'd be interested in reading some papers on that topic, though I'm
> skeptical as the work on k-sparse FFTs indicate that this FFT size is much too
> small to gain any measurable advantages (above k\approx2).
> As it stands the source for a per note voice wavetable is a spectral
> representation which is combined with some frequency dependent manipulation
> (eg removing harmonics which would alias and the aforementioned adaptive
> harmonics) which get thrown into an IFFT.

There's been a lot of research the last years into sparse representation
of some kinds of signals and into compressive sampling, but these things
are not simple from a computational POV. And all of it is about efficiently
capturing signals, not generating them.

> The resulting wavetable is fairly large to make the error of linear interpolation
> small (as to minimize the normal running cost).
> Additionally the output from traversing the wavetable can be the source for a
> number of nonlinear functions (FM/PM source function and distortions).
> If there weren't any nonlinear functions later in the chain, then there might be
> some additional flexibility, but I don't perceive too much wiggle room without
> precalculating the possible wavetables.
> Also, the idea of a set critical bandwidth is broken here due to the ability to
> modulate wildly without recalculating the base wavetable.

If a signal from a wavetable is used as input to non-linear processes,
or modulated wildly that means that much of the detailed spectral
information contained in the wavetable is modified in complex ways or
smeared out or just destroyed. Which again raises the question if that
information was required there in the first place.

In summary, simplifying the current algorithms while preserving the
exact output you have now may well be very difficult or impossible.
But I doubt very much that you need the exact same output.



A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)

More information about the Linux-audio-dev mailing list