[PD] Play/loop and pitch change
pix
pix at test.at
Fri Aug 8 11:16:18 CEST 2003
more than likely it's your sample data.
try a sample that is completely silent. if the click goes away, it is
likely your data.
also, try filling your array using the "sinesum" message from
2.control.examples/15.arrays.pd if this doesn't click, it is definitely
your data.
note on the tabread4~ help page that tabread4~ requires guard points
(although it doesn't say that explicitly). valid reads are from 1 to
size-2. you are reading from 0 to (size-1) if you are just multiplying a
phasor.
not thinking too hard about it (eg, i could easily be wrong), i think the
guard points situation is that the sample at 0 should be a copy of the
sample at size-2 and the sample at size-1 should be a copy of the sample
at 1.
i guess to build a table like this from a normal non-guard-pointed sample,
you could grow (suing a resize message) the given table by 2 samples, then
set the sample at newsize-2 to the sample at 0, and the sample at
newsize-1 to the sample at 1.
now if you index the table using (phasor*newsize-2)+1 you should get a
clean loop, but unfortunately the sample will be offset by one sample. you
could wither fix this in the indexing ( something like
((phasor*newsize-2)-1 mod (newsize-2))+1 ) or copy all of the samples over
by one when you are fixing the table.
making some things to do this guard point generation and indexing would be
a nice pair of abstractions to make available.
okay.. i think i just thought about that way too much.
you will be able to explain any huge errors in my reasoning, by knowing
that i didn't test any of this. i've never noticed clicking when just
using tabread4~ without doing all of this jiggery-pokery, as my samples
are normally kind of noisy... but i always new i was being lazy.
by the way, instead of using a modified phasor~ to do one-shot, you could
send a line~ object a "0, 1 <period>" message.
pix.
On Fri, 08 Aug 2003 10:05:17 +0200
Søren Bovbjerg <sb at cvmt.dk> wrote:
> Hi
>
> I am searching for a PD object (external/native) that can play samples
> from an array in both loop and "single shot" mode while being able to
> change playback speed.
>
> So far I have been using a phasor~ (modified to create 1 or unlimited
> ramps) + tabread4~ but I am experiencing a very small click when the
> sound loops. The click is only noticable when the sample is a pure
> looping tone. The problem exists with both wav and aiff files so I don't
>
> thing it is a "header" problem.
>
> I have attached the sampler (without modified phasor~) I have been using
>
> so far. It should run on any newer PD version.
>
> Any ideas are welcome.
>
> TIA
>
> Soeren
>
--
More information about the Pd-list
mailing list