Exercise 2

Exercise 2: Making Sound with Auzzie

When you make a generative Max patch like we did last time, you can play the sound using the operating system’s built-in synthesizer, though it doesn’t sound great. You can also send the MIDI notes to an external software synthesizer using the virtual MIDI ports Max creates.

Another option is to render the audio within Max, using the native MSP audio objects. We will do that soon, but for this assignment we’ll do something easier: work with an add-on package for Max called Auzzie. This will let us focus on generating sound quickly, add effects, and experiment with audio routing possibilities.

We will rely on the note-generating techniques we explored in the last assignment.

Goals

We’re learning how to...

  • route stereo audio signals in series and in parallel;
  • use some of the Auzzie modules;
  • feed notes and parameter values to Auzzie modules; and
  • initialize a patch containing Auzzie modules.

What is Auzzie?

Auzzie is an add-on package for Max that makes it easier to generate and process audio than it would be using native Max objects. It contains some polyphonic synthesizers and effects processors that would take a significant amount of work to implement directly in Max. Auzzie is no substitute for patching with native Max objects, but it’s helpful for people who are new to Max or who don’t want to spend time at the moment on audio programming. You can control Auzzie modules using Max messages, and you can connect these modules to native Max audio objects for more flexibility. This exercise is designed to get you started making Max audio patches using Auzzie.

Auzzie is already installed on the MC 304 computer. To get it working on your own computer, simply use the File > Show Package Manager command. The Auzzie item is rather high up on the alphabetically ordered list that appears. Click it, and then press the Install button. You will have to relaunch Max before you can use Auzzie.

Note that you must have an authorized version of Max to use Auzzie, because a feature it relies on (called “MC”) does not work in the trial version of Max.

How to Do This Exercise

Working on the assignment is a three-stage process.

  1. Download Exercise 2 Max Tips. This is a folder of Max patches that will give you an introduction to Auzzie and audio routing concepts. Open them in Max in order (part 1, then part 2, etc.), reading the comments and operating the patches.
  2. Make a patch that contains at least two layers of sound, each using a synthesizer and effects. Drive the synthesizer using a generative note machine like the one you made for Exercise 1. (We refer to this as a “note generator” below — a metro-driven network of objects that generates MIDI note messages.) Control the behavior and volume of layers using Max sliders, which you can create using the ‘s’ key. By default, these emit integers between 0 and 127. You can scale these into the right range for Auzzie.
  3. If necessary, initialize your Auzzie modules with values that take effect when you open the patch file.

See the Requirements and Suggestions section below for details.

Be sure you understand what each of these Max objects does:

  • pack
  • flonum (floating point number box)
  • delay

Also, experiment with (at least) these Auzzie modules:

  • FMODR, NOISR, WAVR, STRUMR (synthesizers)
  • REZFILTR, RINGR, DRIVR (filter and distortion effects)
  • 1DELAYR, 2DELAYR, REVERBER8R (effects with echoes/reverb)

Explore the built-in Auzzie help: start with Extras > Auzzie Overview. Alt-click on any Auzzie module while in edit mode to see a working patch that uses that module.

Requirements and Suggestions

  • Each layer must start with a synthesizer module: WAVR, NOISR, FMODR, or STRUMR. Each of these accepts MIDI notes in the same way (from makenote connected to pack).
  • You could use one note generator to feed both layers, or you could use separate generators, whose metro objects you start from the same toggle. Or keep the timing of the two layers entirely independent. For example, one stream could be fast and another could be slow, with long notes and slow attack and release times.
  • Put a FADR (or FADR-H) module at the end (bottom) of each layer. This lets you control the volume of each layer independently before it reaches the output module. The output modules are OUT and OUT-H. The only difference between them is that the latter is horizontal.
  • Create an effects chain for each layer — e.g., connect two or three effects in series between the synthesizer and the layer’s fader.
  • In addition, use at least one effects send, for a delay or reverb. You could have one send effect per layer or one shared by both layers.

    If the latter, be sure to feed the effects send from the outputs of the layer faders. That is, the send should be a post-fader send. Otherwise, you could be hearing the send effect for a layer whose fader is down all the way.

  • You may see evidence of clipping on the meters built into the FADR and some other Auzzie modules. (The top portion of the meter lights up orange or red.) It’s important to know that this affects your final output only when you see it on the final meter built in to the OUT (or OUT-H) module.
  • Send some initial values into Auzzie modules, triggered by a loadbang object passed through a delay object, which lets the Auzzie modules settle down a bit before receiving initial data.

Submission

  • Submit your Max patch to Canvas.
  • Be sure to satisfy the criteria listed above.

Grading Criteria

This exercise is graded pass/fail. You must submit the exercise by Thursday midnight to be eligible for a pass.

Your patch must

  • operate correctly and
  • implement the functionality described in item 2 of the “How To Do This Exercise” section above.