[PD] bandlimited wavetables for pd vanilla

Roman Haefeli reduzent at gmail.com
Fri Feb 13 11:32:05 CET 2015


Hey

Very nice. Having band-limitation for free waveforms is awesome. I still
have to dig into it, especially in order to understand how the filtering
is done. 

My two cents:

* You say you learned from OpenGL. Does that mean you applied filters
initially designed to avoid aliasing in scaled images? It seems to me
that they are too 'tight' for audio. With higher notes the perceived
volume is reduced. Without any proof, I suspect it cuts off more of the
harmonics than actually necessary.

* Does multiplying the number of tables cause a penalty in memory only,
or also in CPU usage? Obviously, you need more CPU time to calculate the
tables, but once they're calculated, does it require more CPU to have
more tables? I'd like to have a version with many more tables (so that
one could get lower notes without the higher harmonics being cut-off).

Roman

 


On Thu, 2015-02-12 at 16:06 +0000, Claude Heiland-Allen wrote:
> Hi all,
> 
> Today I implemented bandlimited wavetables in Pd vanilla using the idea 
> behind mipmapping in OpenGL (ie, generate many filtered and downsampled 
> versions of a source, use the most appropriate version(s) by a function 
> of the derivative of the lookup index).
> 
> More info and full source (quick start tutorial: bl-example.pd):
> 
> https://gitorious.org/maximus/pd-bl
> 
> License: same as Pd vanilla.
> 
> Advantages over other implementations:
> * Can generate wavetables from any waveform stored in a table.
> 
> Disadvantages:
> * The higher harmonics are reduced compared to an optimal method.
> 
> 
> Claude





More information about the Pd-list mailing list