On Tue, Mar 31, 2015 at 11:17 AM, Miller Puckette <msp@ucsd.edu> wrote:
> 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

Dear Miller, et. al.,

Thanks for this.
I'm finally getting around to trying to modify
my looper patch to be able to index into long arrays,
using the solution suggested.

I am sorry to say the "onset" for [tabread4~]
does not seem sufficient IMO
(if my understanding is correct).

The single precision index provided by the left inlet
of [tabread4~], which seems safe in the range (0..150,000),
which is typically driven by a phasor~,
is *added* to the right inlet. 

So instead of first hearing distortion at 150,000 samples
--- 3.4 seconds at 44.1Khz) -- this is the example in B15
"Using Onsets into Tabread4~ to provide accuracy"--

Now, we have deferred the problem to 300,000 samples,
6.8 seconds!  Do I have this right? 

Thanks,
BH







On Tue, Mar 31, 2015 at 11:17 AM, Miller Puckette <msp@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@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@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@lists.iem.at mailing list
> >> UNSUBSCRIBE and account-management -> http://lists.puredata.info/
> >> listinfo/pd-list
> >>
> >
> >
> > _______________________________________________
> > Pd-list@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@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: