K509 Week 2
Introduction to RTcmix
RTcmix is a program that generates or processes sound according to instructions
you give it in a simple programming language. Because you use a programming
language, it’s easy to make sound in response to an algorithm you
design. The algorithm typically incorporates a certain amount of controlled
randomness, letting the computer make some of the decisions when rendering
the sound.
This is a very different approach from the way we work with sequencer-based
tools, such as Digital Performer or Pro Tools, and their collections of
plug-ins. Not better — just different. Most people take the sound
produced by RTcmix and mix it in a program like Pro Tools.
RTcmix is an open source project that uses the
GPL software license. As a result, the source code for the
program is free: it doesn’t cost anything, and you have the freedom to
change the code. This probably doesn’t sound like a big deal, but it is.
It means, at least in theory, that your creative work can be free from the
constraints of some company’s business plan. (Ask any former user of
Opcode’s Vision sequencer program about this.)
The source code for RTcmix, as well as some documentation, is available at RTcmix.org. You can find compiled
packages for Mac OS X (both PPC and Intel) at iub.edu/~emusic/rtcmix/pkg.
Here’s what you should do this week.
- Brush up on your Unix command-line skills. (You’ll need them.)
- Download and print the
RTcmix tutorial
PDF file.
- The CECM computers have the tutorial example scores; if you’re not
on one of these computers, download the
example scores.
- Read pp. 1-13 of the tutorial, stopping just before “Sound File
Input and Output.” Make sure you run the example scores; otherwise
you won’t get much out of the tutorials. Be brave, and make changes
to the scores. Experimentation is the key to learning this stuff!
- Write at least one RTcmix score that uses the WAVETABLE instrument and
explores the following concepts or techniques. Be ready to play and
discuss your scores in class during week three.
- looping
- randomness
- envelope tables
- non-sine wavetables
- pitch computation
- conditionals
- arrays
-John Gibson