This is a demonstration of the software i wrote for my MSc In Music Technology at DKIT under the supervision of Rory Walsh. The software is used to create custom multitouch user interfaces for controlling Csound Instruments. It allows users to define gui elements, such as sliders and buttons, in their csound file. The .csd file is parsed by CsMultitouch to retrieve this information. Said information is then used to create the multitouch interface using the PyMT framework.
Here‘s an interesting alternate controller I’ve not yet seen: a step sequencer where one composes a pattern by placing ball bearings onto a grid.
Though I don’t exactly have one in front of me, I would imagine the sensation of manipulating the device would be similar to patching a modular synth. There must be something entirely satisfying interfacing with music in this manner, akin to eating with a well-balanced set of weighted flatware.
A tangible rhythm sequencer. Ball bearings are used to trigger drum sounds. Visual feedback is displayed from underneath to indicate the current time and the state of each ball bearing.
The brainchild behind the Beat-Bearing Sequencer is Peter Bennett.
When designing a virtual instrument in csound, the easiest approach is to create a single self-contained instr. Within this instr, any number of opcodes can be arranged in a near-infinite number of combinations. Each instance of the instr manages its own local memory space/variables/signals. Users customize the interface of the instr by utilizing p-fields.
With this fundamental model of instrument design, it is already apparent that Csound excels in terms of modularity. However, there are many other approaches that expand this concept even further.