Common Lisp Music, by William Schottstaedt is a powerful sound synthesis language implemented in Lisp and C. CLM is essentially a toolbox for instrument building. Although it comes with a number of instruments ready to use, most composers use CLM to define their own instruments.
For those of you that wish to dive into CLM sound synthesis system, I advise everyone to read this document carefully first.
1. Command Line Tools
First you need to find out if "command line tools" are installed in your system.
The C compiler is essential at the instrument compile and load time.
Launch the Terminal, found in /Applications/Utilities/
To check if command line tools are installed run:
if installed you will see the below with the version found in your system, something like that:
xcode-select version 1234
If command line tools are not installed run:
A software update popup window will appear that asks: “The xcode-select command requires the command line developer tools. Would you like to install the tools now?” choose to confirm this by clicking “Install”, then agree to the Terms of Service when requested. Wait for the Command Line Tools package download to complete, it’ll be about 130MB and installs fairly quickly depending on your connection speed. The installer goes away on its own when complete. Enjoy your new unix command line toolkit!
2. Load and Compile Instruments
CLM system comes with a number of instruments which are a great starting point to see and hear CLM in action. Some of them are simple others are complex. Before you can run any of the instruments you must compile them first. To do that you need to open and evaluate a file "Load CLM Instrument.lisp", you will find the file in the CLM directory. This process will take a minute or so and it will create binary and dynamic library files for each of the instruments. The binary files will be saved in the bin directory and the library files will be saved in the libclm directory. After this process is completed you are ready to run the CLM Examples. If you wish to load your instruments at the startup of the app move the "Load CLM Instrument.lisp" file into the “~/Opusmodus/Extensions/“ directory.
Thats all you need to do to make CLM system work in Opusmodus.
I'm still learning. This is a simple thing.
How can I put inside a function the name of a variable, like the example below.
I want to do this:
(gen-binary-row 12 '(0 2 5 7 8 11))
>> (1 0 1 0 0 1 0 1 1 0 0 1)
But in this way:
(setf binrow '(0 2 5 7 8 11))
(gen-binary-row 12 '(binrow))
What am I missing ?
Thanks for help.