Re: [PD] optimizing big patches

2011-01-10 Thread Ludwig Maes
wow,
I always felt message passing was unnecessarily expensive but I didnt
realise message passing was that expensive!
I seriously think it would be good to have a pd front end for gcc, a
few of us should take the time to learn GIMPLE and implement a
compile menu item to compile patches/subpatches.

2011/1/10 Mathieu Bouchard ma...@artengine.ca:
 On Sun, 9 Jan 2011, Pedro Lopes wrote:

 i Guess the question could go a bit further, how can we devise a profiling
 system for a dataflow programming environment?

 I made two or three of those... GridFlow had several incarnations of such a
 thing but it only worked for GridFlow's own objects.

 Then I made one for the whole of Pd, and it's somewhere in the DesireData
 branch, but it caused occasional crashes for mysterious reasons, and no-one
 else looked at the code.

 Here's a screenshot of the latter :

  http://artengine.ca/desiredata/gallery/simple-benchmark.png

 You see that [cos] is over twice slower than [*] but [t f f] minus those two
 is also a lot, but that's the cost of message-passing, because [t f f]
 doesn't do any processing. And so on... the top number is the total time for
 the first message to return (every message-passing down a wire is
 accompanied later by an opposite movement once the job is done... that's
 the stack).

 GridFlow's profiler instead had a menu in Pd's main window which had a
 reset and a dump and the latter would print non-cumulative measurements
 (i.e. it doesn't include time in objects sent to) in the console (or in the
 terminal back when there wasn't a console) sorted by decreasing importance.

 Ideally we would have both cumulative and non-cumulative figures, because
 neither is nearly as useful as both together.

  ___
 | Mathieu Bouchard  tél: +1.514.383.3801  Villeray, Montréal, QC
 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management -
 http://lists.puredata.info/listinfo/pd-list



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] change in compression detection

2011-01-10 Thread Roman Haefeli
On Sun, 2011-01-09 at 20:26 -0500, Mathieu Bouchard wrote:
 On Mon, 10 Jan 2011, ~E. wrote:
 
  I'm searching how i can detect the change in the compression of an audio 
  signal. The purpose is to detect (and quantified) the compression 
  changes between the music and the ads in a radioshow. Have any ideas ?
 
 If you don't have the original uncompressed recordings, I don't see how 
 you could be doing that. You'd have to guess how complex sounds are 
 supposed to fade out normally, to find out how much the fade out has been 
 messed with.
 
 And then, in the compressor, you have both a measurement of input volume 
 and a formula for turning that input volume into a gain to be applied, and 
 both of those parts are subject to a lot of variation and tweaking.

Assuming that the more compression is applied, the more the RMS
amplitude [1] approaches the Peak amplitude [2] of an audio signal, you
could measure the two and probably get a raw grasp how much compression
was applied. This is simply an idea for which I don't have any reference
that it is really working.

I could imagine that recordings of certain sets of natural instruments
show always a similar relation between peak and RMS amplitude for that
set. However, usually there is already some compression applied when
releasing the recording which makes it hard to distinct compression
applied in the radio station from the compression shipped with the
recording. I also could imagine, that it's much harder to find
applicable rules for synthesized sounds. 

Roman
 

[1] http://en.wikipedia.org/wiki/Amplitude#Root_mean_square_amplitude
[2] http://en.wikipedia.org/wiki/Amplitude#Peak_amplitude




___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] change in compression detection

2011-01-10 Thread Ludwig Maes
Or more generally, watch the histogram of samples

On 10 January 2011 11:09, Roman Haefeli reduz...@gmail.com wrote:
 On Sun, 2011-01-09 at 20:26 -0500, Mathieu Bouchard wrote:
 On Mon, 10 Jan 2011, ~E. wrote:

  I'm searching how i can detect the change in the compression of an audio
  signal. The purpose is to detect (and quantified) the compression
  changes between the music and the ads in a radioshow. Have any ideas ?

 If you don't have the original uncompressed recordings, I don't see how
 you could be doing that. You'd have to guess how complex sounds are
 supposed to fade out normally, to find out how much the fade out has been
 messed with.

 And then, in the compressor, you have both a measurement of input volume
 and a formula for turning that input volume into a gain to be applied, and
 both of those parts are subject to a lot of variation and tweaking.

 Assuming that the more compression is applied, the more the RMS
 amplitude [1] approaches the Peak amplitude [2] of an audio signal, you
 could measure the two and probably get a raw grasp how much compression
 was applied. This is simply an idea for which I don't have any reference
 that it is really working.

 I could imagine that recordings of certain sets of natural instruments
 show always a similar relation between peak and RMS amplitude for that
 set. However, usually there is already some compression applied when
 releasing the recording which makes it hard to distinct compression
 applied in the radio station from the compression shipped with the
 recording. I also could imagine, that it's much harder to find
 applicable rules for synthesized sounds.

 Roman


 [1] http://en.wikipedia.org/wiki/Amplitude#Root_mean_square_amplitude
 [2] http://en.wikipedia.org/wiki/Amplitude#Peak_amplitude




 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management - 
 http://lists.puredata.info/listinfo/pd-list


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] [PD-announce] flocons (fwd)

