Music 250a Project Overview

by Matt Wright, 9/27/04

The main part of Music 250a is the class project. The early part of the course will teach you the skills you'll need to design, implement, and refine the project. In the last part of the course you will work on these projects in small teams.

The most interesting part (to me) is the interaction design: what actions will the user make, and how will they control the resulting sound output?

And of course we can't forget that the musician listens to the sound s/he produces, forming a feedback loop:

It's important to think in these very high-level terms as part of the design process. But as you'll see, interaction design needs to be an iterative process. Here's how it usually works for me:

To "try to make it work" you'll need to understand and use the technologies involved. Here is what most 250a projects consist of:

This diagram is one way of looking at the trajectory of the course. You'll need to learn about sensors, circuits, how to program the AVR microprocessor, how to program in Pd, etc.

In terms of your use of the technology, the information will be flowing from left to right, from musician to loudspeaker, as in the diagram above. But information can actually flow back to the human user from any stage in the chain:

In addition to thinking about the components of a system, I always also like to think about the connections between those components: how do they talk to each other?

Abstraction Layers and Information Hiding

One critical idea from computer science is information hiding: solving a problem (by taking care of all the details) and then making the solution available via an interface that is much, much easier to understand than the solution. This can be thought of as sharing information on a "need to know basis."