Ales Tsurko, an indie developer from Belarus, has released Kotoist, a freeware algorithmic composition plugin based on the Koto programming language. At the moment, a macOS binary is available for download but you need the build the Windows version using the provided source code.
Now, as a fair warning, this article is going to get a bit technical. 🤓
Kotoist is a new VST plugin that can be used for lightning-quick music creation based on algorithms and patterns. It can be used for ‘Live Coding’ and ‘Algorithmic Composition.’ You can edit each and every note of your composition separately and create some fascinating sounds.
The source code for Kotoist can be found on GitHub. It is available as macOS binaries. Windows users will have to build the program from the source to try it out (for now). The installation instructions are provided on the GitHub page.
It has been published on a public license, which means you are free to use it as you please. The source code can be obtained free of cost and modified to your heart’s content without any worries.
Kotoist’s interface may look like a command prompt, but you hardly need any programming know-how to operate it. It runs on very simple commands.
You input commands into the editor to get desired results. You can have a “Snippet” of code for each MIDI note.
To choose a Snippet for editing, click on the Snippet button, which fashions a graphical table on it. This will enable the “Snippet chooser” view. Select a Snippet to work on; it will be highlighted in yellow.
Kotoist uses the ‘midi_out’ function to connect to your DAW. You input two types of arguments for results –
- The pattern used for playing the music.
- The quantization in beats.
Quantization is relatively straightforward, but the pattern argument is where most of the musical magic lies.
The pattern argument has various values which are used to set the style and tone of the music. These values include:
- dur – note duration
- length – note length
- degree – step in the scale
- scale – to view available scales, you can execute the print_scales function
- root – root note
- transpose – simple transpose
- mtranspose – transpose relating to the scale
- octave – octave number (from 0)
- channel – MIDI channel number
- amp – amplitude (from 0.0 to 1.0)
These different values can be called upon by writing code in the editor.
For example, “pattern.dur” is used to set a particular tone duration, followed by the desired value.
To get your output as music, you evaluate your code using the build button, which has a hammer icon on it. You can get the result for your entire code or specific parts by selecting the part you need before using the build option.
To evaluate, you need to be in the “Snippets” view. To hear the result, play the note corresponding to the evaluated Snippet. Once you have several snippets in place, the process of composing new music becomes a lot faster.
Now, I know most musicians aren’t comfortable with coding to make good use of this tool just yet. But it represents a new era in digital music, where we can produce hours of randomly generated music using a few algorithms.
So, do you think ‘algorithmically generated music’ could ever replace a human? Or are they merely tools to enhance our musical creativity? We’d love to hear your feedback in the comments.
Download: Kotoist (macOS binary, Windows source code)