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

William Huston williamahuston at gmail.com
Fri Apr 3 18:47:55 CEST 2015


Hi Miller---

Any chance of getting Vanilla to work with double floats any time soon, so
the "naive" solution using [phasor~] just works with big files as one might
expect?

Thanks


On Tue, Mar 31, 2015 at 11:17 AM, Miller Puckette <msp at ucsd.edu> wrote:

> 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
>
>


-- 
--
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>*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20150403/595de2f2/attachment-0001.html>


More information about the Pd-list mailing list