Organic is a programming language for algorithmic audio synthesis, with the goal of providing electronic musicians with a flexible yet easy-to-learn way to create unique music.
Organic is a labor of love and passion, conceived of and developed from scratch without the use of generative AI. All language and code decisions are meaningful and made with care, reflecting the true intent of the project.
Organic is a command-line compiler, run from the Command Prompt (Windows) or the Terminal (Mac/Linux). To run it, first open the command-line and navigate to the location where you installed the program. If you're on Windows, run the command organic (Windows) or ./organic (Mac/Linux). In both cases, you will need to provide at least one input, which is the path to your Organic code. Here is a full example (Mac/Linux):
./organic /Users/johndoe/Documents/play_a_sine.organic
The following section details the optional inputs, for more advanced use of Organic.
--info: Display configuration info before running the program.
--time number: Set the runtime of the program in milliseconds. If unspecified, the program will run infinitely.
--fast-forward number: Skip to the provided time in milliseconds before starting audio output.
--export string: Render the program to the specified audio file instead of playing back in time. Must be used in conjunction with --time.
--mono: Use mono audio for the program. If not included, the program will run in stereo.
--seed number: Use the provided seed for random number generation.
--buffer-length number: Use the provided buffer length for audio output. If not specified, the buffer length will be 128 samples.
--sample-rate number: Use the provided sample rate. If not specified, the sample rate will be 44100 Hz.
TBD
This section details the process of building Organic yourself, rather than using one of the released binary files.
Currently the only provided method for building Organic is CMake, which can be found here: https://cmake.org/download/. Make sure CMake is installed and working properly before continuing.
Once you have downloaded the Organic source code, open the command-line and navigate to the directory where you installed the source code. To build with CMake, run the following commands:
mkdir build
cmake -B build
cmake --build build --config Release
This will create the organic binary in the build directory (Mac/Linux) or the build/Debug directory (Windows). Move it wherever you would like, then return to Using Organic to continue.
Organic uses RtAudio for cross-platform real-time audio output. RtAudio can be found here: https://github.com/thestk/rtaudio.
Organic uses libsndfile for audio file input and output. libsndfile can be found here: https://github.com/libsndfile/libsndfile.
Organic uses libsamplerate for resampling audio files. libsamplerate can be found here: https://github.com/libsndfile/libsamplerate.