Here you'll find links to all of our learning supplements, organized by type.

Flash Tutorials (22)

Interactive and animated tutorials and quizzes on key concepts from the curriculum.
Audio Signal PathLast Updated May 20, 2014
Navigate an interactive diagram of the audio signal path in a digital recording system.
Beats in a MeasureLast Updated May 20, 2014
Shoot down falling notes to correctly fill a musical measure according to its time signature.
ChordsLast Updated May 20, 2014
Identifying chords from among seven basic types.
Circle Of FifthsLast Updated May 20, 2014
Using the Circle of Fifths to learn keys.
Direct MonitoringLast Updated May 20, 2014
Explore the need for and benefits of direct monitoring in digital audio workstations.
Dynamic RangeLast Updated May 20, 2014
Explore the dynamic range of digital audio and how it relates to bit-depth.
Identifying Chords in a KeyLast Updated May 20, 2014
Identifying the chords for a given key
Key SignaturesLast Updated May 20, 2014
Learning to identify key signatures.
Longitudinal and Transverse WavesLast Updated May 18, 2014
Looks at the physics of and similarities between these two wave types.
MIDI DefenseLast Updated May 20, 2014
Practice your MIDI & hexadecimal skills while saving the Earth from disaster.
Non-Sinusoidal WavesLast Updated May 20, 2014
A look at square, sawtooth, and triangular waves and how they're created.
Nyquist and AliasingLast Updated May 20, 2014
Explore the Nyquist theorem and predict aliasing.
Potential Acoustic GainLast Updated May 20, 2014
Explore how to avoid feedback and maximize your potential acoustic gain.
Properties of Sine WavesLast Updated May 20, 2014
Definitions of frequency, cycle, period, phase, amplitude and wavelength.
QuantizationLast Updated May 20, 2014
Observe the effect of quantization on a sound wave.
Reducing LatencyLast Updated May 20, 2014
Tips and tricks to reducing latency in a digital audio system.
Resonance as Harmonic FrequenciesLast Updated May 20, 2014
A look at waveforms and standing waveforms.
Sampling and AliasingLast Updated May 20, 2014
Observe the effect of digitally sampling a sound wave and the phenomenon of aliasing.
Sound Waves and Harmonic MotionLast Updated May 20, 2014
Explore the concepts of wave propagation.
Transposing KeysLast Updated May 20, 2014
How to transpose from one key to another.
Virtual HaircutLast Updated May 20, 2014
Experience the realism of binaural recording with a virtual haircut.
Word ClockLast Updated May 20, 2014
The advantage of digital systems and importance of synchronization using word clock.

MATLAB Exercises (39)

Demonstrations and exercises with important concepts using MATLAB and Octave.
Chords in MATLABLast Updated May 19, 2014   (275.7 KiB)
Creating chords in MATLAB.
Creating a Pitch Glide in MATLABLast Updated May 19, 2014   (347.8 KiB)
Implementing a pitch glide using MATLAB
Creating a Triangle Wave ExerciseLast Updated May 19, 2014   (296.0 KiB)
Learn how to model a triangle wave in MATLAB.
Creating a Vocoder in MATLABLast Updated October 12, 2015   (316.5 KiB)
Creating An Amplitude Envelope In MATLABLast Updated August 20, 2016   (457.0 KiB)
Creating and Using a Wavetable in MATLABLast Updated May 19, 2014   (684.1 KiB)
Creating Comb Filtering In MATLABLast Updated May 19, 2014   (382.2 KiB)
Creating comb filtering in MATLAB.
Creating FIR Filters in MATLABLast Updated October 12, 2015   (1.2 MiB)
Creating LFOs In MATLABLast Updated August 20, 2016   (144.9 KiB)
Creating Room Modes in MATLABLast Updated May 19, 2014   (445.0 KiB)
Creating room modes in MATLAB
Dithering and Noise Shaping in MATLABLast Updated May 19, 2014   (712.6 KiB)
MATLAB Programming exercise with dithering and noise shaping.
Equal vs. Just Tempered Scales in MATLABLast Updated May 19, 2014   (200.0 KiB)
Comparing notes on equal vs. just tempered scales in MATLAB.
Experimenting with Quantization Error in MATLABLast Updated May 19, 2014   (335.7 KiB)
MATLAB Programming exercise with quantization error.
Frequency Modulation for Digital Synthesis in MATLABLast Updated May 19, 2014   (766.9 KiB)
Graphing a Filter on the Complex Number PlaneLast Updated October 12, 2015   (569.0 KiB)
Implementing the DFT in MATLABLast Updated December 30, 2014   (315.1 KiB)
Mu-Law Encoding in MATLABLast Updated May 19, 2014   (168.8 KiB)
MATLAB Programming exercise with Mu-Law Encoding.
Sculpting Sound with MATLABLast Updated October 12, 2015   (105.4 KiB)
Windowing Functions for the FFTLast Updated May 21, 2014   (725.0 KiB)

