# [PD] ipoke~_v.3_test1 for Pd

Matt Barber brbrofsvl at gmail.com
Fri Aug 10 17:05:26 CEST 2012

```On Thu, Aug 9, 2012 at 3:03 PM, Alexandre Torres Porres
<porres at gmail.com> wrote:
> Awesome, in fact I'm particularly interested in doing pitch shift on the fly
> as well, how do you do that?
>
> And what about these limitations of [tabread4~]? I'm getting the idea it's
> all a matter of better quality in the recording of the audio, is it right or
> is there any other feature?
>
> And moreover, what is "variable speed" about anyway? I can only make some
> assumptions, but it'd be good to have a better input on this.
>
> Thanks for working on this and sharing it out.
>
> Cheers
>

Alex et al.,

[tabread4~] reads from a table of numbers based on the index you give
it. If you give it a fractional index (e.g. "3.427"), it will
interpolate between the values in the two surrounding points (in the
example, between the values stored at indices 3 and 4). It does so by
drawing a curve that fits the values at the four surrounding indices,
and outputs the value of that curve at your fractional index. In some
way, it is trying to fill in between samples, and give you a value of
what the sample "would have been" at that factional index.

So, you can read through a table faster or slower than the original
sample rate, and [tabread4~] will give you higher quality by filling
in the gaps (this is one of the things meant by "variable speed").

[ipoke~] does this in reverse -- it's a table writer, so the left
inlet you give the signal you want to write, and right inlet you give
the indices in the table you want to write. If you write into the
table fast (e.g. imagine the indices you give it are [0, 4.5, 9, 13.5,
18, 22.5, 27 ...]), it will interpolate over the gaps and give you a
lower sound. So far it does linear interpolation, but in the works is
cubic interpolation like in [tabread4~].

It can be used for many things like pitch and doppler shifts, and
other more experimental things in a way that can be difficult to get
with a table reader like [tabread4~]. You can change the speed you go
through the table with a [phasor~] for complicated pitch shifts, and
you can write backwards into a table as well. [ipoke~] will also let
you overdub -- that is, mix the signal you want to write into the
table with what is already there. This gives you some flexibility.

I'm not sure what you mean by "pitch shift on the fly" -- can you elaborate?

Best,

Matt

```

More information about the Pd-list mailing list