2011-01-10 Thread Pedro Lopes
That for me they are not as beautiful  :)

hehe.

On Sun, Jan 9, 2011 at 3:06 AM, Mathieu Bouchard ma...@artengine.ca wrote:

 On Sat, 8 Jan 2011, Pedro Lopes wrote:

   http://gridflow.ca/gallery/flocon_256_114_14.png
 This one is beautiful.


 What does that imply about the other ones ? ;)


  ___
 | Mathieu Bouchard  tél: +1.514.383.3801  Villeray, Montréal, QC




-- 
Pedro Lopes (MSc)
contact: pedro.lo...@ist.utl.pt
website: http://web.ist.utl.pt/Pedro.Lopes
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] [PD-announce] exquisite caos audio theory

2011-01-10 Thread Jarbas Jacome
but I like it

On Sat, Jan 8, 2011 at 2:53 PM, oskoff lovich noi...@gmail.com wrote:
  its only a gif and audio player embed but ..

       http://nuevocalipso.tumblr.com/caosTheory





 --
http://noconventions.mobi/noish

 ___
 Pd-announce mailing list
 pd-annou...@iem.at
 http://lists.puredata.info/listinfo/pd-announce

 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management - 
 http://lists.puredata.info/listinfo/pd-list


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] question about csound and pd

2011-01-10 Thread ronni montoya
Hello , i been using csound inside pd lately , I use csoundapi only
for synthesis inside pd and then i control everything with pd.
For doing this i edit the csound code and add this line: gk1 invalue
variable_name, then i replace gk1 in the csound code wherever i want
to use that values, then i can send values to that variable from pd.
This works fine in most all cases, but not always.

My question is why in this specific case it does not work?
I using the example code of the Partikkel opcode, and i would like to
control this parameters from pd: Osc2Dev and MaxSync

Do anybody have an idea why this is not working?


; Select audio/midi flags here according to platform
; Audio out
-odac ;;;RT audio
; For Non-realtime ouput leave only the line below:
; -o partikkel_softsync.wav -W ;;; for file output any platform

sr = 44100
ksmps = 20
nchnls = 2

; Example by Oeyvind Brandtsegg 2007, revised 2008

giSine ftgen 0, 0, 65537, 10, 1
giCosine ftgen 0, 0, 8193, 9, 1, 1, 90
giSigmoRise ftgen 0, 0, 8193, 19, 0.5, 1, 270, 1 ; rising sigmoid
giSigmoFall ftgen 0, 0, 8193, 19, 0.5, 1, 90, 1 ; falling sigmoid

; *
; example of soft synchronization of two partikkel instances
; *
instr 1

gk1 invalue igrainrate
gk2 invalue igrainsize

gk3 invalue igrainFreq

gk4 invalue iosc2Dev
gk5 invalue iMaxSync
gk6 invalue mask
gk7 invalue fm

/*score parameters*/
igrainrate = p4 ; grain rate
igrainsize = p5 ; grain size in ms
igrainFreq = p6 ; fundamental frequency of source waveform
iosc2Dev = p7 ; partikkel instance 2 grain rate deviation factor
iMaxSync = p8 ; max soft sync amount (increasing to this value during
length of note)
awavfm = p9

/*overall envelope*/
iattack = 0.001
idecay = 0.2
isustain = 0.7
irelease = 0.2
amp linsegr 0, iattack, 1, idecay, isustain, 1, isustain, irelease, 0

