[PD] Interruption of audio / Loading sound into array

Pierre-Olivier Boulant po.boulant at free.fr
Fri Nov 4 12:45:23 CET 2011


This seems to have been debated several times. It's one of those 
recurring subjects.
If I had only one wish for Pd it would be to have a non blocking/low 
priority [soundfiler] alternative.

I have the same trouble as mentioned. I have no graph for the tables, 
it's not a GUI issue. I thought the problem would go away with a faster 
disk, I switched from a rather fast laptop HDD to an SSD. No luck, not 
even the slightest improvement. The problem does seem to go away with a 
speedier CPU even-though the processor is not under a real strain from 
the rest of the patch. The bottle neck here is CPU crunching speed. This 
would mean for me either changing computer or changing my sound card for 
just little drop outs or switch to Live and M4L. :(
Loading more stuff at the beginning is just not an option, I have 
already a lot loaded and I don't want the restriction of only playing 
with predetermined stuff.

I had to increase Pd's latency to 300ms to get rid of this on a Core2duo 
1.6GHz processor and split the different files into short mono files 
which restrict the number of elements in each sound bank I'm loading. As 
this patch is a random sample player running in auto it's not so 
important if there is some latency, I'm more concerned with the length 
More bugging is the MIDI latency that follows the sound latency. It 
really makes things awkward because you have to either be very slow and 
patient when moving the controls (it can break the MIDI connexion with 
looping even if I patched something that tries to prevent that) or split 
the MIDI subpatch into a separate patch and have net-send/receive on 
both sides.

Most people loading stuff for sample players already handle the 
restricted access to the tables being loaded. As long as something 
happens at the end of the loading (output of the file length) it's ok, 
we know when loading starts and finishes.

Sorry if I sound raunchy. It's one hassle I have with Pd and my coding 
knowledge being what it is I can't do more than rant. :)


On 04/11/2011 11:26, katja wrote:
> By coincidence I noticed an svn commit access request from Damian
> Stewart, back in 2008, where he proposes to 'implement multithreaded
> [soundfiler] read'
> (http://lists.puredata.info/pipermail/pd-dev/2008-12/012447.html).
> What has become of this? Is there any code from this project?
> [readsf~] and writesf~] are threaded, they operate in a child process.
> I guess it could not be otherwise? Because they do not intend to read
> all samples at once. Looking at the code in d_soundfile.c, I can
> understand why the whole of Pd should not be multithreaded. It is a
> lot of overhead. But [soundfiler~] read is another exceptional case
> indeed, it needs carefully scheduled loading if it is not to cause
> buffer underruns elsewhere. Such loading in portions would also mean
> the whole audiofile is not immediately available in memory. Therefore,
> the result would somehow be equivalent to the
> '[readsf~]-in-an-upsampled-patch'  trick. But, like Charles pointed
> out, it is not trivial to find an optimum. I agree Pd should better do
> this in C.
> Katja
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management ->  http://lists.puredata.info/listinfo/pd-list


~    Pierre-Olivier Boulant     ~
-o-     www.puffskydd.net     -o-
~   www.flickr.com/pob31/sets   ~
-o-    www.lepixophone.net    -o-

More information about the Pd-list mailing list