COPYRIGHTED MATERIAL

RI
AL
Contents
synthesis and physical modeling
Abstract digital sound synthesis
Physical modeling
Physical modeling: a larger view
MA
1 Sound
1.1
1.2
1.3
TE
Preface
ix
1
2
8
18
25
26
27
31
38
42
3 The oscillator
3.1 The simple harmonic oscillator
3.2 A finite difference scheme
3.3 Other schemes
3.4 Lumped mass–spring networks
3.5 Loss
3.6 Sources
3.7 Problems
3.8 Programming exercises
45
46
49
55
61
63
67
68
71
4 The oscillator in musical acoustics
4.1 Nonlinear oscillators
4.2 Lossless oscillators
4.3 Lossy oscillators
4.4 Problems
4.5 Programming exercises
73
74
74
82
87
90
CO
PY
RI
GH
TE
D
2 Time series and difference operators
2.1 Time series
2.2 Shift, difference, and averaging operators
2.3 Frequency domain analysis
2.4 Energetic manipulations and identities
2.5 Problems
vi
CONTENTS
5
Grid functions and finite difference operators in 1D
5.1 Partial differential operators and PDEs
5.2 Grid functions and difference operators
5.3 Coordinate changes
5.4 Problems
5.5 Programming exercises
93
93
98
112
113
115
6
The 1D wave equation
6.1 Definition and properties
6.2 A simple finite difference scheme
6.3 Other schemes
6.4 Modal synthesis
6.5 Loss
6.6 Comparative study I
6.7 Problems
6.8 Programming exercises
117
118
131
148
152
153
155
157
161
7
Linear
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
7.10
7.11
7.12
163
163
174
177
180
183
185
187
194
199
206
213
218
8
Nonlinear string vibration
8.1 The Kirchhoff–Carrier string model
8.2 General planar nonlinear string motion
8.3 Non-planar string motion
8.4 Problems
8.5 Programming exercises
221
221
232
242
244
247
9
Acoustic tubes
9.1 Webster’s equation
9.2 The vocal tract and speech synthesis
9.3 Reed wind instruments
9.4 Other wind instruments
9.5 Problems
9.6 Programming exercises
249
249
258
265
278
278
283
bar and string vibration
The ideal uniform bar
Stiff strings
Frequency-dependent loss
Coupling with bow models
Coupling with hammer and mallet models
Multiple strings
Prepared strings
Coupled bars
Helical springs
Spatial variation and stretched coordinates
Problems
Programming exercises
CONTENTS
vii
10 Grid functions and finite difference operators in 2D
10.1 Partial differential operators and PDEs in two space variables
10.2 Grid functions and difference operators: Cartesian coordinates
10.3 Grid functions and difference operators: radial coordinates
10.4 Problems
10.5 Programming exercises
287
288
291
299
301
303
11 The 2D wave equation
11.1 Definition and properties
11.2 A simple finite difference scheme
11.3 Other finite difference schemes
11.4 Digital waveguide meshes
11.5 Lumped mass–spring networks
11.6 Modal synthesis
11.7 Finite difference schemes in radial coordinates
11.8 Comparative study II
11.9 Problems
11.10 Programming exercises
305
305
310
312
315
316
317
318
321
322
327
12 Linear
12.1
12.2
12.3
12.4
12.5
12.6
12.7
12.8
331
331
341
341
346
349
352
355
357
plate vibration
The Kirchhoff thin plate model
Loss and tension
Plate excitation
Plate–string connections
Anisotropic plates
The thin plate in radial coordinates
Problems
Programming exercises
13 Nonlinear plate vibration
13.1 The Berger plate model
13.2 The von Kármán plate model
13.3 Spherical shell vibration
13.4 Problems
13.5 Programming exercises
361
361
363
371
376
378
14 Conclusion and perspectives
14.1 A family of musical systems
14.2 Comparative study III
14.3 Beyond finite difference methods
379
379
382
386
A Matlab
A.1
A.2
A.3
391
391
392
393
code examples
The simple harmonic oscillator
Hammer collision with mass–spring system
Bowed mass–spring system
viii
CONTENTS
A.4
A.5
A.6
A.7
A.8
A.9
A.10
A.11
A.12
The 1D wave equation: finite difference scheme
The 1D wave equation: digital waveguide synthesis
The 1D wave equation: modal synthesis
The ideal bar
The stiff string
The Kirchhoff–Carrier equation
Vocal synthesis
The 2D wave equation
Thin plate
B List of symbols
394
395
397
398
399
401
402
403
405
407
Bibliography
411
Index
427