I think one of the big limitations is a difficulty in turning "hot" code "cool".
For example, suppose the [hungry~] abstraction is at the heart of your patch 
but it consumes a lot of CPU.  What do you do?
Typically the process involves only two steps:1. make esoteric changes that 
marginally decrease the CPU load2. give up and port [hungry~] to a C or C++ 
external
#1 decreases readability, and #2 decreases portability (and hopefully 
readability as well).

Parallelization may be a means to address this, but it is a means and not an 
end.  In any case the first place to start is 
to profile CPU usage and patch performance, as well as signal and object 
performance within the patch.  Pd needs tools 
to accurately measure which classes and abstractions are responsible when a 
patch runs hot.

Desiredata apparently added some functionality to do that but it was apparently 
buggy and didn't get a lot of testing.  Anyhow, 
these tools are crucial to a sensible discussion of parallelization-- without 
them we can only measure object performance with 
very blunt tools.
-Jonathan
   

 On Wednesday, February 24, 2016 10:53 AM, peiman khosravi 
<peimankhosr...@gmail.com> wrote:
 

 One great advantage of maxmsp is gen, which gives you sample-level patching 
with the possibility of a one-sample delay.
P

On Tuesday, February 23, 2016, Samuel Burt <composer.samuel.b...@gmail.com> 
wrote:

David,
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.
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).
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.
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?
Sam






Message: 4
Date: Tue, 23 Feb 2016 09:01:06 -0800
From: david medine <dmed...@ucsd.edu>

One thing I'd be interested in knowing about is what (if anything)
someone tried to do in Pd, but couldn't given its limitations (apart
from look/feel/convenience issues).





-- 

www.peimankhosravi.co.uk 

_______________________________________________
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

Reply via email to