Polyphonic Spatial Motion Etude
Deadline
Due Saturday, April 4 at 11:59 PM.
As a reminder, our deadlines are firm. Late submissions will incur penalties according to the Syllabus policy.
Consult the Syllabus if you have any questions about late work.
Introduction
In this assignment, your objective is to extend a single-source spatial control system into a multi-voice (polyphonic) system using poly~.
Begin with a provided example patch (see screenshot below) in which a single audio source is moved in space using a max remote message syntax controlling SPAT coordinates (e.g., position in XYZ or AED coordinates; up to you).
Your task is to extract this sytemβs logic, and implement it in a poly~ so that multiple independent sources can move simultaneously, each with its own spatial trajectory, designated by messages sent in remote message boxes like those seen here.
In other words, you will move from:
one source, one trajectory
to:
many sources, many trajectories β a polyphony of motion in space
Important:
This assignment is about movement and control, not sound.
You are not required to include audio in this patch.
You may use your test signals if helpful, but your focus should be on:
coordinating spatial behavior through Max messages
Learning Objectives
By completing this assignment, students will be able to:
- Analyze an existing Max patch and identify its control structure.
- Abstract a single-source spatial control system into a reusable voice module.
- Implement polyphony using
poly~to manage multiple simultaneous spatial behaviors. - Design coordinated motion across multiple sources using structured control messages.
- Translate conceptual motion ideas into executable control systems.
Boiler Patch
Below is the example boiler patch you will study and adapt. Right-click to save this image or open in a new tab, where you can zoom in for detail:

Conceptual Reference: Spatial Verbs
As you build your system, spend some time browsing the following visual reference:
Operative Design: A Catalog of Spatial Verbs by Anthony DiMari & Nora Yu
This book presents transformations of objects in space as actions (verbs) rather than static forms. Things like:
- rotate
- expand
- compress
- spiral
- intersect
- disperse
You are not expected to read this text in detail. But instead:
- Browse casually
- Identify a few movement ideas that interest you
- Translate those ideas into motion behaviors for sound sources using your spat~ messages
Even though the book demonstrates using volumes instead of isolated points, you should reinterpret these as relationships between multiple moving points (i.e., audio sources) in space, which is what weβve been moving around in spat~.
Assignment Instructions
Step 1: Analyze the Given Patch
- Study the provided patch carefully.
- Review and identify:
- How SPAT parameters are controlled
- The structure of the control messages
- What defines a single moving source (i.e., X, Y, Z desintations, slew time, which audio source number)
Step 2: Isolate the Voice Structure
- Extract the logic for one moving source
- This should include:
- Control messages
- Spatial parameter routing
- Prepare this structure so it can be reused inside
poly~ - Look back at our previous
poly~tutorials for a refresher - Recall how the
notemessage works inside apoly~and adapt this for use with ourspat~syntax.
Step 3: Implement poly~
- Create a
poly~object containing your single-source voice - Each voice must:
- Receive independent control data
- Move independently in space
Consider using:
notemessages- or
targetmessages - Message routing strategies
Step 4: Design Polyphonic Motion
- Use between 4 and 8 voices (your system supports up to 8)
- Create multiple simultaneous trajectories
Your system should include:
- A set of message boxes or control structures
- Messages that are triggered in sequence and in time
Each voice should:
- Follow a distinct motion path
- Participate in a larger coordinated behavior
Step 5: Apply Spatial Verbs
Using the reference book:
- Select at least 2β3 spatial verbs or transformations
- Translate them into coordinated motion behaviors
Examples:
- Expansion : sources move outward from a center
- Rotation : sources orbit a shared axis
- Compression : sources converge
- Intersections : paths cross or collide
Think in terms of:
relationships between sources, not isolated motion
Step 6: Testing (Optional Audio)
- You may include test audio signals if helpful
- However, this is not required
Your patch will be evaluated based on:
- The clarity and correctness of movement, not sound design
Step 7: Submission
- Submit your
.maxpatfile via GitHub as usual - Label its file name so that itβs clear this is your assignment
- Ensure:
- Your patch opens without errors (check the Max console)
- All movement systems function correctly
- Your patch is clearly labeled and organized
Evaluation Criteria
| Category | Description |
|---|---|
| Polyphonic Structure (30%) | Successful implementation of multiple independent voices using poly~. |
| Motion Design (30%) | Clarity, variety, and intentionality of spatial movement. |
| Conceptual Application (20%) | Effective translation of spatial verbs into motion behaviors. |
| System Clarity (20%) | Organization, readability, and reliability of the patch. |