Building Tools For Musicians

This seminar will examine the roles that software tools can and do play in many different kinds of musical composition, creation and recording, and ways to construct them. We will consider the differing categories of potential users and aspects of the sociology of software development before moving onto more technical issues (and possible implementations).

The kinds of questions we may cover include:
  • the significance of GUI elements (knobs, faders, menus, numerical displays, grabbable objects, windows)
  • tradeoffs between hardware and (graphical) software interfaces
  • how hiding functionality can help or hinder musicians
  • task emphasis: why is Live not ProTools (or vice versa)? how does SooperLooper differ from Live?
  • presentation differences: how do different DAWs offer time stretching and pitch modification to the user?
  • plugins, standalone applications or participants?
  • contrasting toolboxes (Max/MSP, Pure Data), languages (SuperCollider, CSound) and ready-made tools
  • are small tools useful?
  • how do the tools (for example, trackers) shape the music?

Attendees should be have some familiarity with some kind of music creation, preferably but not necessarily involving computers. Some basic programming skills will be helpful, though not essential.

Weekly Schedule

Week 1: Introduction / What is a musician? / What do musicians do with computers?
Week 2: The Software Development Process / Economics / Sociology
Week 3: Plugins, Applications, Participants
Week 4: Interfaces I: controls
Week 5: Timo Recke/SoftWerk/OSC
Week 6: Matthias Herder/Plugins I
Week 7: Plugins II:
Week 8: Max Rohrbein/The New "Sound" of Music
Week 9: Interfaces II: hardware / software / hide / show
Week 10: Interfaces III: task & presentation
Week 11: Toolboxes, Languages & Small Tools
Week 12: Doing stuff with languages
Week 13: Building stuff with toolboxes
Week 14:
Week 15:
Week 15:


Student evaluations will be based on projects. Proposals are due in my inbox or office by 11/11/2008. All student projects will include a short paper (4-5 pages) to be presented during a seminar. Projects without other components (no software, design work, etc. etc.) should include longer paper (around 10 pages). There are primary goals of a project is to either

  • examine existing task/tool combinations in current software, analyse current solutions and propose ways to improve them.
  • implement a new idea
  • both
  • more
  • other

The emphasis is on original and clear thinking about design errors and mistaken or restrictive assumptions, original designs and solutions and if possible, wizardry.

Projects with other components be accepted (and evaluated) on the basis of scope, novelty, depth, aesthetics and wizardry. If you participate in both seminars you can opt to do a single combined (larger) project. Feel free to consider group projects that combine the strengths of 2-4 people.

You are encouraged to submit proposals to me early. I will publish a list of ideas after the second seminar for people having a hard time coming up with ideas.