[chuck-users] Creating Traditional Instrument Sounds Using OSC
(ChucK vs. SuperCollider)...
gewang at CS.Princeton.EDU
Tue Feb 28 00:28:49 EST 2006
> What I would like to be able to have these sounds be conventional
> instrument sounds (Bass, Drums, Guitar, Trumpet, Piano, etc). Is there
> a way to achieve this through ChucK, or do I need to use a software
> synth like fluid-synth? I also want to be able to code, execute, and
> modify this live.
There are several ways to achieving this in ChucK (and in SuperCollider
too). To get more "conventional" instrument sounds:
1. Build them or control an existing STK model. Most of them are in
(also see samples in examples/stk/ in the distribution)
There is a sizable update to enhance ChucK's interface for STK unit
generators, coming soon in 184.108.40.206.
2. Especially for Drums and Piano, it might make sense to load
existing samples via sndbuf. It may also be beneficial to write a
small class for managing voices.
3. We have been planning to add a fluidsynth unit generator into
ChucK, with which one can load sound fonts. This isn't implemented,
but we hope to do it in the next few weeks.
As for figuring out which language to use (ChucK / SuperCollider /
that of course depends on your needs and preferences. Here are some
high-level differences, at least between ChucK and SuperCollider.
SuperCollider has been in development much longer (~10 years) than
ChucK, and is much more mature in terms of class library functions,
number of unit generators, and SC Server is super optimized. The
curve for SuperCollider can be pretty steep. The language is
ChucK, by comparison, is younger, much less optimized, and has less
pre-made objects and unit generators. However, the language is designed
such that many functionalities can be directly implemented in the
ChucK is probably easier to learn, especially if you are coming from a
C++/Java, or in your case, Perl background. The language is
ChucK espouses a pretty different way of thinking and controlling sound
synthesis from other computer music languages in that it gives you
and concurrent control over time. For example, it directly allows one
specify time-domain operation/algorithm, at any granularity and in
If you like, you might give both SuperCollider and ChucK a try. They
have many different (and similar) things to offer. I hope this helps.
More information about the chuck-users