Software Tools : Overview


What exactly is a software tool?

In the field of Computing Science, software tools traditionally entail programs, applications, or libraries that provide developers with functions to aid in the creation, modification, deployment, and maintenance of their own software.

Over the years, the phrase “software tool” has evolved into an umbrella term that encompasses almost any application that helps a user accomplish a specific task. For instance, FFT analysis tools allow a user to input a signal and view the corresponding frequency spectrogram under certain parameters. In this example, the application helps the user perform the complex task of frequency analysis—the user does not necessarily need to know the algorithmic details of the underlying process, but must know how to interact with the tool to render the desired result and interpret it's output.

In the context of music, a software tool entails any program, application, or library that facilitates composition, synthesis, device interaction, digital score notation, digital audio signal processing, etc. It becomes evident that there exists an abundance of software tools, available to both users and developers, which cater to a broad range of musical applications.

In summary, software tools are created to ease user performance of a computational music-related task. Although software tools are often created with a specific mapping, performance, interface, or hardware platform in mind, a tool is in principle easily extensible and flexible, designed for use by the larger community.

Short Reading Suggestions

  • Manning, P. D. 1999. “The evolution of interactive graphical control interfaces for music applications.” Organized Sound, 4(1): 45-49.
  • Steiner, H. 2005. “[hid] toolkit: a unified framework for instrument design.” Proceedings of the Conference on New Interfaces for Musical Expression (NIME-2005). University of British Columbia, Vancouver, Canada, pp. 140-143.

Standard Software

  • Boulanger, R. 2004. The Csound Book: Perspectives in Software Synthesis, Sound Design, Signal Processing, and Programming. Cambridge, MA, USA: MIT Press.
  • Puckette, M. 1996. “Pure Data: Another Integrated Computer Music Environment.“ Proceedings of the Second Intercollege Computer Music Concerts. Tachikawa, Japan, pp. 37–41.
  • Wang, G. and Cook. P. R. 2003. “ChucK: A Concurrent, On-the-fly Audio Programming Language.” Proceedings of the International Computer Music Conference (ICMC 2003). pp. 219–226.
  • Wilson, S., N. Collins, and D. Cottle. 2011. The SuperCollider Book. Cambridge, Mass: MIT Press.
  • Zicarelli, D. 1998 “An Extensible Real-Time Signal Processing Environment for Max”. Proceedings of the International Computer Music Conference (ICMC 1998). Ann Arbor, Michigan, USA.
  • Assayag, G., and A. Gerzso. 2009. New Computational Paradigms for Computer Music. Sampzon: Delatour.
  • Boulanger, R. C., and V. Lazzarini. 2011. The Audio Programming Book. Cambridge, Mass: MIT Press.
  • Cook, P. R. 2002. Real Sound Synthesis for Interactive Applications. Natick, Mass: A K Peters.
  • Li, T., M. Ogihara, and G. Tzanetakis. 2012. Music Data Mining. Boca Raton: CRC Press.
  • Rowe, R. 2001. Machine Musicianship. Cambridge, Mass: MIT Press.

Further Reading