The Computer Music Tutorial

by Roads

| ISBN: 9780262361538 | Copyright 2023

Click here to preview

Instructor Requests

Digital Exam/Desk Copy Print Desk Copy Ancillaries

Expanded, updated, and fully revised—the definitive introduction to electronic music is ready for new generations of students.

Essential and state-of-the-art, The Computer Music Tutorial, second edition is a singular text that introduces computer and electronic music, explains its motivations, and puts topics into context. Curtis Roads's step-by-step presentation orients musicians, engineers, scientists, and anyone else new to computer and electronic music.

The new edition continues to be the definitive tutorial on all aspects of computer music, including digital audio, signal processing, musical input devices, performance software, editing systems, algorithmic composition, MIDI, and psychoacoustics, but the second edition also reflects the enormous growth of the field since the book's original publication in 1996. New chapters cover up-to-date topics like virtual analog, pulsar synthesis, concatenative synthesis, spectrum analysis by atomic decomposition, Open Sound Control, spectrum editors, and instrument and patch editors. Exhaustively referenced and cross-referenced, the second edition adds hundreds of new figures and references to the original charts, diagrams, screen images, and photographs in order to explain basic concepts and terms.


New chapters: virtual analog, pulsar synthesis, concatenative synthesis, spectrum analysis by atomic decomposition, Open Sound Control, spectrum editors, instrument and patch editors, and an appendix on machine learning

Two thousand references support the book's descriptions and point readers to further study

Mathematical notation and program code examples used only when necessary

Twenty-five years of classroom, seminar, and workshop use inform the pace and level of the material

