Csound Csound-dev Csound-tekno Search About

Re: realtime polyphony

Date1999-05-21 03:48
FromPaul Winkler
SubjectRe: realtime polyphony
Tobiah wrote:
> 
> It is amazing that we are getting such different results from
> different compilers and machines.  I have a Celeron 333A that
> gets 206 oscils with the same flags on gcc. Hmmm.
> 

Whoops.
I _must_ have confused my versions of oscillates.c ... the one I thought
was Ed's is not the same as his message at all. I should have checked
that before posting.

I just re-copied Ed's code into a new file, compiled it with egcs
-m486 -ffast-math -funroll-all-loops, and it's running right now, over
400 oscillators and counting ... no glitches with X and emacs running at
the same time. 

Final score: 720 oscillators, daddy-oh!

gcc with the same flags scores 690 oscillators.

Csound doesn't fare nearly so well. Compiled with gcc -O2 (at the
moment, due to a buggy .config file, I can't compile it with anything
else), I get 200 super-simple oscillators from this orc. ( I get about
160 if I use oscili instead of oscil, and only about 40 if I use
oscil3).

I can increase the performance with the -b flag: best for me seems to be
-b 4096, or -b 2048, which both get about 220 oscils. Even down at -b
256 I can get up to 200 oscils, which is pretty low latency for realtime
MIDI. I think I can say that small buffer sizes work better on this
machine than they did on a Pentium 133.

; begin orc

	sr	=	44100
	kr	=	2205
	ksmps	=	20
	nchnls	=	1

instr 1
ipitch = p5 + 200
a1 oscil p4, ipitch, 1              
out a1 
print p5                        ;  this tells us how many oscils.
endin

; begin score
f1 0 1024 10 1 ; sine
t 0 400 100 120 400 60 ; edit to your taste

;1    at       dur      amp     count (same as at, but not time-warped)
i1    1         700     1000    1   
i1    2         .       .       2   
i1    3         .       .       3   
i1    4         .       .       4   
i1    5         .       .       5   
i1    6         .       .       6   
i1    7         .       .       7   
i1    8         .       .       8   
i1    9         .       .       9   
i1    10        .       .       10  
etc. etc...




-------------------   paul winkler   --------------------
slinkP arts: music, sound, illustration, web design, etc.

zarmzarm@erols.com      http://members.tripod.com/~slinkP
=========================================================