Foreword |
|
xi | |
|
Preface |
|
xiii | |
Acknowledgments |
|
xix | |
About the Companion Website |
|
xxi | |
1 Introduction to Programming |
|
1 | (16) |
|
Covers the basic tools of operation and navigation in Max as well as an introduction to the basic ways to work with data. |
|
|
|
|
3 | (4) |
|
|
7 | (1) |
|
|
8 | (1) |
|
|
9 | (1) |
|
Separating Items in a Message |
|
|
10 | (1) |
|
Numbers: Integers and Floating Points |
|
|
10 | (2) |
|
|
12 | (1) |
|
|
12 | (1) |
|
|
13 | (4) |
2 Generating Music |
|
17 | (22) |
|
Introduces elements of algorithmic composition. |
|
|
|
We will create a program that randomly generates pitches at a specified tempo. |
|
|
|
The program will have the ability to change a number of musical variables including timbre, velocity, and tempo. |
|
|
|
We will also write a program that allows your MIDI keyboard to function as a synthesizer. |
|
|
|
These two programs will be the basis of future projects related to composition and performance. |
|
|
|
|
17 | (1) |
|
MIDI (Musical Instrument Digital Interface) |
|
|
18 | (1) |
|
Synthesizing MIDI Numbers |
|
|
19 | (2) |
|
|
21 | (7) |
|
|
28 | (1) |
|
|
29 | (4) |
|
|
33 | (6) |
3 Math and Music |
|
39 | (22) |
|
Discusses some of the math used in musical operations. |
|
|
|
We will examine the math behind musical concepts like transposing music by some interval and adding chord tones to a root note. |
|
|
|
We will also look at some of the things that will help make your program look better and more accessible to users. |
|
|
|
We will create a program that harmonizes MIDI notes. |
|
|
|
|
39 | (4) |
|
|
43 | (2) |
|
|
45 | (3) |
|
|
48 | (4) |
|
|
52 | (1) |
|
|
53 | (4) |
|
|
57 | (4) |
4 Scales and Chords |
|
61 | (26) |
|
Describes how to build scales and chords and play them back in a variety of ways. |
|
|
|
By the end of the chapter, you will write a program that allows users to play diatonic chords in a specified key using just the number keys on your computer keyboard. |
|
|
|
|
61 | (3) |
|
|
64 | (10) |
|
|
74 | (3) |
|
|
77 | (10) |
5 Interactive Ear Training |
|
87 | (14) |
|
Describes how to make an interactive ear-training program. |
|
|
|
|
87 | (10) |
|
|
97 | (4) |
6 Data Structures |
|
101 | (24) |
|
Describes how to write a program that randomly generates diatonic pitches at a specified tempo. |
|
|
|
We will learn how to filter chromatic notes to those of a specific mode by using stored data about scales. |
|
|
|
By the end of this chapter, you will have created a program that composes diatonic music with a simple rhythm. |
|
|
|
We will also learn about adding objects in order to expand the Max language. |
|
|
|
|
101 | (2) |
|
|
103 | (1) |
|
Filtering Chromatic Notes to Diatonic Notes |
|
|
104 | (1) |
|
|
105 | (5) |
|
Abstractions and Subpatchers |
|
|
110 | (2) |
|
Working with Pitch Classes |
|
|
112 | (1) |
|
|
113 | (4) |
|
|
117 | (8) |
7 Control Interfaces |
|
125 | (22) |
|
Examines some premade patches demonstrating a few techniques for designing diatonic musical instruments. |
|
|
|
We will review some of the basic ins and outs of MIDI, learn some ways to program more efficiently, and discuss a number of control options for your patches. |
|
|
|
|
125 | (6) |
|
|
131 | (1) |
|
|
132 | (6) |
|
|
138 | (6) |
|
|
144 | (3) |
8 Control Interfaces Continued |
|
147 | (16) |
|
Examines some innovative ways to control music making as we develop musical instruments. |
|
|
|
We will use your computer keyboard and mouse as performance instruments as well as discuss the use of videogame controllers in your patches. |
|
|
|
Arguments for Abstractions |
|
|
148 | (3) |
|
|
151 | (5) |
|
Using Videogame Controllers |
|
|
156 | (7) |
9 Tools for Music Theory Concepts |
|
163 | (20) |
|
Describes how to design some tools to aid in the discussions of concepts related to music theory. |
|
|
|
In particular, we will discuss chord progressions, scale analysis, chord analysis, mode relationships, harmonic direction of chords, and harmonization. |
|
|
|
By the end of this chapter, you will have an arsenal of tools for explaining theoretical concepts of music. |
|
|
|
|
163 | (3) |
|
|
166 | (8) |
|
|
174 | (2) |
|
|
176 | (2) |
|
|
178 | (5) |
10 Working with Time |
|
183 | (24) |
|
Discusses aspects of time, rhythm, and the sequencing of events. |
|
|
|
You will learn to create interactive performance and compositions systems as well as create patches that demonstrate rhythmic complexity. |
|
|
|
By the end of the chapter, you will have created patches that can record and loop MIDI sequences as well as a number of patches that work with notes over time. |
|
|
|
|
183 | (12) |
|
|
195 | (5) |
|
|
200 | (4) |
|
|
204 | (3) |
11 Building Standalone Applications |
|
207 | (12) |
|
Analyzes a "Chord Namer" application that allows a user to enter a chord name and see the notes on a MIDI keyboard. |
|
|
|
We will "build" this patch as a standalone program that can be used on any computer even if it does not have Max installed. |
|
|
|
Preparing the Application |
|
|
207 | (5) |
|
|
212 | (4) |
|
|
216 | (1) |
|
|
216 | (1) |
|
Permission and Cross-platform Building |
|
|
217 | (2) |
12 Introduction to Max for Live |
|
219 | (32) |
|
Discusses using Max for Live, the add-on for the digital audio workstation Ableton Live that allows users to incorporate Max/MSP/Jitter into their Ableton Live projects. |
|
|
|
|
219 | (1) |
|
Crash Course in Ableton Live |
|
|
220 | (11) |
|
|
231 | (20) |
13 Working with Audio |
|
251 | (24) |
|
Discusses MSP, a collection of objects that work with audio signals. |
|
|
|
The MSP objects can handle actual sound recordings, like audio from a microphone, as well generate signals. |
|
|
|
Basic Ins and Outs of Audio |
|
|
251 | (5) |
|
|
256 | (3) |
|
|
259 | (4) |
|
|
263 | (3) |
|
|
266 | (9) |
14 Audio Playback and Pitch Tracking |
|
275 | (18) |
|
Looks at some of the ways that you can play back and record sound files. |
|
|
|
We will also look at some ways to track the pitch of analog audio and convert it into MIDI numbers. |
|
|
|
|
275 | (7) |
|
|
282 | (3) |
|
Pitch Tracking to MIDI Harmonization |
|
|
285 | (4) |
|
Preserve Pitch While Adjusting Tempo |
|
|
289 | (1) |
|
|
290 | (3) |
15 Audio Buffers |
|
293 | (14) |
|
Discusses how to record audio into a storage container called a buffer. |
|
|
|
By the end of this chapter, you will be able to record a performance through your microphone and loop the recording while you make sonic changes to it. |
|
|
|
You will also learn how to make a polyphonic synthesizer that uses a single recording of your voice as the pitches. |
|
|
|
|
293 | (6) |
|
|
299 | (2) |
|
|
301 | (1) |
|
Referencing Playback Speed to a MIDI Note |
|
|
301 | (6) |
16 Audio Effects and Processing |
|
307 | (18) |
|
Addresses implementing audio effects into patches with live audio and sound files. |
|
|
|
|
307 | (4) |
|
|
311 | (6) |
|
|
317 | (3) |
|
|
320 | (5) |
17 Working with Live Video |
|
325 | (14) |
|
Discusses Jitter, a set of objects that handle video and visual-related content in Max. |
|
|
|
By the end of this chapter, you will have created a patch that changes the color of a live video when pitches are played. |
|
|
|
|
325 | (1) |
|
|
326 | (2) |
|
|
328 | (5) |
|
Mapping MIDI Pitches to Color |
|
|
333 | (6) |
18 Working with Video Files |
|
339 | (18) |
|
Working with preexisting video files located within the Max search path. |
|
|
|
By the end of this chapter, you will have created patches that detect presence in certain areas of a video. |
|
|
|
We will also examine some aspects of tracking colors in video. |
|
|
|
|
339 | (2) |
|
|
341 | (9) |
|
|
350 | (3) |
|
Preassembled Video Patches |
|
|
353 | (4) |
19 Research Instruments |
|
357 | (16) |
|
Looks at various research instruments designed to measure stimulus and response, hearing, perception, and more. |
|
|
|
Stimulus Testing Instrument |
|
|
357 | (6) |
|
|
363 | (1) |
|
Populating a List of Files |
|
|
363 | (3) |
|
|
366 | (2) |
|
|
368 | (2) |
|
|
370 | (3) |
20 Informal Music Learning Instruments |
|
373 | (16) |
|
Looks at a collection of interactive systems used to facilitate music making with individuals who lack prior musicianship skills. |
|
|
|
Playing Diatonic Music with Ease |
|
|
373 | (1) |
|
|
373 | (3) |
|
|
376 | (1) |
|
|
377 | (3) |
|
|
380 | (4) |
|
|
384 | (1) |
|
|
385 | (4) |
21 Interactive Compositions |
|
389 | (12) |
|
Examines some ways to interact with audio processing objects, and, in particular, compositions for live acoustic instruments and Max. |
|
|
|
|
389 | (1) |
|
Delayed to Rest: Composition for Electric Guitar and Computer |
|
|
390 | (3) |
|
Discourse: Composition for EI, Clarinet and Computer |
|
|
393 | (5) |
|
|
398 | (3) |
References |
|
401 | |