[PD] dumping array content, pitched down, to a new array without using metronome?

Esa Ruoho esaruoho at gmail.com
Thu Jan 5 22:26:46 CET 2017

On 5 January 2017 at 17:30, IOhannes m zmoelnig <zmoelnig at iem.at> wrote:

> On 2017-01-05 12:57, Esa Ruoho wrote:
> > i, I have an array that I'm playing at say 0.017 speed (sending 0.017 to
> a
> > phasor~ set to cycle through the 65536 -sized array. I'm hoping to find
> out
> > how to get this pitched down array content to be written to an array -
> so i
> > can then dump it to a wavefile and use it on another software. How would
> I
> > go about doing it? so far i have a solution where i have a metronome that
> > runs for $1 (in this case, a calculation of 65536*0.017 = 1114112) and i
> > toggle it "on" and when the array has been written to, i toggle it off. I
> > was attempting to have a delay toggle the toggle off, so the metronome
> > would stop counting around 1114102, but when i tried to loop this through
> > back into the TGL -object, Pure Data crashed fully.
> Pd should not crash. if you experience a crash, you should post a
> (minimal) patch that exposes the problem, so it can be fixed.

well, it became unresponsive. but this i think was because i had a toggle
going into a bang, which was sending to a delay, which was trying to
untoggle the toggle, which would then send out a bang. so it was my fault
really, endless feedback loops causing unresponsiveness and then me not
being able to remove a specific segment of it to stop it from
feedbacking/being unresponsive. so no point really trying to fix, right? :)

> anyhow, [phasor~] and [metro] both repeat, so they seem to be the wrong
> choices for a one-shot operation, instead of [line~] and [delay].
> also i don't understand why you would want to dump the array into
> another array in order to record it. sending the audio to a [writesf~]
> directly should be enough.

Thing is, the array (let's call it plom) is played at like 0.0017 speed or
more, so to capture what "plom" sounds like when pitched down, i thought
i'd have to write it into an array, and save that array safely. maybe i've
misunderstood, but i was able to then capture it  into an array and write
that array. i was just hoping to do it in a snappier way rather than having
to have a metro toggled on, until it felt like the array was full, and then
stop the metronome, and then manually tap on save-sample.

so far i'm quite happy with how the script goes, it's very simplistic, just
two oscillators, a delay, a method of sampling the oscillators+delay result
into an array (plom), then a midicontroller knob to control the playback of
the array (plom) between -2 and 2. now i'm just trying to get the happy
accidents (plom pitched down) into a randomly named filename (or maybe a
date/time named filename) so that i can retain them, instead of losing them
everytime pure data is booted.

> [bang(
> |
> [array size foo]
> |
> [t f f  b]
> |    |   |
> |    |   [samplerate~]
> |    [/  ]
> |    [* 1000]
> |    [/ 0.01666666]
> |    |
> [pack]
> |
> [t l                   b        l]
> |                      |         [$2(
> [0, $1 $2(             [start(   [delay]
> |                      |         [stop(
> [line~]                | +-------+
> |                      |/
> [tabread4~ foo]        [t a]
> |                     /
> | +------------------+
> |/
> [writesf~]

after numerous mistakes, i was able to (i think) get this to work somehow.
i'm not sure if foo = plom, but i put tabread4~ and array size as plom (as
that's the original material). i am able to now feed the phasor~ playback
speed into the [/ 0.016666] -2nd port, and if i tap on start, and wait a
while and tap on stop, i get a type of sound. it's not in the same pitch as
what i'm hearing, so what i hear isn't quite what i get, but it's
definitely a step in the right direction. i took a screenshot of what i
ended up with, if that helps.

i'm kind of halfway there, thanks to you! all i gotta do is get it to
actually be at the same pitch and work, and figure out if i should just
keep with 0.01666666 that you suggested, or have that be changed by the
playback speed (that i'm using to feed to phasor~..

and the 2nd step is to get the date-time writing to the filename and
somehow stash the long-ish path somewhere. phew.
i never thought i'd get this far!

http://twitter.com/esaruoho // http://lackluster.bandcamp.com // +358403703659
skype:esajuhaniruoho // http://esaruoho.tumblr.com/ // iMessage:
esaruoho at gmail.com //
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20170105/9f9c1c16/attachment.html>

More information about the Pd-list mailing list