[PD] better tabread4~

Mathieu Bouchard matju at artengine.ca
Wed Jul 2 12:46:19 CEST 2008

On Sat, 28 Jun 2008, cyrille henry wrote:

> i personally consider that the interpolation should not add harmonics, 
> and should remove non audible harmonics. i.e : a noise with freq from 
> 20Hz to 20kHz shift 2 octave lower should result in a noise with freq 
> from 20Hz to 5KHz. but it's ok for me if the result is from 5Hz to 5KHz. 
> shifting it 2 octave higher should result in a 80Hz->20KHz frequency on 
> the signal. (freq from 20KHz to 80Kz should be removed to kill alliasing 
> effect.

It's not the job of an interpolator to do anything about actual acoustics. 
To be Pd-like, your interpolator must not make any assumptions about the 
signal, which could be any kind of signal, sound or not, and which could 
be at a different apparent sample rate than what it will be played at. 
Using acoustic assumptions reduces the practical pluggability of objects 
in any way that the user sees fits, as less combinations are usable. This 
is why Pd doesn't use any acoustic assumptions. The Pd way to do what you 
want is to put a [hip~] after the interpolator.

> a table filled with alternate -1 and 1 can be seen as a 22KHz sinus (@ 
> 44100 Hz sampling rate). shifting it higher should result in a null 
> signal with an anti aliased interpolation.

This is not an acoustic consideration, so this is fine. The choice of the 
Nyquist frequency of 22.05 kHz is an acoustic consideration, but it's not 
a choice that the interpolator itself makes, it's a choice that the 
interpolator just has to deal with, so it is fine.

> shifting it lower should result in a pure sinus wave. this is my 
> opinion. i test this, and tabread4c~ is very close to the sinus wave, 
> while tabread4~ is closer to a triangle wave.

I will love tabread4c~...

  _ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec

More information about the Pd-list mailing list