[PD] tabread4~ interpolation at slooow playback?

Peter P. peterparker at fastmail.com
Mon Jun 29 06:22:52 CEST 2015


Hi Claude, list,

* Claude Heiland-Allen <claude at mathr.co.uk> [2015-05-30 14:01]:
> On 30/05/15 18:37, Peter P. wrote:
> >I am aware that interpolation noise and aliasing are different things,
> 
> How long is your table?
> 
> Could it be quantization of the index causing the issue?

Thank you for your suggestions. I only have gotten into that issue today
again, so please excuse me for the late reply. 
Recap: I am hearing some pitched noise when playing back audio data from
tables using [tabread4~] in a very slow way.

I have a table with 819474 samples in it, and am using a [line~] to play
back from sample 222300 to 222400 in 400 milliseconds. I am getting a silent but too audible
(-60dBFSR) pitched noise that at a sampling rate of 48k has partials at
750Hz, 1500Hz, 2250Hz, 3000Hz and so on further up, always adding 750Hz.
When I upsample the soundfile that is loaded into the table to 96kHz and
run Pd and the audio interface at 96kHz these noise components are at
1500Hz, 4500Hz, 6000Hz and so on respectively.  What is strange is that
I feel this noise is less apparent at earlier positions of the table,
for example when I ramp from sample 5400 to 5500 in 400ms (regardless of
the audio data volume, I am testing with a constant sine wave).

So I came across B15.tabread4~-onset.pd from the manual, which tells me
of lower resolution in larger tables indexed by a 32bit audio signal.
In that case I wonder what the best implementation of a changing onset
message would be. Since it's a message, not an audio signal in itself I
would have to make sure there are no incontinuities in the index audio
signal when I am changing the onset message. Has anyone already
addressed this in a reliable way so that the onset message can be
derived from the index signal, and is sent to tabread4~ at precisely the
correct point in time? Is there a specific reason that the onset is a
message, not a signal by the way?
All this sounds surprisingly complicated for a very common task, that is
reading audio data in normal quality from tables larger than 32k.
Perhaps there is an abstraction around that does exactly what I am
looking for already? I went through the mailing list archive and looked
at [tabread4c] already.

Thanks for any pointers,
Peter



More information about the Pd-list mailing list