Previous Section: Playing Sounds

Introduction to CMIX Instrument Design


One of the wonderful aspects of CMIX (from a 'sound hacker' perspective) is the relatively easy access the package gives to sound sample data. In fact, the bulk of CMIX is really nothing more than a set of C functions (called "unit generators" for historical reasons) designed to do various sound synthesis and signal-processing tasks coupled with a set of C functions for fast sound sample input and output to a disk file.

No special knowledge of language syntax beyond a working knowledge of C is needed to create a user-defined sound processing or synthesis routine. These user-defined functions are termed "instruments", even though they may be designed to do decidedly non-instrumental things. Because CMIX is built using the C programming language, all of the power and flexibility of C is available for use within an instrument. Of course, since C is a relatively well-established programming language, the design of CMIX instruments can become somewhat convoluted -- all of the power and flexibility of the C language can also be used (and seems often to be used!) to create quite obscure and difficult code. There are also many ways to accomplish the same result, often with no clear "best" method.


Next Section: Instrument Design Overview
What is CMIX? - Index -
Cmix Home Page