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