Expand/Collapse All
Contents (pg. vii)
Foreword: New Music and Science (pg. xi)
Sound Synthesis (pg. xii)
Programming and Composition (pg. xiii)
Preface to the Second Edition (pg. xv)
Publishing Context (pg. xvi)
What Is New in the Second Edition? (pg. xvii)
Topics Deleted or Omitted (pg. xvii)
Intended Audience (pg. xix)
Generic versus Specific (pg. xx)
Diversity (pg. xx)
Acknowledgments (pg. xxi)
Preface to the Original Edition (pg. xxiii)
Intended Audience (pg. xxiv)
Interdisciplinary Spirit (pg. xxiv)
Heritage (pg. xxiv)
Concepts and Terms (pg. xxv)
Use of This Book in Teaching (pg. xxv)
Composition (pg. xxv)
References and Index (pg. xxvi)
Mathematics and Coding Style (pg. xxvi)
Corrections and Comments Invited (pg. xxvi)
Acknowledgments (pg. xxvii)
I. Digital Audio (pg. 1)
1. History of Digital Audio (pg. 3)
History of Analog Audio Recording (pg. 4)
Experimental Digital Audio Recording (pg. 6)
Digital Sound for the Public (pg. 9)
Digital Sound for Musicians (pg. 10)
Origins of Digital Multitrack Recording (pg. 10)
The Art of Recording (pg. 12)
2. Basics of Sound Signals (pg. 13)
Frequency and Amplitude (pg. 14)
Phase (pg. 16)
Sound Magnitude (pg. 19)
Dynamic Range (pg. 21)
3. Theory of Sampling (pg. 23)
Analog Representations of Sound (pg. 24)
Digital Representations for Sound (pg. 24)
Sampling (pg. 29)
Aliasing (pg. 30)
The Sampling Theorem (pg. 33)
Antialiasing and Anti-imaging Filters (pg. 34)
Audio Interfaces (pg. 35)
Ideal Sampling Frequency (pg. 35)
Jitter (pg. 37)
4. Sample Quantization, Conversion, and Audio Formats (pg. 39)
More on Sound Magnitude (pg. 40)
Quantization (pg. 43)
Oversampling Converters (pg. 50)
Digital Audio Media and Formats (pg. 52)
II. Introduction to Sound Synthesis (pg. 55)
5. History of Digital Sound Synthesis (pg. 57)
Earliest Computer Sounds (pg. 58)
Experiments at Bell Telephone Laboratories (pg. 58)
Music I and Music II (pg. 61)
Music III: The Modular Unit Generator Concept (pg. 61)
Music N Languages (pg. 64)
6. Wavetable Lookup Synthesis (pg. 65)
Wavetable Lookup Synthesis (pg. 66)
Changing Waveform Frequency (pg. 67)
Algorithm for a Digital Oscillator (pg. 68)
Wavetable Lookup Noise and Interpolating Oscillators (pg. 69)
Alternatives to Wavetable Lookup (pg. 70)
7. Time-Varying Waveform Synthesis (pg. 73)
Envelopes, Unit Generators, and Patches (pg. 74)
Graphic Notation for Synthesis Instruments (pg. 74)
Using Envelopes in Patches (pg. 75)
8. Software Synthesis (pg. 77)
What Is Software Synthesis? (pg. 78)
Early Software Synthesis (pg. 78)
Types of Software Synthesizers (pg. 81)
Real-Time and Non-Real-Time Synthesis (pg. 86)
Audio Programming (pg. 90)
III. Sound Synthesis (pg. 93)
9. Sampling (pg. 95)
Sampling: Background (pg. 97)
Looping (pg. 102)
Pitch Shifting (pg. 103)
Sample-Rate Conversion without Pitch Shifting (pg. 107)
Sample and Wavetable Libraries (pg. 109)
Emulating Traditional Instruments (pg. 110)
Modeling Note-to-Note Transitions (pg. 111)
10. Additive Synthesis (pg. 115)
Additive Synthesis: Background (pg. 117)
Fixed-Waveform Additive Synthesis (pg. 119)
Time-Varying Additive Synthesis (pg. 122)
Demands of Additive Synthesis (pg. 125)
Sources of Control Data for Additive Synthesis (pg. 126)
Additive Analysis/Resynthesis (pg. 128)
Additive Synthesis Based on Machine Learning (pg. 139)
Walsh Function Synthesis (pg. 140)
11. Multiple Wavetable Synthesis (pg. 143)
Wavetable Cross-Fading or Vector Synthesis (pg. 144)
Wavestacking (pg. 148)
12. Wave Terrain Synthesis (pg. 151)
Terrains and Trajectories (pg. 152)
Generating Predictable Waveforms from Wave Terrains (pg. 154)
Extensions of Wave Terrain Synthesis (pg. 157)
Implementations of WT Synthesis (pg. 160)
13. Granular Synthesis (pg. 161)
Theory of Granular Synthesis (pg. 163)
Granular Synthesis: Background (pg. 164)
Simple Grain Generator Instrument (pg. 166)
Parameters of Granular Synthesis (pg. 166)
High-Level Granular Organizations (pg. 175)
14. Subtractive Synthesis (pg. 187)
Digital Filters: Background (pg. 191)
Introduction to Filters (pg. 192)
Filter Response Curves (pg. 194)
Filter Types (pg. 195)
Filter Q and Gain (pg. 200)
Phase Response and Latency in Filtering (pg. 201)
Filter Banks and Graphic Equalizers (pg. 202)
Comb and Allpass Filters (pg. 203)
Time-Varying Subtractive Synthesis (pg. 206)
Subtractive Analysis/Resynthesis (pg. 207)
Linear Predictive Coding (pg. 210)
WaveGAN (pg. 220)
15. Modulation I: RM, SSM, and AM (pg. 221)
Bipolar and Unipolar Signals (pg. 225)
Ring Modulation (pg. 226)
Single-Sideband Modulation or Frequency-Shifting (pg. 230)
Amplitude Modulation (pg. 233)
16. Modulation II: FM, PM, PD, and GM (pg. 241)
Frequency Modulation (pg. 243)
Multiple-Carrier FM (pg. 253)
Multiple-Modulator FM (pg. 256)
Feedback FM (pg. 259)
Phase Modulation Synthesis (pg. 267)
Phase Distortion (PD) Synthesis (pg. 268)
General Modulations (pg. 270)
Other Approaches to Modulation Synthesis (pg. 271)
17. Waveshaping Synthesis (pg. 273)
Simple Waveshaping Instrument (pg. 274)
Variations on Waveshaping (pg. 279)
Wavefolding (pg. 282)
18. Physical Modeling Synthesis (pg. 285)
Status of Physical Modeling Synthesis (pg. 289)
Background: Physical Modeling (pg. 289)
Excitation and Resonance (pg. 291)
Classical Physical Modeling Methodology (pg. 292)
Modal Synthesis (pg. 300)
Waveguide Synthesis (pg. 306)
Particle-Based Models of Shaken and Scraped Percussion (pg. 312)
Models of Pianos (pg. 313)
Karplus-Strong Plucked String and Drum Synthesis (pg. 314)
Scanned Synthesis (pg. 318)
Input Devices for Physical Modeling Synthesis (pg. 319)
Source and Parameter Analysis for Physical Modeling (pg. 320)
Assessment of Physical Modeling Synthesis (pg. 324)
19. Virtual Analog (pg. 327)
Evolution of Analog Synthesis (pg. 328)
Digital versus Analog Synthesis (pg. 331)
Virtual Analog (pg. 332)
Issues in VA Synthesis (pg. 334)
Modeling Analog Signal Processing (pg. 342)
20. Formant Synthesis (pg. 345)
Formant Wave-Function Synthesis and CHANT (pg. 347)
FOF Analysis/Resynthesis (pg. 354)
VOSIM (pg. 355)
Window Function Synthesis (pg. 358)
Phase-Aligned Formant Synthesis and ModFM (pg. 361)
21. Pulsar Synthesis (pg. 365)
Basic Pulsar Synthesis (pg. 367)
Spectra of Basic Pulsar Synthesis (pg. 375)
Advanced Pulsar Synthesis (pg. 375)
Implementations of Pulsar Synthesis (pg. 382)
PulsarGenerator (pg. 382)
nuPG (pg. 383)
Nuklear (pg. 385)
Composing with Pulsars (pg. 385)
Musical Applications of Pulsar Synthesis (pg. 386)
Assessment (pg. 386)
22. Waveform Segment Synthesis (pg. 389)
Waveform Interpolation (pg. 391)
SAWDUST (pg. 396)
SSP (pg. 397)
Instruction Synthesis (pg. 398)
23. Concatenative Synthesis (pg. 401)
Background (pg. 403)
Fundamentals of Concatenative Synthesis (pg. 404)
Two General Approaches (pg. 409)
Case Studies: Vocaloid and Synful Orchestra (pg. 410)
24. Graphic Sound Synthesis (pg. 413)
Graphics in Sound Synthesis: Background (pg. 414)
Graphic Control of Digital Synthesis (pg. 418)
Implementing a Graphic Synthesizer (pg. 426)
25. Noise, Chaotic, and Stochastic Synthesis (pg. 427)
Colored Noises (pg. 428)
Noise Modulation (pg. 429)
Stochastic Waveform Synthesis (pg. 432)
IV. Mixing and Signal Processing (pg. 443)
26. Sound Mixing (pg. 445)
Mixing in the Digital Domain (pg. 447)
The Core Aesthetic Problem of Mixing (pg. 447)
Non-Real-Time Software Mixing (pg. 449)
Mixing Consoles (pg. 453)
Hybrid Consoles (pg. 458)
Features of Digital Mixing Consoles (pg. 459)
Multitrack Recording and Remixing (pg. 462)
Audio Monitoring (pg. 465)
27. Dynamic Range Processing (pg. 469)
Envelope Shapers (pg. 471)
Gates (pg. 472)
Compressors (pg. 473)
Expanders (pg. 477)
Limiters (pg. 478)
Noise Reduction Units and Companders (pg. 478)
Sidechain Control and Adaptive Effects (pg. 480)
The Loudness War (pg. 480)
28. Digital Filtering (pg. 483)
Presenting Filter Theory to Musicians (pg. 485)
Important Properties of Filters (pg. 486)
Understanding Digital Filters in Time (pg. 488)
Understanding Digital Filters in Frequency (pg. 492)
Examples of Filters (pg. 495)
Design of Filters (pg. 504)
Subjective Perception of Filters (pg. 508)
29. Convolution (pg. 511)
Time Domain versus Frequency Domain (pg. 514)
The Operation of Convolution (pg. 515)
Mathematical Definition of Convolution (pg. 517)
Relationship of Convolution to Linear Time-Invariant Filtering (pg. 518)
The Law of Convolution (pg. 519)
Fast and Instant Convolution (pg. 520)
Real-Time Convolution (pg. 521)
Dynamic Convolution (pg. 522)
Deconvolution (pg. 523)
The Sine-Sweep Method of Measuring Impulse Response (pg. 524)
Musical Significance of Convolution (pg. 526)
30. Time Delay Effects (pg. 531)
Fixed Time Delay Effects (pg. 532)
Variable Time Delay Effects (pg. 537)
31. Pitch-Time Changing (pg. 543)
Pitch Shifting versus Pitch-Time Changing (pg. 544)
Pitch-Time Changing by Granulation (pg. 545)
Pitch-Time Changing with a Harmonizer (pg. 551)
Pitch-Time Changing with the Phase Vocoder (pg. 552)
Pitch-Time Changing with the Wavelet Transform (pg. 555)
Pitch-Time Changing with Atomic Decomposition (pg. 556)
Pitch-Time Changing with Linear Predictive Coding (pg. 556)
32. Sound Spatialization (pg. 559)
Sound Spatialization (pg. 562)
Spatialization: Background (pg. 563)
Localization Cues (pg. 568)
Rotating Loudspeakers (pg. 583)
Superdirectional Sound Beams (pg. 586)
Immersive Sound (pg. 587)
Spatialization Tools (pg. 597)
Transmission Formats for Multichannel Sound (pg. 597)
33. Reverberation (pg. 603)
Properties of Reverberation (pg. 606)
Artificial Reverberation: Background (pg. 608)
Algorithmic Reverberation Based on Schroeder’s Model (pg. 611)
Convolving Reverberators (pg. 618)
Physical Models (pg. 622)
Feedback Delay Networks (pg. 625)
Fictional Reverberation Effects (pg. 626)
De-reverberation (pg. 629)
V. Sound Analysis (pg. 631)
34. Pitch Estimation (pg. 633)
Pitch, Rhythm, and Waveform Analysis: Background (pg. 635)
Pitch and Rhythm Recognition in MIDI Systems (pg. 639)
The Pitch Estimation Problem (pg. 639)
Pitch Estimation Methods (pg. 646)
35. Rhythm Recognition and Automatic Transcription (pg. 661)
Applications of Rhythm Recognition (pg. 662)
Levels of Rhythm Recognition (pg. 664)
Event Detection (pg. 664)
Separating Voices in Polyphonic Music (pg. 667)
Automatic Transcription (pg. 669)
36. Introduction to Spectrum Analysis (pg. 681)
Applications of Spectrum Analysis (pg. 682)
Spectrum Plots (pg. 684)
Models behind Spectrum Analysis Methods (pg. 689)
Spectrum and Timbre (pg. 690)
Spectrum Analysis: Historical Background (pg. 694)
37. Spectrum Analysis by Fourier Methods (pg. 701)
Fourier Series (pg. 703)
Fourier Transform (pg. 704)
Discrete Fourier Transform (pg. 705)
Short-Time Fourier Transform (pg. 705)
Sonogram Representation (pg. 720)
Phase Vocoder (pg. 722)
Tracking Phase Vocoder (pg. 728)
Deterministic Plus Stochastic: Spectral Modeling Synthesis (pg. 732)
Transformation of Sound in the Frequency Domain (pg. 734)
38. Spectrum Analysis by Alternative Methods (pg. 739)
Constant Q Filter Bank Analysis (pg. 743)
Analysis by Wavelets (pg. 745)
Signal Analysis with the Wigner Distribution (pg. 755)
Autoregression Spectrum Analysis (pg. 757)
Source and Parameter Analysis (pg. 760)
Analysis by Walsh and Prony Functions (pg. 761)
Auditory Models (pg. 763)
Higher Order Spectrum Analysis (pg. 766)
39. Spectrum Analysis by Atomic Decomposition (pg. 769)
Fundamentals (pg. 770)
Methods (pg. 773)
Applications (pg. 776)
Advanced Topics (pg. 780)
VI. The Musician’s Interface (pg. 783)
40. Musical Input Devices (pg. 785)
Advantages of Electronic Input Devices (pg. 788)
Model of an Input Device (pg. 790)
Background: History of Gestural Input to Computers (pg. 791)
Traditional versus Novel Input Devices (pg. 792)
Types of Input Devices (pg. 794)
Mapping the Data from the Input Device (pg. 794)
Ergonomics of Input Devices (pg. 802)
Musical Keyboards (pg. 805)
Conducting: Remote Control and Remote Sensing (pg. 818)
Responsive Input Devices and Haptic Technology (pg. 820)
41. Interactive Performance Software (pg. 825)
Interactive Performance with Computers: Background (pg. 827)
Sequencers (pg. 829)
Possibilities of Interactive Performance Software (pg. 845)
Improvisation Systems Onstage and in Installations (pg. 854)
42. Sequence Editors (pg. 857)
Tracks and Controller Lanes (pg. 858)
Loop-Oriented Sequencers (pg. 860)
Modular Step Sequencers (pg. 862)
Visual Representations for Editing (pg. 863)
Sequence Editing Operations (pg. 869)
Sharing Sequence Data (pg. 869)
43. Sound Editors, DAWs, and Audio Middleware (pg. 873)
Sound Editors (pg. 874)
DAWs (pg. 880)
Audio Middleware (pg. 885)
44. Spectrum Editors (pg. 889)
Command-Line Editors and Plug-Ins (pg. 890)
Static Spectrum Editors (pg. 892)
Envelope Editors (pg. 893)
Sonographic Editors (pg. 895)
45. Common Music Notation Editors (pg. 907)
The Complexity of Music Notation (pg. 909)
Music Printing and Editing: Background (pg. 911)
Rule-Based versus Graphics-Based Editors (pg. 916)
Advantages of Computer-Based Music Editing and Printing (pg. 919)
Functionality of CMN Editors (pg. 920)
Music Font Resolution (pg. 920)
Automatic Transcription from MIDI (pg. 924)
Custom Symbols and Integration with Graphics Programs (pg. 925)
Browser-Based Notation Apps for Education (pg. 925)
Exporting Notation Using Music XML (pg. 926)
IEEE 1599 Music Representation Standard (pg. 927)
46. Unconventional Score Editors (pg. 929)
Criticisms of Common Music Notation (pg. 931)
Functions of Unconventional Score Editors (pg. 932)
History of Unconventional Score Editors (pg. 932)
Graphic Synthesis (pg. 934)
Graphical Notation (pg. 934)
Notation as Real-Time Visualization (pg. 936)
Notation for Documentation and Analysis (pg. 939)
Automatic Notation from Sound (pg. 945)
47. Instrument and Patch Editors (pg. 947)
Instrument Editors: Historical Background (pg. 949)
Example of a Template Editor: FM8 (pg. 953)
Example of a Patch Editor: Max (pg. 954)
Examples of Patch Editors: REAKTOR and Euro Reakt (pg. 958)
Example of a Patch Editor: VCV Rack (pg. 959)
Modular Patching within a DAW (pg. 961)
Integrating Software and Eurorack Hardware (pg. 961)
48. Languages for Sound Synthesis (pg. 963)
Assessing Formal Languages (pg. 964)
Advantages and Disadvantages of Synthesis Languages (pg. 965)
Classic Unit Generator Languages (pg. 966)
Languages for Real-Time Synthesis (pg. 977)
49. Languages for Composition (pg. 983)
Background: MUSICOMP (pg. 984)
Score Input Languages (pg. 985)
Procedural Composition Languages (pg. 988)
Music Composition Languages Embedded in Programming Languages (pg. 989)
Live Coding (pg. 991)
Live Notation Languages (pg. 992)
50. Algorithmic Composition (pg. 995)
Background: Algorithmic Composition (pg. 999)
Four Pioneering Composition Programs (pg. 1008)
Strategies for Algorithmic Composition (pg. 1018)
Philosophical and Aesthetic Issues Posed by Algorithmic Methods (pg. 1019)
Assessment of Algorithmic Composition (pg. 1026)
VII. Interconnections (pg. 1029)
51. MIDI (pg. 1031)
MIDI Then and Now (pg. 1035)
MIDI Communicates Control Data (pg. 1035)
Background: MIDI 1.0 (pg. 1036)
Importance of MIDI (pg. 1037)
Musical Possibilities of MIDI (pg. 1038)
MIDI Hardware (pg. 1039)
MIDI Channels (pg. 1043)
MIDI 1.0 Messages (pg. 1044)
MIDI Modes (pg. 1052)
MIDI Control Change Messages (pg. 1054)
Standard MIDI Files (pg. 1061)
MIDI Timing (pg. 1064)
Limitations of MIDI 1.0 (pg. 1065)
MIDI Polyphonic Expression (MPE) (pg. 1067)
MIDI Programming Languages (pg. 1069)
MIDI 2.0 (pg. 1070)
52. Open Sound Control (pg. 1077)
Comparing MIDI with OSC (pg. 1078)
Motivation for OSC (pg. 1080)
OSC Is an Open Protocol (pg. 1080)
OSC Messages and Bundles (pg. 1081)
Design of Message and Address Schemas (pg. 1082)
Overview of the OSC Protocol (pg. 1082)
A Simple OSC Example Using PureData and Csound (pg. 1084)
Assessment of OSC (pg. 1086)
Appendix A: Machine Learning (pg. 1087)
What Is Machine Learning? (pg. 1088)
How Do Machines Learn from Data? (pg. 1090)
A Toy Example of ML (pg. 1091)
Types of Machine Learning Algorithms (pg. 1096)
Fundamental Problems with Machine Learning (pg. 1096)
References (pg. 1099)
Index (pg. 1233)

Curtis Roads

Curtis Roads is Professor of Media Arts and Technology, with an affiliate appointment in Music, at the University of California, Santa Barbara. His previous books include Microsound and Composing Electronic Music: A New Aesthetic.

Go paperless today! Available online anytime, nothing to download or install.


  • Bookmarking
  • Note taking
  • Highlighting