IRCAM (Institut de recherche et coordination acoustique/musique)
Computer Music Designer in charge of teaching:
Max Initiation / Max certification level 1 (session 1) / Max Initiation / Max certification level 1 (session 2)
- MAX types of objects, types of data
- Data flow, order of execution
- MIDI in MAX
- Advanced data manipulations: lists, <zl>, encapsulation
- Stochastic processes
- Audio signals in MAX
- Development of monophonic synthesizers
- Recording, playback of sounds
- Simple audio processing: ring modulation, amplitude modulation, delay lines effects (echo, chorus, flanging)
- Pitch-shifting with delay lines
- Audio analysis: amplitude, pitch
- Basics of a patch architecture
Max Advanced / Max certification level 2
- Generalized development architecture
- Multi-channel architecture implementation
- Polyphony and its poly-procedural generalization
- Management of audio streams by matrixing
- Processing in the frequency domain using the discrete short-time Fourier transform (STFT)
- Low-level development in Max: gen~
- Sound synthesis by physical model
Cursus Program on Composition and Computer Music
MAX II - 3: Introduction to the Fourier transform
- - Fourier Series
- - Fourier Transform
- - Discrete Fourier Transform (DFT)
- - Fast Fourier Transform (FFT)
- - What are the outputs of the FFT?
- - Short-time Fourier transform (STFT), overlap-add
- - FFT in practice: <pfft~>
- - Filtering with FFT
- - Cross-synthesis & Convolution
- - The Phase! Visualising it + messing with it
- - Implementation of a spectral delay
MAX II - 4: Introduction to gen~
- - What is gen~?
- - Differences with traditional MAX patching
- - Fundamental operators
- - A couple useful patches: playing a buffer, generating triggers, generating random numbers, generating a ramp
- - Designing filters from scratch: 1-pole LP, 1-pole HP
- - Karplus Strong synthesis in Gen~
- - KS instances in parallel: use of <mc.gen~>
MAX II - 5&6: Design of a modal synthesis environment
- - Small recap on modal synthesis. Similarities with additive synthesis
- - SVF filter design in Gen~: choosing the right filter, coding it in <codebox>
- - Filter as a resonator: pinging the filter with a noise burst or an impulse
- - Creating spectra with a bank of resonators: use of mc.gen~
- - The problem of control. Manipulating spectral data: <coll> and lists management
- - Additional MC manipulations
- - Polyphony: use of <mcs.poly~>
- - Parametrization, user interface