<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">If you're using the newest vanilla, the [array] object lets you get a range of a given size from an index onset as a list, and to put the list at an onset of another array. It's faster than I thought it would be. So, you could just load your files sequentially into one table and copy them from there, or you could load them all into their own table and copy each one separately. I don't know which would be faster. As long as you're not resizing the table each time you load, I'd probably go with the first option. Just remember that [soundfiler] runs synchronously, so you don't want to do any of this in the middle of the operation.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 23, 2016 at 2:49 PM, Samuel Burt <span dir="ltr"><<a href="mailto:composer.samuel.burt@gmail.com" target="_blank">composer.samuel.burt@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I guess I've never seen a way to load multiple samples into a single array. That might solve another problem I'm currently sorting out. How do you do that?<div><br></div><div>Sam<div><div class="h5"><br><br><div class="gmail_quote"><div dir="ltr">On Tue, Feb 23, 2016, 1:56 PMĀ Matt Barber <<a href="mailto:brbrofsvl@gmail.com" target="_blank">brbrofsvl@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">This is doable, actually, but not easy. [delay] and [vline~] both have subsample accuracy. It would be substantially easier if you could preprocess and deliver the sequence as one big message dump to [vline~]. If you loaded all of the files into one array (up to about 6:20 of audio at 44100) and kept tabs on where each one started and how long it was in samples and milliseconds, you could then feed [vline~] into [tabread~] to play the relevant chunk of the array. If you needed to be able to transpose them, that's a little harder because depending on how long the table was, you'd need to work in the message onset to [tabread4~]'s right inlet or face index degradation.</div></div><div class="gmail_extra"><br><div class="gmail_quote"></div></div><div class="gmail_extra"><div class="gmail_quote">On Tue, Feb 23, 2016 at 1:40 PM, Samuel Burt <span dir="ltr"><<a href="mailto:composer.samuel.burt@gmail.com" target="_blank">composer.samuel.burt@gmail.com</a>></span> wrote:<br></div></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>David,</div><div><br></div><div>One thing I attempted and couldn't find a solution for was the following, mostly owing to the limitation of interfacing with a 64 sample block size.</div><div><br></div><div>I wanted to have a directory of hundreds of audio recordings. Each one would be a single wavelength from an interesting sound, like a bass clarinet, marimba, harpsichord, tambourine, etc. Each would begin and end at a zero crossing so you could chain them together to make complex timbres. They could be chained in sequence, randomized, or loaded in meta-data-matched chunks. I ran into a problem figuring out how to trigger the next sound based on the ending of the last sound in a sample accurate way. Sound file loading or even buffer playback triggering waits until the start of the next block size before it updates. If you have a waveform that lasts 205 samples (64+64+64+13), you have a gap of 51 silent samples before the next waveform would start. Not only do you not get the continuous sound you want, this winds up creating a periodic pattern with a frequency of 689 Hz (44100/64).</div><div><br></div><div>David, I like your idea "what (if anything) someone tried to do in Pd, but couldn't given its limitations". I think this could be a wonderful challenge if we could have a monthly thread like this where the best minds among us come up with solutions to some of the hardest conceptual challenges in Pd.</div><div><br></div><div>I'm still struggling with loading dozens of files, audio dropouts, and other similar problems. Someone else expressed frustration about Pd's single-threaded status. I too have feared upgrading my computer based on the limitations of current multicore processors (although realistically I think we can all look at the "turbo-boost" level or whatever Intel calls it to determine where our processor might run with a demanding patch. I understand the fact that you can't run your audio process on multiple cores, because it is a linear process. It would be great if the GUI could run on a second core, a process that loads audio into memory could run on third core, while GEM could automatically run on a fourth core. I don't have any concept of how feasible that would be, though. Does the GUI in pd-l2orc run on a separate core?</div><div><br></div><div>Sam</div><div><br></div><div><br></div><div><br></div><div><br></div><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Message: 4<br>
Date: Tue, 23 Feb 2016 09:01:06 -0800<br>
From: david medine <<a href="mailto:dmedine@ucsd.edu" target="_blank">dmedine@ucsd.edu</a>><span><br><br>
One thing I'd be interested in knowing about is what (if anything)<br>
someone tried to do in Pd, but couldn't given its limitations (apart<br>
from look/feel/convenience issues).<br><br>
</span></blockquote></div></div>
<br></blockquote></div></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="http://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
<br></blockquote></div></div></blockquote></div></div></div></div>
</blockquote></div><br></div>