kgrainfreq = gk1 ; grains per second
kdistribution = 0 ; periodic grain distribution
idisttab = -1 ; (default) flat distribution used
; for grain distribution
async = 0 ; no sync input
kenv2amt = 1 ; no secondary enveloping
ienv2tab = -1 ; default secondary envelope (flat)
ienv_attack = giSigmoRise ; default attack envelope (flat)
ienv_decay = giSigmoFall ; default decay envelope (flat)
ksustain_amount = 0.3 ; time (in fraction of grain dur) at
; sustain level for each grain
ka_d_ratio = 0.2 ; balance between attack and decay time
kduration = igrainsize ; set grain duration in ms
kamp = 0.2*0dbfs ; amp
igainmasks = -1 ; (default) no gain masking
kwavfreq = gk3 ; fundamental frequency of source waveform
ksweepshape = 1 ; shape of frequency sweep (0=no sweep)
iwavfreqstarttab = -1 ; default frequency sweep start
; (value in table = 1, which give
; no frequency modification)
iwavfreqendtab = -1 ; default frequency sweep end
; (value in table = 1, which give
; no frequency modification)
awavfm = 7 ; no FM input
ifmamptab = -1 ; default FM scaling (=1)
kfmenv = -1 ; default FM envelope (flat)
icosine = giCosine ; cosine ftable
kTrainCps = kgrainfreq ; set trainlet cps equal to grain
; rate for single-cycle trainlet in
; each grain
knumpartials = 3 ; number of partials in trainlet
kchroma = 1 ; balance of partials in trainlet
ichannelmasks = -1 ; (default) no channel masking,
; all grains to output 1
krandommask = 0 ; no random grain masking
kwaveform1 = giSine ; source waveforms
kwaveform2 = giSine ;
kwaveform3 = giSine ;
kwaveform4 = giSine ;
iwaveamptab = -1 ; mix of 4 source waveforms and
; trainlets (set to default)
asamplepos1 = 0 ; phase offset for reading source waveform
asamplepos2 = 0 ;
asamplepos3 = 0 ;
asamplepos4 = 0 ;
kwavekey1 = 1 ; original key for source waveform
kwavekey2 = 1 ;
kwavekey3 = 1 ;
kwavekey4 = 1 ;
imax_grains = 200 ; max grains per k period
iopcode_id = 1 ; id of opcode, linking partikkel
; to partikkelsync

a1 partikkel kgrainfreq, kdistribution, idisttab, async, kenv2amt, \
ienv2tab,ienv_attack, ienv_decay, ksustain_amount, ka_d_ratio, \
gk2, kamp, igainmasks, kwavfreq, ksweepshape, \
iwavfreqstarttab, iwavfreqendtab, awavfm, ifmamptab, kfmenv, \
icosine, kTrainCps, knumpartials, kchroma, ichannelmasks, \
gk6, kwaveform1, kwaveform2, kwaveform3, kwaveform4, \
iwaveamptab, asamplepos1, asamplepos2, asamplepos3, asamplepos4, \
kwavekey1, kwavekey2, kwavekey3, kwavekey4, imax_grains, iopcode_id

async1 partikkelsync iopcode_id ; clock pulse output of the
; partikkel instance above
ksyncGravity line 0, p3, gk5 ; strength of synchronization
aphase2 init 0
asyncPolarity limit (int(aphase2*2)*2)-1, -1, 1
; use the phase of partikkelsync instance 2 to find sync
; polarity for partikkel instance 2.
; If the phase of instance 2 is less than 0.5, we want to
; nudge it down when synchronizing,
; and if the phase is  0.5 we want to nudge it upwards.
async1 = async1*ksyncGravity*asyncPolarity ; prepare sync signal
; with polarity and strength

kgrainfreq2 = igrainrate * gk4 ; grains per second for second partikkel instance
iopcode_id2 = 

[PD] partikkel and pd

2011-01-10 Thread ronni montoya
hi again , I was wondering if  somebody have used the partikkel opcode
inside pd using csoundapi?
Maybe somebody have used it and theres some example patch ?
Im having problems trying to control all parameters from partikkel
from pd, maybe somebody did this before and theres and example patch?

thanks


R.

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] [cos~] broken for moderately large inputs

2011-01-10 Thread Claude Heiland-Allen

Hi,

Seems [cos~] only gives expected results between -1024 and 1024.

Above  1024 the frequency halves,  halving again at  5120, etc.
Below -1024 the frequency doubles, until chaos   at -3072.

http://claudiusmaximus.goto10.org/g/tech/cos~-test.pd.png
http://claudiusmaximus.goto10.org/g/tech/cos~-test-2.pd.png
http://claudiusmaximus.goto10.org/g/tech/cos~-test-3.pd.png


Claude

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] readPartial

2011-01-10 Thread ailo
I started jack with the dummy driver.
I started pd from a terminal and connected to jack.
In the terminal there was a reoccurring message: readPartial.
Anyone know what that is about?

-- 
ailo

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list