A downloadable Sound Toy for Windows and macOS
Write short C-style programs whose output is used to generate sound!
Evaluator's approach, however, is not purist, and its language is not C. The language contains much of the same syntax, most of the operators, and the same operator precedence, but introduces some additional features that make generating musical sounds a little bit easier and also make real-time MIDI control of the program possible. It also includes several built-in presets that demonstrate all the language features, supports save/load to fxp, and loading a program from a plain text file.
The basic idea is that a program operating on 64-bit unsigned integers is used to generate every audio sample. The program essentially runs in a while loop that automatically increments the variables t, m, and q before executing the program code each time.
Evaluator makes some incoming audio and MIDI available to the program. The first two channels of incoming audio can be accessed using  and . The most recent MIDI Note On number and velocity can be accessed with the n and v variables. MIDI Control Change values can be retrieved using the C unary operator (eg: C10 will be the most recent value recieved for MIDI CC 10).
When running the Standalone version, you can use the Preferences dialog to set the MIDI In device, but if you don't have a device you can also generate a limited number of MIDI notes by using the computer keyboard. The computer keyboard method is not a great implementation due to limitations of the framework used for the Standalone version, so a better solution could be to use a program like MidiKeys as a virtual MIDI keyboard.
You may also need to use the Preferences dialog to configure your audio output device in order to hear the Standalone version make sound. In some cases, it will not pick the correct output the first time that it launches.
Evaluator is available for Windows and OSX as a Standalone App, VST, and VST3. An AU version is also available for OSX.
Click download now to get access to the following files: