Music 307

Introduction to Computer Music

Lab 5:  Algorithmic control of FM synthesis using Max/MSP

One can say that MIDI is "isomorphic" to standard musical notation, which in turn is isomorphic to actual music. This is partially true; the problem is that music notation is not music. This distinction is clear when you watch the legendary Heifetz play the violin – he is clearly NOT playing sequence of "notes," even though the music he is playing is of course notated. This assignment is designed to get you to think about music in a different way, not simply a sequence of notes, but as a process.

There is a well-known piece by Brazilian composer Antonio Carlos Jobim called Samba de Uma Nota (One-Note Samba). It was a big hit in 1963, winning a Grammy and reaching number one on Billboard. However, the name is tongue-in-cheek; it's not really one note at all.

Anyway, your task is to make a piece of music with only ONE note! How do you do that?

Make a short piece that evolves slowly through time, using the FM patch from Lab 4 as a starting-off point (see below for two other options). Note that the first thing you'd probably want to do is make a long duration of at least 60000 msecs (one minute) going into the setdomain $1 message into the function object.

It is clear that the function objects are critical for this task. By making complicated functions, you can make the sound vary tremendously over time. You can also add a function that controls pitch and/or Harmonicity over time (see below). Using these parameters, you can make a short piece that really is only "one note" long (a minute or two at most)

Your Max patch should "play itself" live when the user clicks on "go," and it should end by itself without user intervention.

Your patch can have a minimum of one FM voice; if you'd like to have several copies of the FM patch playing (with different parameters) at the same time, that's a good way to increase the compexity/density of the sound.

To that end, if you want your music to be multi-voice, you'll need more than one copy of the FM patch. You can copy and paste as many copies as you want, all doing different things, with different parameter settings. To make this a bit easier for you, I've saved a version that has two (out of the six) voices already inserted for you:
Double-click on the p FMsynth_engine subpatch -- you can add more FM voices if you want more complexity, up to 6-voices with independent pitch envelopes. There is a lot to control here!

Another approach: if you want to set up a patch with 6 sinusoids (with no FM) and also has a different frequency envelope for each one, you can start with this patch from the book: 02_14b_addvar_func.maxpat (page 316 in the book) which has various presets to try out. You'll see that this patch has 6 sinusoids that evolve independently, including a "pitch envelope" for each one, which is something new. Also new is the mc. objects (multichannel objects) described in this section in the book. You'll have to read this section carefully to understand how the mc. concept works.

You will almost certainly need a loadbang object that sets all the values by selecting a preset (see below for an example that selects preset 8) when you open that patch, so that the user just clicks on GO and it plays and ends correctly all by itself. TEST YOUR PATCH BEFORE SUBMITTING IT! All values (including the ouptut fader level) will default to zero if you don't explicity set them, and nothing will happen when I open it. Note that to properly test it, you'll need to close and then re-open the patch -- that way you can tell if you need to set the values (using loadbang) or not.

Here's what the top-level of the patch could look like (of course you'll have a lot of complex "machinery" going on in the background). It does not have to look exactly like this, but it should have a big PLAY button!

What you hand in:

—A Max/MSP patch that plays your music. Include everything I need to be able to play it (any associated files that are needed).

—A brief writeup that explains how you made the music, and why it sounds the way it does.

Note: for all lab assignments, you must HAND IN A WRITEUP DESCRIBING YOUR WORK (musical materials, tracks, problems (if any), strategy, etc.) You won't get a grade if there is no writeup!