Max Demos (31)

Interactive demos and exercises with the Max graphical programming environment.
** Download Max SoftwareLast Updated November 9, 2016   (44.1 KiB)
You need the Max software to view our Max demos. The software is fully functional for the first 30 days without purchase. After that, you can still open and use our files, you just can't save any changes.
Adding Sine WavesLast Updated May 19, 2014   (685.1 KiB)
Add three sine waves to illustrate a complex sine wave.
Adding Sine Waves with Phase OffsetsLast Updated May 19, 2014   (199.8 KiB)
Experiment with sine wave addition and phase offsets.
ADSR EnvelopesLast Updated May 19, 2014   (661.2 KiB)
Demonstrating ADSR envelopes both aurally and visually, and exploring how to create a custom envelope in MAX.
Balanced AudioLast Updated December 30, 2014   (5.4 MiB)
A demonstration of balanced audio signal transmission.
Bit DepthLast Updated May 19, 2014   (3.4 MiB)
Demonstration and comparison of varying the bit-depth of an audio sample.
Block SynthesizerLast Updated May 19, 2014   (2.4 MiB)
Modular Block Synthesizer files, and example implementations.
Comb FilteringLast Updated May 19, 2014   (1.2 MiB)
Practice recognizing the effect of comb filtering on sound samples.
CompressionLast Updated December 2, 2014   (6.3 MiB)
A demonstration on how compressors work to manipulate the dynamic range of a sound source.
Delay PannerLast Updated May 19, 2014   (5.4 MiB)
Observe and listen to the effects of panning using delayed signals.
Digital Music ManipulationLast Updated December 9, 2014   (28.7 MiB)
A demonstration on the improvements that can be made on a digital music performance to make it sound more dynamic and realistic.
Ear Training for FrequenciesLast Updated May 19, 2014   (5.1 MiB)
Ear training exercises to help you identify frequencies.
Ear Training for MusicLast Updated May 19, 2014   (798.3 KiB)
Practice training your ear to recognize musical note relationships.
EqualizationLast Updated May 29, 2014   (23.8 MiB)
A demonstration on using an Equalizer to manipulate the frequency response of various audio files.
Gain SettingLast Updated December 9, 2014   (11.1 MiB)
A demonstration on lining up gain structure across the signal flow of an entire sound system.
Low Frequency OscillatorLast Updated May 19, 2014   (356.7 KiB)
An exercise in implementing an LFO in MAX. You will need to download and modify the source files from the Subractonaut Synthesizer demo in order to complete this exercise.
MIDI MessagesLast Updated May 19, 2014   (651.8 KiB)
Experiment with MIDI messages in raw hexadecimal format.
Mixing ConsolesLast Updated January 2, 2015   (11.7 MiB)
A virtual mixing console demonstrating the basic functions of most mixing consoles.
Modulation WheelLast Updated May 19, 2014   (305.9 KiB)
An exercise in implementing a Modulation Wheel in MAX. You will need to download and modify the source files from the Subractonaut Synthesizer demo in order to complete this exercise.
MTC & MMCLast Updated May 19, 2014   (608.4 KiB)
Experiment with slaving and controlling devices with MIDI Time Code and MIDI Machine Control.
Music Improvisation DemoLast Updated May 19, 2014   (743.6 KiB)
Practice improvising melodies, chords or bass lines with accompaniment.
Phase and PolarityLast Updated May 19, 2014   (5.5 MiB)
An in-depth examination of phase, and its similarities and differences from polarity.
Recognizing NotesLast Updated May 19, 2014   (598.7 KiB)
Learn to identify musical notes by their name, position on the piano keyboard, and position on the staff.
ReverbLast Updated January 5, 2015   (3.6 MiB)
A demonstration of the controllable parameters and algorithms used to create digital reverberation effects.
Scale GeneratorLast Updated May 19, 2014   (576.8 KiB)
Listen to the intervals that define several common scales
Subtractonaut SynthesizerLast Updated May 19, 2014   (1.0 MiB)
Experimenting and creating sounds with our own subtractive synthesizer in MAX. Note: Try the Practical Exercise for Subtractive Synthesis first.
Transposing NotesLast Updated May 19, 2014   (233.1 KiB)
EXERCISE: Add a transposition feature to an existing patcher.

