Previous: All of the above, Up: All of the above


4.8.1 mudbox

In computer science the term sandbox is frequently used to refer a technique where a piece of software is isolated from the surrounding operating system environment to reduce security risks. Unlike these clean sandboxes in Marsyas the mudbox is a playground for experimentation and messing around. This is all the more appropriate given that several of the main Marsyas developers have lived in British Columbia where sandbox turn into mudboxes most of the year. It was motivated by the frequent need to experiment with various MarSystems under construction without having to create a new application for each case and potentially have to modify the build system. Typically code for a MarSystem gets tested in mudbox, then is gradually expanded to a tool and eventually becomes it's own application or gets integrated to one of the existing ones. More information can be found Playing in the mudbox. The examples in mudbox are short and can provide quick templates for various types of tasks. The specific example to be executed is specified by the –toy-with, -t command-line argument:

     mudbox -t onsets foo.wav
     mudbox --toy-with vibrato foo.wav
     mudbox -h

The first command will generate a stero file foo.wav_onsets.wav with one channel containing the detected onsets. The second command will apply a vibrato type of effect using a delay line to foo.wav. The third command will display many (but not necessarily) all of the available “toys” in mudbox. In general, mudbox is supposed to be experimental so don't expect careful error checking or proper output messages. In most cases you will need to read the corresponding source code in mudbox.cpp to figure out what's happening. This is a feature of mudbox not a bug :-).