Preface
1. Introduction
Theory and Practice
Fundamentals of Computer Sound
Nyquist, SAL, Lisp
Using SAL In the IDE
Examples
Constants, Variables, and Functions
Defining Functions
Simple Commands
Control Constructs
2. Basics of Synthesis
Unit Generators
Storing Sounds or Not Storing Sounds
Non-Sinusoidal Waveforms
Piece-wise Linear Functions: pwl
Basic Wavetable Synthesis
Introduction to Scores
Scores
Summary
3. Sampling Theory Introduction
Sampling Theory
The Frequency Domain
Sampling and the Frequency Domain
Sampling without Aliasing
Imperfect Sampling
Sampling Summary
Special Topics in Sampling
Amplitude Modulation
Summary
4. Frequency Modulation and Behaviors
Introduction to Frequency Modulation
Theory of FM
Frequency Modulation with Nyquist
Behavioral Abstraction
Sequential Behavior (seq)
Simultaneous Behavior (sim)
Logical Stop Time
Sequential and Simultaneous Iteration
Scores in Nyquist
Summary
5. Spectral Analysis and Nyquist Patterns
The Short-Time Fourier Transform and FFT
Spectral Centroid
Patterns
Score Generation and Manipulation
Introduction to Algorithmic Composition
Tendency Masks
Summary
6. Nyquist Techniques and Granular Synthesis
Programming Techniques in Nyquist
Granular Synthesis
7. Sampling and Filters
Sampling Synthesis
Filters
8. Spectral Processing
FFT Analysis and Reconstruction
Spectral Processing
9. Vocal and Spectral Models
Introduction: Source-Filter Models
Linear Predictive Coding (LPC)
Vocoder
VOSIM
FOF Synthesis
Phase Vocoder
McAulay-Quatieri (MQ) Synthesis
Spectral Modeling Synthesis (SMS)
Deep Network Approaches
Summary
10. Acoustics, Perception, Effects
Introduction
Perception: Pitch, Loudness, Localization
Effects and Reverberation in Nyquist
11. Physical Modeling
Introduction
Mass-Spring Model
Karplus-Strong Plucked String Algorithm
Waveguide Model
Mechanical Oscillator
Flute Physical Model
Physical Models in Nyquist
Commuted Synthesis
Electric Guitar Model
Analysis Example
2D Waveguide Mesh
Summary
12. Spectral Modeling, Algorithmic Control, 3D Sound
Additive Synthesis
Spectral Interpolation Synthesis
Algorithmic Control of Signal Processing
3D Sound
13. Audio Compression
Introduction to General Compression Techniques
Coding Redundancy
Intersample Redundancy
Psycho-Perceptual Redundancy and MP3
LPC: Linear Predictive Coding
Physical Models – Speech Analysis/Synthesis
Music Notation
Deep Networks
Summary
14. Computer Music Futures
Introduction
Computer Accompaniment
Style Classification
Audio-to-Score Alignment
Human-Computer Music Performance
AI and Machine Learning
Summary
15. Where Next?
NIME and Physical Computing
Music Information Retrieval, AI, and Machine Learning
Signal Processing
Real-Time Systems
General Computer Music
References
Index
Biography
Roger B. Dannenberg is an Emeritus Professor of Computer Science, Art & Music at Carnegie Mellon University, where he has taught for over thirty years, and a Fellow of the Association for Computer Machinery, awarded for contributions to the field of computer science through innovative computer music systems. A pioneer in the field, he is known for his work creating interactive automated computer accompaniment systems, leading to several patents. He is also co-creator of Audacity, a popular audio editor, and the designer of Nyquist, the language for sound synthesis and music composition featured in this book. As a trumpet player, he has performed jazz and electro-acoustic music around the world, including many of his own compositions. With Jorge Sastre, he composed the opera La Mare dels Peixos, and its English version The Mother of Fishes.






