Abbreviations |
|
xv | |
Preface |
|
xvii | |
Acknowledgements |
|
xxi | |
|
|
1 | (16) |
|
1.1 The Nature of Audio Processes |
|
|
2 | (6) |
|
1.1.1 Introducing Audio Processes |
|
|
2 | (1) |
|
1.1.2 Constructing an Audio Process |
|
|
2 | (2) |
|
1.1.3 Real-Time and Non-Real-Time Systems |
|
|
4 | (1) |
|
1.1.4 Audio Process Themes |
|
|
5 | (3) |
|
1.2 Example Audio Process Systems |
|
|
8 | (9) |
|
1.2.1 Playing an Acoustic Instrument |
|
|
8 | (2) |
|
1.2.2 Combining Two Paths |
|
|
10 | (1) |
|
|
11 | (2) |
|
1.2.4 Two Humans Working Together |
|
|
13 | (4) |
Part I Analysis |
|
|
Chapter 2 Audio Data Fundamentals |
|
|
17 | (22) |
|
|
18 | (9) |
|
2.1.1 Sound in the Time Domain |
|
|
18 | (1) |
|
2.1.2 Cycle Length, Frequency, and Amplitude |
|
|
19 | (7) |
|
2.1.3 Construction and Deconstruction with Sinusoids |
|
|
26 | (1) |
|
|
27 | (12) |
|
|
27 | (1) |
|
2.2.2 Sampling Continuous Data |
|
|
28 | (6) |
|
2.2.3 A Complete Digital Audio System |
|
|
34 | (1) |
|
2.2.4 Choosing a Sample Rate |
|
|
35 | (2) |
|
|
37 | (2) |
|
Chapter 3 Time Domain Analysis |
|
|
39 | (34) |
|
|
40 | (9) |
|
3.1.1 Continuum of Sound Character |
|
|
40 | (1) |
|
|
41 | (4) |
|
|
45 | (2) |
|
|
47 | (2) |
|
3.2 Dynamic Sound Character |
|
|
49 | (21) |
|
|
49 | (2) |
|
3.2.2 Amplitude Envelopes |
|
|
51 | (9) |
|
3.2.3 Dynamic Waveform Changes |
|
|
60 | (1) |
|
|
61 | (2) |
|
|
63 | (3) |
|
|
66 | (1) |
|
|
67 | (1) |
|
3.2.8 Vocal "sh" and "f" Sounds |
|
|
68 | (2) |
|
3.3 Using Time Domain Information |
|
|
70 | (2) |
|
|
72 | (1) |
|
Chapter 4 Frequency Domain Analysis |
|
|
73 | (28) |
|
|
74 | (1) |
|
4.2 Static and Average Sound Character |
|
|
74 | (15) |
|
|
74 | (5) |
|
4.2.2 Frequency Domain Analysis of Simple Waveform Shapes |
|
|
79 | (5) |
|
4.2.3 Average Spectrum Analysis Examples |
|
|
84 | (5) |
|
4.3 Dynamic Sound Character |
|
|
89 | (7) |
|
4.3.1 Representing Three Dimensions |
|
|
89 | (1) |
|
4.3.2 Simple Spectrogram Examples |
|
|
90 | (4) |
|
4.3.3 More Complex Spectrogram Examples |
|
|
94 | (2) |
|
4.4 Using Frequency Domain Information |
|
|
96 | (2) |
|
|
98 | (3) |
Part II Modification |
|
|
Chapter 5 Basic Modifications |
|
|
101 | (38) |
|
|
102 | (1) |
|
|
102 | (3) |
|
|
105 | (9) |
|
5.3.1 Simple Amplitude Control |
|
|
105 | (3) |
|
5.3.2 Two Channel Amplitude Control |
|
|
108 | (1) |
|
5.3.3 Naturalistic Amplitude Control |
|
|
109 | (4) |
|
5.3.4 Working with Decibels |
|
|
113 | (1) |
|
|
114 | (3) |
|
5.5 Pan Control and Stereo Balance |
|
|
117 | (10) |
|
5.5.1 Monophonic and Stereophonic Signals |
|
|
117 | (4) |
|
|
121 | (4) |
|
|
125 | (2) |
|
5.6 Combination of Elements |
|
|
127 | (10) |
|
|
127 | (2) |
|
5.6.2 Series and Parallel Forms |
|
|
129 | (4) |
|
5.6.3 Practical Combination Examples |
|
|
133 | (4) |
|
5.7 Developing Processes and Learning More |
|
|
137 | (2) |
|
|
139 | (56) |
|
|
140 | (8) |
|
6.1.1 Filters and Audio Processes |
|
|
140 | (1) |
|
6.1.2 Filtering and Acoustic Sound Sources |
|
|
140 | (1) |
|
6.1.3 Musical Frequency Ranges |
|
|
141 | (2) |
|
6.1.4 Frequency (Magnitude) Responses |
|
|
143 | (5) |
|
|
148 | (7) |
|
6.2.1 Lowpass and Highpass Filters |
|
|
148 | (1) |
|
6.2.2 Bandpass and Bandreject Filters |
|
|
149 | (3) |
|
6.2.3 Comb and Allpass Filters |
|
|
152 | (1) |
|
6.2.4 Variations in Filter Responses |
|
|
153 | (2) |
|
|
155 | (9) |
|
6.3.1 Common Series and Parallel Forms |
|
|
155 | (4) |
|
6.3.2 Subtractive Techniques |
|
|
159 | (5) |
|
|
164 | (29) |
|
|
164 | (7) |
|
6.4.2 Lowpass and Highpass Designs |
|
|
171 | (9) |
|
6.4.3 Bandpass and Bandreject Designs |
|
|
180 | (3) |
|
6.4.4 Comb and Allpass Designs |
|
|
183 | (10) |
|
6.5 Developing Processes and Learning More |
|
|
193 | (2) |
|
|
195 | (24) |
|
|
196 | (4) |
|
7.1.1 Avoiding and Creating Distortion |
|
|
196 | (1) |
|
|
196 | (4) |
|
|
200 | (13) |
|
7.2.1 Soft Clipping Distortion |
|
|
200 | (8) |
|
7.2.2 Other Distortion Transfer Functions |
|
|
208 | (1) |
|
7.2.3 Controlling Distortion Character |
|
|
208 | (5) |
|
7.3 Distortion of Complex Signals |
|
|
213 | (3) |
|
7.4 Developing Processes and Learning More |
|
|
216 | (3) |
|
Chapter 8 Audio Data Techniques |
|
|
219 | (46) |
|
8.1 Storing and Accessing Audio Data |
|
|
220 | (17) |
|
8.1.1 Storage and Processing Requirements |
|
|
220 | (1) |
|
|
221 | (4) |
|
8.1.3 Shift Registers and Circular Buffers |
|
|
225 | (7) |
|
|
232 | (3) |
|
8.1.5 Pointer Position Considerations |
|
|
235 | (2) |
|
8.2 Selecting and Interpolating Values |
|
|
237 | (8) |
|
|
237 | (2) |
|
8.2.2 Truncation and Rounding |
|
|
239 | (2) |
|
8.2.3 Linear Interpolation |
|
|
241 | (1) |
|
8.2.4 Non-linear Interpolation |
|
|
242 | (3) |
|
|
245 | (16) |
|
|
245 | (2) |
|
8.3.2 Accurate Peak Measurement |
|
|
247 | (2) |
|
8.3.3 Accurate RMS Measurement |
|
|
249 | (3) |
|
8.3.4 Filter-Based Techniques |
|
|
252 | (3) |
|
|
255 | (5) |
|
8.3.6 Selecting and Configuring Envelope Followers |
|
|
260 | (1) |
|
8.4 Developing Processes and Learning More |
|
|
261 | (4) |
|
Chapter 9 Modulated Modifiers |
|
|
265 | (24) |
|
|
266 | (4) |
|
9.1.1 Variation over Time |
|
|
266 | (1) |
|
|
267 | (3) |
|
9.2 Examples of Periodic Modulation |
|
|
270 | (16) |
|
9.2.1 Tremolo and Autopan |
|
|
270 | (7) |
|
|
277 | (1) |
|
|
278 | (1) |
|
|
279 | (4) |
|
|
283 | (1) |
|
9.2.6 Modulated Modulators |
|
|
284 | (2) |
|
9.3 Developing Processes and Learning More |
|
|
286 | (3) |
|
Chapter 10 Acoustic Environment |
|
|
289 | (48) |
|
|
290 | (7) |
|
10.1.1 Types of Environmental Effects |
|
|
290 | (1) |
|
10.1.2 Fundamentals of Sound in Enclosed Spaces |
|
|
291 | (3) |
|
10.1.3 Practical Enclosed Spaces |
|
|
294 | (3) |
|
10.2 Non-Recirculating Echo and Reverberation Forms |
|
|
297 | (16) |
|
|
297 | (1) |
|
|
298 | (5) |
|
10.2.3 Multitap Implementation |
|
|
303 | (4) |
|
10.2.4 Improvements to Echo Effects |
|
|
307 | (2) |
|
10.2.5 Reverberation Effects |
|
|
309 | (1) |
|
10.2.6 Convolution with Impulse Responses |
|
|
310 | (3) |
|
10.3 Recirculating Echo Forms |
|
|
313 | (10) |
|
|
313 | (2) |
|
|
315 | (7) |
|
10.3.3 Improvements to Echo Effects |
|
|
322 | (1) |
|
10.4 Recirculating Reverberation Forms |
|
|
323 | (12) |
|
|
323 | (1) |
|
10.4.2 Reverberator with Comb and Allpass Filters |
|
|
324 | (2) |
|
10.4.3 Multi-Stage Reverberator |
|
|
326 | (5) |
|
10.4.4 Improvements to the Multi-Stage Reverberator |
|
|
331 | (2) |
|
10.4.5 Stereo Reverberation |
|
|
333 | (2) |
|
10.5 Developing Processes and Learning More |
|
|
335 | (2) |
|
Chapter 11 Dynamics Processes |
|
|
337 | (32) |
|
|
338 | (3) |
|
11.1.1 Manual and Automated Control Loops |
|
|
338 | (1) |
|
11.1.2 Amplitude Dynamics |
|
|
339 | (1) |
|
|
340 | (1) |
|
|
341 | (12) |
|
|
341 | (4) |
|
|
345 | (2) |
|
11.2.3 Improvements to the Simple Form |
|
|
347 | (4) |
|
11.2.4 Additional Techniques |
|
|
351 | (2) |
|
|
353 | (9) |
|
|
353 | (6) |
|
|
359 | (3) |
|
|
362 | (5) |
|
|
362 | (2) |
|
11.4.2 Sidechain Filtering |
|
|
364 | (1) |
|
|
365 | (1) |
|
11.4.4 Other Modifications |
|
|
366 | (1) |
|
11.5 Developing Processes and Learning More |
|
|
367 | (2) |
|
Chapter 12 Frequency Domain Methods |
|
|
369 | (26) |
|
12.1 Time Domain and Frequency Domain Processes |
|
|
370 | (7) |
|
|
370 | (1) |
|
12.1.2 Fourier Transform Basics |
|
|
371 | (6) |
|
|
377 | (5) |
|
|
377 | (2) |
|
12.2.2 Vocoding and Application of Spectral Envelopes |
|
|
379 | (2) |
|
|
381 | (1) |
|
12.3 More Sophisticated Techniques |
|
|
382 | (8) |
|
|
383 | (1) |
|
|
383 | (4) |
|
12.3.3 Modifying Amplitude and Frequency Relationships |
|
|
387 | (2) |
|
12.3.4 Blending and Morphing |
|
|
389 | (1) |
|
12.4 Developing Processes and Learning More |
|
|
390 | (5) |
Part III Synthesis |
|
|
Chapter 13 Basic Synthesis |
|
|
395 | (28) |
|
|
396 | (10) |
|
13.1.1 From Modifiers to Synthesizers |
|
|
396 | (2) |
|
|
398 | (1) |
|
13.1.3 Note Numbers and Frequency Values |
|
|
399 | (3) |
|
13.1.4 Parameter Variation |
|
|
402 | (4) |
|
13.2 Gate and Envelope Methods |
|
|
406 | (12) |
|
|
406 | (2) |
|
13.2.2 Envelope Shapes and Applications |
|
|
408 | (6) |
|
13.2.3 Audio Input Methods |
|
|
414 | (4) |
|
13.3 Tremolo and Vibrato in Synthesis |
|
|
418 | (3) |
|
13.4 Developing Processes and Learning More |
|
|
421 | (2) |
|
Chapter 14 Signal Generators and Shaping |
|
|
423 | (38) |
|
|
424 | (1) |
|
14.2 Equation-Based Methods |
|
|
425 | (4) |
|
|
425 | (2) |
|
|
427 | (2) |
|
|
429 | (15) |
|
|
429 | (2) |
|
14.3.2 Generating a Single Linear Segment |
|
|
431 | (3) |
|
14.3.3 Generating Multiple Segments |
|
|
434 | (8) |
|
14.3.4 Mapping with Multiple Breakpoints |
|
|
442 | (2) |
|
|
444 | (5) |
|
14.4.1 Creating a Wavetable |
|
|
444 | (1) |
|
|
445 | (2) |
|
14.4.3 Efficiency and Control |
|
|
447 | (2) |
|
14.5 Modifying and Shaping Oscillation |
|
|
449 | (10) |
|
14.5.1 Bandlimiting and Aliasing |
|
|
449 | (2) |
|
14.5.2 Developing Oscillator Character |
|
|
451 | (1) |
|
|
452 | (7) |
|
14.6 Developing Processes and Learning More |
|
|
459 | (2) |
|
Chapter 15 Sample-Based Synthesis Methods |
|
|
461 | (20) |
|
|
462 | (4) |
|
15.1.1 Using Sampled Sound |
|
|
462 | (1) |
|
15.1.2 Recording, Editing, and Organising Samples |
|
|
463 | (2) |
|
|
465 | (1) |
|
15.2 Position Control and Concatenation |
|
|
466 | (7) |
|
15.2.1 Position Control and Looping |
|
|
466 | (3) |
|
|
469 | (1) |
|
15.2.3 Process Considerations |
|
|
470 | (3) |
|
15.3 Manipulating Sample Data Values |
|
|
473 | (6) |
|
15.3.1 Sample Increment Effects |
|
|
473 | (5) |
|
|
478 | (1) |
|
15.4 Developing Processes and Learning More |
|
|
479 | (2) |
|
Chapter 16 Additive Synthesis |
|
|
481 | (20) |
|
|
482 | (3) |
|
16.1.1 Additive Synthesis Characteristics |
|
|
482 | (1) |
|
16.1.2 Frequency Separation |
|
|
483 | (2) |
|
16.2 Synthesis with Control over Individual Partials |
|
|
485 | (11) |
|
|
485 | (2) |
|
16.2.2 Configuration from Theory |
|
|
487 | (4) |
|
16.2.3 Configuration from Sound Analysis |
|
|
491 | (3) |
|
16.2.4 Abstract Configuration |
|
|
494 | (2) |
|
16.3 Synthesis with Mapped Control over Multiple Partials |
|
|
496 | (3) |
|
16.4 Developing Processes and Learning More |
|
|
499 | (2) |
|
Chapter 17 Subtractive Synthesis |
|
|
501 | (22) |
|
|
502 | (1) |
|
17.2 Common Subtractive Methods |
|
|
503 | (6) |
|
|
503 | (1) |
|
|
504 | (5) |
|
|
509 | (8) |
|
|
509 | (1) |
|
17.3.2 Voiced Source Sound Generation |
|
|
510 | (4) |
|
|
514 | (3) |
|
17.4 High Resonance Methods |
|
|
517 | (4) |
|
17.5 Developing Processes and Learning More |
|
|
521 | (2) |
|
Chapter 18 Noise in Synthesis |
|
|
523 | (20) |
|
18.1 Consistent and Inconsistent Signals |
|
|
524 | (1) |
|
18.2 Noise in the Time Domain |
|
|
525 | (7) |
|
18.2.1 Generation and Shaping |
|
|
525 | (4) |
|
18.2.2 Rate-Controlled Random Value Generation |
|
|
529 | (1) |
|
18.2.3 Inconsistent Oscillation |
|
|
529 | (3) |
|
18.3 Noise in the Frequency Domain |
|
|
532 | (10) |
|
18.3.1 Spectral Envelopes |
|
|
532 | (1) |
|
18.3.2 Rate Control and Modulation |
|
|
533 | (2) |
|
|
535 | (2) |
|
|
537 | (5) |
|
18.4 Developing Processes and Learning More |
|
|
542 | (1) |
|
Chapter 19 Blending Synthesized Sounds |
|
|
543 | (16) |
|
|
544 | (2) |
|
19.2 Fixed Parameter Blends |
|
|
546 | (4) |
|
|
546 | (3) |
|
19.2.2 Enhancements to Static Blend |
|
|
549 | (1) |
|
19.3 Envelope-Controlled Blends |
|
|
550 | (3) |
|
|
553 | (4) |
|
19.4.1 Two Signal Cross-Fade |
|
|
553 | (2) |
|
19.4.2 Four Signal Cross-Fade |
|
|
555 | (1) |
|
19.4.3 Eight Signal Cross-Fade |
|
|
556 | (1) |
|
19.5 Developing Processes and Learning More |
|
|
557 | (2) |
|
Chapter 20 Modulation for Synthesis |
|
|
559 | (20) |
|
|
560 | (1) |
|
20.2 Amplitude Modulation |
|
|
561 | (6) |
|
|
561 | (4) |
|
20.2.2 Practical Examples |
|
|
565 | (2) |
|
20.3 Frequency Modulation |
|
|
567 | (8) |
|
|
567 | (4) |
|
|
571 | (2) |
|
20.3.3 Multiple Modulator FM Arrangements |
|
|
573 | (2) |
|
20.4 Further Modulation Methods |
|
|
575 | (2) |
|
20.5 Developing Processes and Learning More |
|
|
577 | (2) |
|
Chapter 21 Waveguide Physical Models |
|
|
579 | (30) |
|
|
580 | (4) |
|
|
580 | (1) |
|
21.1.2 Structure of a Physical Model |
|
|
581 | (1) |
|
|
582 | (2) |
|
21.2 Waveguide Plucked String |
|
|
584 | (9) |
|
21.2.1 Simplest Plucked String |
|
|
584 | (4) |
|
|
588 | (1) |
|
21.2.3 Modifying the Excitation |
|
|
588 | (4) |
|
21.2.4 Modifying the Waveguide Filtering |
|
|
592 | (1) |
|
21.3 Waveguides for Percussion |
|
|
593 | (6) |
|
|
593 | (2) |
|
21.3.2 Waveguide Mesh Drum |
|
|
595 | (4) |
|
21.4 Waveguide Wind Instrument |
|
|
599 | (5) |
|
21.4.1 Basic Wind Instrument |
|
|
599 | (3) |
|
21.4.2 Breath Input Improvements |
|
|
602 | (1) |
|
21.4.3 Filtering and Tuning Improvements |
|
|
603 | (1) |
|
|
604 | (2) |
|
21.6 Developing Processes and Learning More |
|
|
606 | (3) |
|
Chapter 22 Granular Synthesis |
|
|
609 | (22) |
|
|
610 | (7) |
|
|
610 | (1) |
|
22.1.2 Granular Stream Generation |
|
|
610 | (5) |
|
22.1.3 Lookup Table Sources |
|
|
615 | (1) |
|
22.1.4 Parameter Relationships |
|
|
615 | (2) |
|
22.2 Granular Synthesis Techniques |
|
|
617 | (9) |
|
|
617 | (3) |
|
|
620 | (3) |
|
|
623 | (1) |
|
|
624 | (2) |
|
22.3 Developing Processes and Learning More |
|
|
626 | (5) |
Part IV Control |
|
|
Chapter 23 Process Organisation and Control |
|
|
631 | (24) |
|
23.1 Components of Organisation and Control |
|
|
632 | (12) |
|
|
632 | (1) |
|
23.1.2 Process Segmentation |
|
|
633 | (4) |
|
23.1.3 Processing at Different Rates |
|
|
637 | (4) |
|
23.1.4 Control Inputs and Mapping |
|
|
641 | (3) |
|
23.2 Controlling Synthesis |
|
|
644 | (9) |
|
|
644 | (1) |
|
23.2.2 Polyphonic Methods |
|
|
645 | (5) |
|
23.2.3 Monophonic Methods |
|
|
650 | (3) |
|
23.3 Developing Processes and Learning More |
|
|
653 | (2) |
|
Chapter 24 Control Mapping |
|
|
655 | (22) |
|
24.1 Frequency and Amplitude |
|
|
656 | (9) |
|
|
656 | (2) |
|
24.1.2 Amplitude Gain Control |
|
|
658 | (3) |
|
24.1.3 Key Velocity to Amplitude Gain |
|
|
661 | (1) |
|
24.1.4 Further Mapping Considerations |
|
|
662 | (3) |
|
24.2 More Sophisticated Techniques |
|
|
665 | (4) |
|
24.2.1 Mapping to Varying Parameters |
|
|
665 | (2) |
|
24.2.2 Mapping to Multiple Parameters |
|
|
667 | (2) |
|
24.3 Developing Processes and Learning More |
|
|
669 | (2) |
Next Steps |
|
671 | (6) |
Appendices |
|
|
Appendix A Mathematics for Audio Processes |
|
|
677 | (28) |
|
A.1 The Need for Mathematics |
|
|
678 | (1) |
|
A.2 Variables, Simple Equations, Subscripts, Superscripts |
|
|
679 | (5) |
|
|
684 | (1) |
|
|
685 | (4) |
|
|
689 | (2) |
|
A.6 Logarithmic and Exponential Functions |
|
|
691 | (6) |
|
A.7 Mapping and Shaping Functions |
|
|
697 | (1) |
|
A.8 Units, Prefixes, and Symbols |
|
|
698 | (1) |
|
|
699 | (4) |
|
|
703 | (2) |
|
Appendix B Windowing and Window Functions |
|
|
705 | (10) |
|
|
706 | (4) |
|
B.2 Some Common Window Functions |
|
|
710 | (3) |
|
|
713 | (2) |
|
Appendix C Block Diagram Techniques |
|
|
715 | (6) |
|
|
716 | (2) |
|
C.2 Relating Diagrams and Programming Forms |
|
|
718 | (3) |
Index |
|
721 | |