Csound Csound-dev Csound-tekno Search About

Re: Eliminating Noise

Date1997-04-09 07:47
FromPablo Silva
SubjectRe: Eliminating Noise
Hello, CSounders:

On April 8, 1997 Tobias Kunze wrote:

>The use of a control rate other than kr = sr introduces a not
>insignificant amount of noise.  Try enveloping an oscillator
>and watch the result with your favorite spctrum analyzer.  The
>signal is clean at kr = sr only.  I get ~20dB sidelobes at
>ksmps = 100.

I'm relatively new to CSound,  still this seems a bit strange... All
examples that come with the tutorials set the sr to kr ratio at 10/1 which
would mean a ksamp of 10. Does this mean we would need to have a kr of the
same value as the sr to get truly clean results? This, it seems to me,
would make the difference between control signals and audio signals moot,
and of course would dramatically increment computation time... Am I missing
something here?

Pablo

______________________________________________________________________

Pablo Silva
hpsilva@servidor.unam.mx
Escuela Nacional de Musica, UNAM, Mexico
______________________________________________________________________



Date1997-04-09 15:52
FromErik Spjut
SubjectRe: Eliminating Noise
At 12:47 AM -0600 4/9/97, Pablo Silva wrote:
>Hello, CSounders:
>
>On April 8, 1997 Tobias Kunze wrote:
>
>>The
>>signal is clean at kr = sr only.  I get ~20dB sidelobes at
>>ksmps = 100.
>
>Does this mean we would need to have a kr of the
>same value as the sr to get truly clean results?

The issue is very much dependent on instrument specifics. If you
are just running a-rate oscil's with a-rate envelopes, ksmps doesn't
have an influence on noise. If you use k-rate envelopes, you'll get
noise except at ksmps=1. If you run a ugen like foscil where k-rate
parameters directly affect the signal and you vary the parameters during
a note, you'll get noise except at ksmps=1. A k-rate signal used to vary
a low-frequency signal (e.g., a randomizer on a vibrato) is usually OK.
Some ugen's like gain or balance multiply everything by a constant
which is fixed during a k-frame but changes from frame to frame. They
only work properly at ksmps=1. Some other things such as home-grown
recursive (IIR) filters or pulse-width modulation only work at ksmps=1.

Everything tends to work better but more slowly at ksmps=1, but it is
not always necessary for noise reduction. I hope that clarifies things.

-----------------------------------------------------------------------------
Erik Spjut (rhymes with cute) - Associate Professor of Engineering   and/or
Associate Director for Engineering Computing in the Engineering Design Center
Harvey Mudd College, Claremont, CA 91711  USA
Erik_Spjut@hmc.edu     Ph & Voice mail (909) 607-3890     Fax (909) 621-8967