A number of computer programming environments exist today that allow individuals to develop their own music apps. Some are “open source,”that is, they’re free to use, and unite a community of developers who openly share code with each other over the internet. As well as addressing their own needs, developers can respond to those of their peers in interesting new ways.
The design and development of apps constitutes a powerful form of frame negotiation (see “playframes”), since deciding: (a) how the user will interface with the software, and (b) which parameters can be manipulated and how (as well as, those that cannot) is mandatory. The development of these apps is also a fun creative act in its own right.
Visual data flow programming
Visual data flow systems such as the open source Pure Data (Puckette, 1996) and its commercial cousin Max/MSP (Puckette, 1999) are embodiments of “combinatorial play” par excellence since they allow the user to take chunks of ready-made code and string them together to create music programs in a fairly easy-to-learn manner.The benefit of both systems is that practitioners can create synthesizers, recording platforms, generative compositions, and even audio-visual artefacts that include only what is necessary to a particular task at hand.
While that may not immediately sound like an advantage, the removal of distracting “noise” from superfluous features or interface options is good design and a necessity for “playframing.” A secondary opportunity for frame negotiation presents itself by virtue of the fact that each app can be made to accept data from a variety of sources. These can range from such things as mobile phones, iPads or even sensors (as alternatives to piano/qwerty style keyboards or the computer mouse). Even data from keyboards can be distributed in a variety of ways, opening up possibilities for micro-tonal music making or different “tempering” styles.
Another great tool available at the moment is the “sketchpad” approach to computer programming used by systems such as Processing (Fry & Reas, 2001) and the Arduino microprocessor (Banzi, 2005), both of which are open source, allowing the user to create their own audio or visual apps without getting bogged down in the more complex aspects of programming language that exist in, for example, C++ coding environments.
A number of videos showing prototype playframing apps developed by the author, using Pure Data, Max/MSP and Processing as a basis, are featured in this category.
(c) 2015 Dr. Marshall Heiser.
Banzi, M. (2005). Arduino. [Computer hardware/software]. Ivrea: SmartProjects.
Fry, B. & Reas, C. (2001). Processing. [Computer software]. Boston: Open Source software.
Puckette, M. (1996). Pure Data. [Computer software]. San Diego: Open Source software.
Puckette, M. (1999). Max/MSP. [Computer software]. San Francisco: Cycling ’74.