[PD] Good Time Stretching patches/advice?

S.E.P. dreamoftheshoreofanotherworld at gmail.com
Thu Apr 21 06:06:56 CEST 2016


Hey Derek (and list)

Thanks for the clarification. I put together a test patch for your
fgraintstr~ (tesuto.pd) and tested it with the attached .wav file (you need
to click on the "read" message). It would seem it works without inputting
any values into the left inlet, which is tantamount to a freeze, I
assume...?

I'm not sure what a good grain rate is... maybe in the 20s or 30s. In
general, it sounds a bit fuzzy and electronic and the harmonic spectrum is
very unstable... but I'm probably doing something wrong. Any more tips?

Best,
S E P

On Thu, Apr 21, 2016 at 4:14 AM, Derek Kwan <derek.x.kwan at gmail.com> wrote:

> On Apr 20, S.E.P. wrote:
> > @Derek Kwan Many thanks for your reply and your patches. I confess that I
> > have a poor understanding of arrays and the related object and tend to
> use
> > objects/abstractions that take an audio/open panel input. With your
> > patches, as with some others I've seen, I need to put "pos (samples)"
> into
> > the inlet and I'm not sure what that means. Also, while the 1st argument
> is
> > the name of the array to be read, I don't know what "catchname" means for
> > the 2nd argument.
>
> Hey,
>
> Sorry, I should get around to documenting these abstractions a bit more.
> fgrainstr2 is a bit more well documented than fgrainstr and I'll get
> around to specifying things more clearly, which I will do right now...
>
> THe first inlet in both are like tabread4~ in that you index into your
> soundfile (loaded by soundfiler) by sample. A normal sample rate Pure
> Data is run at is 44100 Hz (you can find this value by banging
> samplerate~) so to read through a soundfile at a normal rate, you'd
> index into the object (tabread4 or my fgrainstr) from 0 to 44100 over 1
> second to play back the first second at a normal speed and from 0 to
> 22100 over 1 second to play through the first half second at half speed.
> You could do this indexing by using something like phasor~ or even
> easier, line~ by first sending the message 0 to line~ then the message
> "44100 1000" to ramp to 44100 over 1 second.
> The audio examples included with Pure Data (namely the ones at the
> beginning of B) and the help file for soundfiler explain how PD deals
> with soundfiles more clearly that I just did...
>
> As for the specifics in dealing my abstractions, you only really need to
> deal with fgrainstr and fgrainstr2 (but make sure that
> fgrain/fgrain2/tukeymaker are in the same folder). You don't even need
> to open those other abstractions, they're just there to help the main
> abstractions fgrainstr and fgrainstr2 do their business.
>
> Derek
>
> =====================
> Derek Kwan
> www.derekxkwan.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160421/d5a1c5dc/attachment-0001.html>
-------------- next part --------------
#N canvas 725 103 594 452 10;
#X obj 142 402 dac~;
#N canvas 0 0 450 300 (subpatch) 0;
#X array testbasse-new 240562 float 2;
#X coords 0 1 240562 -1 200 140 1;
#X restore 201 86 graph;
#X obj -7 249 soundfiler;
#X floatatom -17 276 12 0 0 0 - - -;
#X msg -86 210 read -resize testbasse-new.wav testbasse-new;
#X obj -16 304 / 44100;
#X obj -94 345 samplerate~;
#X floatatom -94 385 5 0 0 0 - - -;
#X obj -94 323 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom -18 328 10 0 0 0 - - -;
#X obj 139 336 fgrainstr~ testbasse-new;
#X obj -6 400 vline~;
#X msg -6 372 0 \, 240562 5454.92;
#X obj 95 298 *~ 240562;
#X floatatom 246 268 5 0 0 0 - - -;
#X floatatom 175 281 5 0 0 0 - - -;
#X obj 91 249 phasor~ 1;
#X text 166 257 grain rate;
#X text 246 246 transposition;
#X text 299 282 amplitude;
#X obj 301 306 hsl 128 15 0.01 1 1 0 empty empty empty -2 -8 0 10 -262144
-1 -1 0 1;
#X obj -85 167 loadbang;
#X obj 346 250 init 0;
#X obj 174 238 init 10;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 2 0;
#X connect 5 0 9 0;
#X connect 6 0 7 0;
#X connect 8 0 6 0;
#X connect 10 0 0 0;
#X connect 10 0 0 1;
#X connect 12 0 11 0;
#X connect 14 0 10 2;
#X connect 15 0 10 1;
#X connect 16 0 13 0;
#X connect 20 0 10 3;
#X connect 21 0 4 0;
#X connect 22 0 20 0;
#X connect 23 0 15 0;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: testbasse-new.wav
Type: audio/x-wav
Size: 962984 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160421/d5a1c5dc/attachment-0001.wav>


More information about the Pd-list mailing list