MSP

Frequency modulation

Frequency modulation refers to using the output of a low-frequency oscillator to continually alter (modulate) the frequency of another oscillator. This example provides the user control of the amplitude and frequency of both the "carrier" oscillator (the one we hear directly) and the "modulator" oscillator (the effect of which we hear indirectly). The output of the modulating oscillator is added to a constant (the main frequency), thus causing the carrier frequency to fluctuate up and down around that central frequency.

Generate classic waveforms

There are certain wave types that are historically used in electronic music, known as "classic" waveforms: sine, sawtooth, square, and triangle. These are the four waveforms generated by the classic Moog synthesizer oscillators, and are still quite useful in computer music.

Buffer shape

The buffer~ object can hold any audio data—or, for that matter, any collection of floating-point numbers. Most often it's used for audio playback, but it can also store a curve of any desired shape, to be used as a control signal. In this example, it will be used to store a control signal that will influence the pitch of an oscillator. The replace message to buffer~ will load in data from a sound file.

Using a sustain point in a function object

When you play a note with MIDI, you usually want the note to sustain as long as the key is held down, then you want it to turn off (either immediately or gradually) when the key is released (when the note-off message is received). Because MIDI is designed to function in real time, in live performance, there is no duration information contained in a note-on message. The duration can only be known once the key has been released.

Using audio to trigger the display of a frame of video

One way to make video respond to audio in Max, is to detect some significant event in an MSP audio signal, and use that to trigger something in Jitter. This patch demonstrates one case of that. It uses an event in an audio stream to trigger the display of a frame of a movie. Every time the phasor~ jumps down to 0, a bang is sent to the jit.qt.movie causing it to display the current frame of the movie loaded into it.