[PD] configuring multiple readanysf~ objects for efficient playback

Samuel Burt composer.samuel.burt at gmail.com
Sat Feb 13 17:53:31 CET 2016


readanysf~ is ideal for me because I don't have to load *n* samples into *n
*arrays where *n *is the number of files in a folder and could be any
number. The user might then request a new folder during performance which
would then require the number of arrays to change while many sound files
are loaded simultaneously.

I can conceive of ways of doing this, like with nqpoly~. It's a tradeoff.
Instead of playing files from the ssd, instead I'm trying to read them into
memory before playing them from memory, which takes time and can cause
audio-drop outs.




On Sat, Feb 13, 2016 at 11:31 AM i go bananas <hard.off at gmail.com> wrote:

> isn't readanysf~ just a more comprehensive version of readsf~ ?  ie. it
> plays back files directly from the hard drive?
>
> I'd think you'd be best advised to load your samples into tables and play
> them back with [tabplay~] or [tabread4~] with that many at once.
>
> On Sun, Feb 14, 2016 at 1:22 AM, Samuel Burt <
> composer.samuel.burt at gmail.com> wrote:
>
>> Sorry, I forgot to include some of the console errors.
>>
>> (Tcl) INVALID COMMAND NAME: invalid command name "e,"
>>     while executing
>> "e, audiofifo is 0.000000 full."
>>     ("uplevel" body line 1)
>>     invoked from within
>> "uplevel #0 $cmds_from_pd"(Tcl) INVALID COMMAND NAME: invalid command
>> name "or"
>>     while executing
>> "or getting frame...must be seeking"
>>     ("uplevel" body line 1)
>>     invoked from within
>> "uplevel #0 $cmds_from_pd"(Tcl) INVALID COMMAND NAME: invalid command
>> name "rame...must"
>>     while executing
>> "rame...must be seeking"
>>     ("uplevel" body line 1)
>>     invoked from within
>> "uplevel #0 $cmds_from_pd"(Tcl) INVALID COMMAND NAME: invalid command
>> name "inet_high_1.wav"
>>     while executing
>> "inet_high_1.wav"
>>     ("uplevel" body line 1)
>>     invoked from within
>> "uplevel #0 $cmds_from_pd"
>>
>> On Sat, Feb 13, 2016 at 11:16 AM Samuel Burt <
>> composer.samuel.burt at gmail.com> wrote:
>>
>>> Dear list,
>>>
>>> I was tasked with building a sampler that reads back all the samples in
>>> a directory, sequentially or randomly, with variable speed, polyphonic
>>> playback. The subsequent object is then implemented multiple times.
>>>
>>> After a short amount of time, however, the GUI becomes unresponsive. I
>>> can still manipulate the values of the GUI objects, but I won't see them
>>> update. In addition, the Pd window Log 0 and above starts throwing (Tcl)
>>> INVALID COMMAND NAME errors as you can see below. I'm guessing this is has
>>> to do with not being able to read from the SSD quickly enough with around
>>> 100 overlapping voices being loaded in a short amount of time? I'm not
>>> really hearing any audio dropouts.
>>>
>>> I noticed that readanysf~ has some arguments. I'm hoping they might make
>>> this process more efficient, but I don't understand them. Does anyone know
>>> of any better documentation for readanysf~? The arguments are 1) number of
>>> channels (mono, stereo, 3-chan, 4-chan, etc.), 2) number of "frames" in the
>>> internal buffer --I don't understand how this effects the object--, and 3)
>>> number of samples per frame in internal buffer --nor do I understand how
>>> this might affect performance. I'm going to play around with these
>>> arguments to see if it helps, but if anyone can weigh in with an
>>> explanation, I'd appreciate it.
>>>
>>> Also, if anyone has a more efficient method for doing what I'm
>>> attempting, please, let me know.
>>>
>>> Thank you,
>>> Sam
>>>
>>>
>>>
>>>
>> _______________________________________________
>> Pd-list at lists.iem.at mailing list
>> UNSUBSCRIBE and account-management ->
>> http://lists.puredata.info/listinfo/pd-list
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160213/52d0d4b7/attachment.html>


More information about the Pd-list mailing list