[PD] How to navigate a long sound file in vanilla PD

Miller Puckette msp at ucsd.edu
Tue Mar 31 17:17:15 CEST 2015


Hi all -

There's an example in B16.long-varispeed.pd that shows how you can use offsets
into long arrays - this allows you to use the signal input within a smaller
range (ideally < 1 second) to get accurate addressing.

cheers
Miller

On Tue, Mar 31, 2015 at 11:07:52AM -0400, William Huston wrote:
> I have a related question.
> 
> I am intermediate PD programmer, about 9 months into patching.
> I really love PD, despite some quirks.
> 
> The single most annoying issue I have found so far is the inability for PD
> to accurately index into large arrays.
> 
> The way this manifests is very curious! I first noticed high frequency
> noise at maybe 6 min. into an array, which gets worse as you move into the
> file. At 20 min, it's really horrible.
> 
> I would say the root cause is
> 
> a) lack of a long integer datatype. Friends, sometimes you really want
> ints, like accurately indexing into an array, and
> 
> 
> b) lack of precision in (short) floats.
> 
> People on the FB group promptly told me this is a well-known issue, and
> directed me to PD-double. This sounds like a wonderful project, however it
> seems it is only beta, and breaks several of the modules in extended.
> 
> So I am wondering 2 things:
> 
> 1) What solutions have people come up with for accurately reading big
> arrays at audio rate, using either pd-extended or vanilla?
> 
> (I have considered breaking the big file up into smaller arrays, but this
> is cumbersome).
> 
> 2) What is the long-term goal at solving this problem?
> 
> Thanks :)
> 
> 
> 
> 
> 
> 
> 
> 
> On Tue, Mar 31, 2015 at 5:51 AM, peiman khosravi <peimankhosravi at gmail.com>
> wrote:
> 
> > Sorry, forgot to reply to all.
> >
> > Hello,
> >
> > I had this problem in maxMSP recently and found a working solution. Note
> > that I was only on a laptop so I don't know how relevant this is to your
> > question. Below is the solution I found on the Max forum (I don't have the
> > link right now but it should come up on google).
> >
> > 1- Read the file [silently] from disk (using sfplay~ or equivalent), at 50
> > times the original speed and record the output into a buffer that is 50
> > times smaller than the original file.
> >
> > 2- You can navigate through this smaller buffer and multiply the output by
> > 50 to get the correct time pointer into the original file. I then read the
> > original file from the disk, instead of loading it into a buffer.
> >
> > 3- Since I'm making my patch for concert playback, I have put in place a
> > checking mechanism that looks for an existing 'waveform' file. (The patch
> > automatically names these originalFileName.wave.aif.) If it exists, the
> > waveform file is read into the buffer, otherwise, the loaded soundfile is
> > 'analysed'.
> >
> > I can send you my patch if you are interested. I don't see any reason why
> > this can't be implemented in PD. Although the graphical scrolling might be
> > slower in PD. I'd be interested to know if this works in PD.
> >
> > Best,
> > Peiman
> >
> >
> >
> >
> > *www.peimankhosravi.co.uk <http://www.peimankhosravi.co.uk> || RSS Feed
> > <http://peimankhosravi.co.uk/miscposts.rss> || Concert News
> > <http://spectralkimia.wordpress.com/>*
> >
> > On 31 March 2015 at 10:18, Stefan Tiedje <stefantiedje at googlemail.com>
> > wrote:
> >
> >> Hello list,
> >> might well be the first post here, though I am well experienced in
> >> Max/MSP...
> >> As there is no way to get Max patches run on mobile devices, I want to do
> >> it in PD using the MobMuPlat apps for Android/iOS.
> >> The task would be to simply to play a stereo sound file, but of about one
> >> hour lebgth. As MobMuPlat only supports vanilla PD I am restricted to that
> >> as far as I know.
> >> In the docs and on the net I did not find any way to navigate within that
> >> playback. (Its crucial for rehearsals.) The size is too big for loading it
> >> into RAM (the mobile devices which are around often have less than 1 GB of
> >> RAM), Is there a known way to tackle this seemingly simple task???
> >> A tedious way, I want to avoid, would be to split the sound file into
> >> pieces, which would at least let me jump in at specified places, but that
> >> would eat up the space on the device, as each piece would have to play
> >> until the end...
> >> Of course I would also love to find a way to play back an mp3 and freely
> >> navigate within that as well...
> >> Any hints how to proceed are appriciated...
> >>
> >> Stefan Tiedje
> >>
> >> --
> >> Les Ondes Memorielles--------x--
> >> -_____-----------|-----------|--
> >> -(_|_ ----|\-----|-----()-------
> >> - _|_)----|-----()--------------
> >> ---------()----------TJ Shredder
> >> http://tjshredder.wordpress.com/
> >>
> >> _______________________________________________
> >> Pd-list at lists.iem.at mailing list
> >> UNSUBSCRIBE and account-management -> http://lists.puredata.info/
> >> listinfo/pd-list
> >>
> >
> >
> > _______________________________________________
> > Pd-list at lists.iem.at mailing list
> > UNSUBSCRIBE and account-management ->
> > http://lists.puredata.info/listinfo/pd-list
> >
> >
> 
> 
> -- 
> --
> May you, and all beings
> be happy and free from suffering :)
> -- ancient Buddhist Prayer (Metta)
> 
> Don't forget to sign the
> 
> *Pledge to Resist*
> 
> *the Constitution Pipeline:*
> 
>    - *The Pledge: TinyURL.com/Pledge2ResistCP
>    <http://TinyURL.com/Pledge2ResistCP>*
>    - *More info: TinyURL.com/Pledge2ResistCP1
>    <http://TinyURL.com/Pledge2ResistCP1>*

> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list




More information about the Pd-list mailing list