About RTSE

RTSE (pronounced “artsy”) is a real-time sound synthesis application which runs in the Mac OS X command-line environment. With RTSE, a user can create a custom synthesized sound on a Mac OS X computer and control it in real-time via MIDI.

Here is a visual diagram of RTSE's basic flow of operation:


Sounds are constructed through the use of user-editable text files known as "patch" files. When a patch file is loaded, the application parses it, referencing an internal list of operators (such as osc, adsr, delay, etc.). From this list of operators, the application builds individual Rtse Objects conforming to the parameters specified. Each Rtse Object is "connected" in series and encapsulated in a superstructure called the Rtse Patch Object, whose audio output is taken from the last Rtse Object in the chain. The sound can then be triggered and manipulated in real time via a MIDI controller (such as a MIDI keyboard*). A MIDI note-on message starts real-time computation, resulting in an audible signal being sent to the computer's audio output. The engine continues to "listen" for MIDI input and alters the sound based on the type of input (note value, MIDI volume, MIDI continuous controller message, etc.).

A number of patches can be accessed and loaded via the application's Patch Menu.

*A much more precise level of real-time control can be achieved through the use of a more sophisticated MIDI controller, e.g. one with knobs or faders capable of sending MIDI continuous controller messages. (A photo of the author's setup, which employs the use of a Peavey PC-1600x MIDI controller, can be seen here.)

Most of the “traditional synthesis” building-blocks were hand-coded by the author. However, many higher-level synthesis techniques and structures were realized by incorporating (and modifying where appropriate) portions of Perry Cook and Gary Scavone’s Synthesis Toolkit (STK). Real-time audio and MIDI is handled using, respectively, the PortAudio and PortMIDI APIs.