Csound Csound-dev Csound-tekno Search About

Re: cmusic Was: Csound and other synthesis systems

Date1999-06-17 08:24
FromSean Costello
SubjectRe: cmusic Was: Csound and other synthesis systems
Robin Whittle wrote:

> Please correct me if I am wrong, but it is my understanding that both
> Music V and cmusic call the code for a unit-generator, and that code
> produces just one sample of audio output.  Csound's distinguishing
> characteristic is that it has a variable "ksmps" which tells the unit
> generator how many samples to calculate.  

I believe that having a separate control rate was a technique developed by Barry Vercoe for Music
11, and carried into Csound. I guess that any music language that distinguishes between control
signals and audio signals (is SuperCollider this way?) can be viewed as being derivative of Barry
Vercoe's innovations. I think that the Nord Modular also makes this distinction. 

BTW, Buchla modular synthesizers also had separate paths for audio and control signals, but for a
different reason - the Buchla synths used optoisolators within their VCAs and VCFs, which had too
slow of a response time to be modulated at audio rates.

I would love to have a provision in Csound, where a separate kr=sr loop could be set up within an
orchestra, for those techniques that require feedback to work. Or can this be done with the zak
ugens?

Sean Costello


dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html

Date1999-06-17 10:00
FromJames McCartney
SubjectRe: cmusic Was: Csound and other synthesis systems
At 1:24 AM -0600 6/17/99, Sean Costello wrote:
>11, and carried into Csound. I guess that any music language that distinguishes between control
>signals and audio signals (is SuperCollider this way?) 

yes. However SC allows a separate block size per event.
Control rate signals are always linearly interpolated when consumed 
by another ugen so there are never any zipper artifacts. This
adds a bit of overhead, but since it is done in registers in the
ugens loop, it is a small overhead and is much preferred to the 
two alternatives: 1) not using control rate but using audio rate.
This causes a lot of overhead because reading from a buffer
of samples is much slower than linearly ramping a value in a register. 
2) having zipper noise artifacts. 

>can be viewed as being derivative of Barry
>Vercoe's innovations.

Well I stole good ideas from Roger Dannenberg too.
When I read that Nyquist was sample accurate I considered that a raising
of the bar and decided to implement that in SC as well.
It is pretty important when scheduling grains, for example.



   --- james mccartney     james@audiosynth.com   http://www.audiosynth.com
If you have a PowerMac check out SuperCollider2, a real time synth program: