| Thorne,
The way that I implemented it was more like the following:
instr 1
aosc oscil foo bar baz
aout compress aosc, aosc....
gaout = gaout
endin
This way, the amplitude is limited within the instrument, before it is sent anywhere else. If you are sending more than one instrument to a final mixer instrument, you might have to do it more similarly to your method, but also incorporate Oeyvind's suggestion of zero-ing out your gaout at the end of your compressor instrument like the following:
gaout init 0
instr 1
...
aout oscil foo bar baz
gaout = gaout + aout
endin
instr 2
aout compress gaout, gaout, ... etc.
out aout
gaout = 0
endin
Then the gaout values are not carried over from sample to sample(or k-period to k-period).
Mark
----- Original Message ----
From: thorne
To: csound@lists.bath.ac.uk
Sent: Wednesday, December 5, 2007 8:35:06 PM
Subject: [Csnd] Re: Re: Scaling amplitudes in polyphony
mark jamerson writes:
> I am assuming that you want to have more than three notes playable
> at any time, otherwise you could use the maxalloc opcode. But one
> possible option would be to use the compress opcode on the output
of
> the instrument. It pretty much works just like a real-life
> compressor. I used it recently in a situation where the
> instrument's design created a very large dynamic range, which I
> squished down to a usable amount.
So, do you mean something like:
gaout init 0
instr 1
...
aout oscil foo bar baz
gaout = gaout + aout
endin
instr 2
aout compress gaout, gaout, ... etc.
out aout
endin
...because i tried that, and the results were... difficult to describe.
I am a rank beginner at this and i am assuming i am doing something
wrong. Should this work in principle or is my approach wrong?
--
Theron TtlÄx
Send bugs reports to this list.
To unsubscribe, send email sympa@lists.bath.ac.uk with body
"unsubscribe csound"
____________________________________________________________________________________
Never miss a thing. Make Yahoo your home page.
http://www.yahoo.com/r/hs
|