Practical Exercises (22)

Projects, worksheets, and hands-on exercises.
Algorithmic Composition Of Contrapuntal MusicLast Updated August 20, 2016   (301.0 KiB)
Audio File CompressionLast Updated May 19, 2014   (6.6 MiB)
Demonstration of the results of using/processing compressed vs. uncompressed audio files.
Bit Depth and Dynamic RangeLast Updated May 19, 2014   (85.2 MiB)
Demonstration of the results of recording/processing audio files at different bit-depths.
Creating A Sound EffectLast Updated May 18, 2014   (630.4 KiB)
Use what you've learned about the frequency components of non-sinusoidal waves to create the sound effect of an alarm clock in your audio editing software.
Creating Your Own Convolution ReverbLast Updated January 5, 2015   (831.0 KiB)
An exercise in capturing your own impulse response for use in a convolution reverb processor
Creating Your Own Digital Mixing ConsoleLast Updated January 9, 2015   (181.8 KiB)
An project description to create your own digital mixing console using Max/MSP, a multi-channel audio interface, and a MIDI control surface.
Delay and Comb FilteringLast Updated May 19, 2014   (629.7 KiB)
Exercise in delays and comb filtering.
Helmholtz Resonator ExerciseLast Updated May 18, 2014   (922.2 KiB)
Use mathematics and an empty bottle to generate predictable tones.
Mixing Multi-Track AudioLast Updated May 19, 2014   (538.1 MiB)
Helpful techniques for mixing a multi-track recording using your digital audio workstation
Modeling And Printing 3D Objects That Make SoundLast Updated August 20, 2016   (283.2 KiB)
Programming And Composing With A SynthesizerLast Updated August 20, 2016   (216.0 B)
Programming Sampler InstrumentsLast Updated May 19, 2014   (100.8 MiB)
A practical exercise and demonstration in programming a digital sampler for pitched musical instruments.
Sampler ProgrammingLast Updated May 19, 2014   (1.3 MiB)
A practical exercise in programming a digital sampler.
Setting Up Your Digital Audio WorkstationLast Updated May 18, 2014   (752.1 KiB)
This document will walk you through setting up your computer to work with your audio interface, MIDI keyboard, monitors, and other sound software.
Subtractive SynthesisLast Updated May 19, 2014   (1.1 MiB)
Experimenting and creating sounds with a subtractive synthesizer in Reason.
Working With DecibelsLast Updated May 19, 2014   (575.3 KiB)
Convert to, from, and between decibels with this exercise in practical application.

Programming Exercises (49)

Exercises on important concepts using the C++ and Java programming languages.
Chords in C++Last Updated May 20, 2014   (305.4 KiB)
Create scales and chords from multiple sine waves.
Chords in JavaLast Updated May 22, 2014   (441.9 KiB)
Creating chords in Java.
Comparison of DFT and FFT in C++Last Updated August 4, 2015   (459.2 KiB)
Creating a Metronome in JavaLast Updated May 20, 2014   (554.5 KiB)
Creating beats of different tempos in Java.
Creating a Pitch Glide in C++Last Updated May 20, 2014   (401.3 KiB)
Implementing a pitch glide in C++.
Creating a Sawtooth Wave in JavaLast Updated May 20, 2014   (517.7 KiB)
Creating a sawtooth wave in a Java program by summing frequency components.
Creating a Vocoder in C++Last Updated May 20, 2014   (267.4 KiB)
Implementing a vocoder in C++.
Creating Comb Filtering in C++Last Updated May 20, 2014   (630.6 KiB)
A C++ program that implements combs out given frequencies by adding an appropriately delayed copy of the sound wave.
Creating FIR Filters in C++Last Updated October 12, 2015   (795.6 KiB)
Creating Sound WavesLast Updated May 20, 2014   (602.1 KiB)
Creating non-sinusoidal waves in C++.
Dithering and Noise Shaping in C++Last Updated May 20, 2014   (706.2 KiB)
C++ Programming exercise with dithering and noise shaping.
Equal vs. Just Tempered Scales in C++Last Updated May 20, 2014   (125.6 KiB)
Comparing notes on equal vs. just tempered scales.
Equal vs. Just Tempered Scales in JavaLast Updated May 20, 2014   (336.3 KiB)
Learning about the differences in intervals in equal vs. just tempered scales.
Experimenting with Quantization Error in C++Last Updated May 20, 2014   (305.7 KiB)
C++ Programming exercise with quantization error.
Implementing the DFT in C++Last Updated December 30, 2014   (315.6 KiB)
Mu-Law Encoding in C++Last Updated May 20, 2014   (381.2 KiB)
C++ Programming exercise with Mu-Law Encoding.
Playing With MusicLast Updated May 20, 2014   (489.2 KiB)
An example program that creates and uses a simple language for music production.
Reading and Writing Sound Files in C++Last Updated May 20, 2014   (905.6 KiB)
Reading and writing sound files in C++.
Simulating Sampling and Quantization in C++Last Updated May 20, 2014   (284.0 KiB)
C++ Programming exercise with sampling and quantization.
Writing to an Audio Device in C++Last Updated May 19, 2014   (546.5 KiB)
Low level sound programming in C++.

Video Tutorials (12)

Videos demonstrating real life concepts from the chapters.
Creating A Sound EffectLast Updated December 9, 2014
In this video we show how to use a digital sampler to create new sound effects for film and theatre.
KeyswitchingLast Updated January 7, 2015
A demonstration of the concept of keyswitching in digital samplers.
Longitudinal Wave DemonstrationLast Updated May 22, 2014
Illustrates the physics of a longitudinal wave with a suspended slinky.
Loudspeaker InteractionLast Updated May 22, 2014
Music with RestsLast Updated June 3, 2014
A demonstration of using rests in a simple melody
Over the RainbowLast Updated June 3, 2014
A demonstration of music notation.
Over the Rainbow EflatLast Updated June 3, 2014
A demonstration of music notation with a different key signature.
Pipe ResonanceLast Updated May 22, 2014
A column of water and a tuning fork are used to illustrate the raised amplitude that results from pipe resonance.
Plate ResonanceLast Updated May 22, 2014
By observing where sand settles on a vibrating plate we can visualize the concept of standing waves.
Sampler GuitarLast Updated June 3, 2014
A demonstration on using recorded samples of a guitar to program a digital sampler.
Sampler RecorderLast Updated June 3, 2014
A demonstration on using recorded samples of a recorder to program a digital sampler.
String ResonanceLast Updated May 22, 2014
Using a sine wave generator, a driver, and a string, we observe the phenomenon of resonances.