Muutke küpsiste eelistusi

E-raamat: Digital Audio Theory: A Practical Guide [Taylor & Francis e-raamat]

  • Formaat: 254 pages, 10 Tables, black and white; 123 Line drawings, black and white; 123 Illustrations, black and white
  • Ilmumisaeg: 28-Dec-2020
  • Kirjastus: CRC Press
  • ISBN-13: 9780429297144
  • Taylor & Francis e-raamat
  • Hind: 180,03 €*
  • * hind, mis tagab piiramatu üheaegsete kasutajate arvuga ligipääsu piiramatuks ajaks
  • Tavahind: 257,19 €
  • Säästad 30%
  • Formaat: 254 pages, 10 Tables, black and white; 123 Line drawings, black and white; 123 Illustrations, black and white
  • Ilmumisaeg: 28-Dec-2020
  • Kirjastus: CRC Press
  • ISBN-13: 9780429297144

Digital Audio Theory: A Practical Guide bridges the fundamental concepts and equations of digital audio with their real-world implementation in an accessible introduction, with dozens of programming examples and projects.

Starting with digital audio conversion, then segueing into filtering and finally real-time spectral processing, Digital Audio Theory introduces the uninitiated reader to signal processing principles and techniques used in audio effects and virtual instruments that are found in digital audio workstations. Every chapter includes programming snippets for the reader to hear, explore, and experiment with digital audio concepts. Practical projects challenge the reader, providing hands-on experience in designing real-time audio effects, building FIR and IIR filters, applying noise reduction and feedback control, measuring impulse responses, software synthesis, and much more.

Music technologists, recording engineers, and students of these fields will welcome Bennett’s approach, which targets readers with a background in music, sound, and recording. This guide is suitable for all levels of knowledge in mathematics, signals and systems, and linear circuits. Code for the programming examples and accompanying videos made by the author can be found on the companion website, DigitalAudioTheory.com.

List of abbreviations
xiii
List of variables
xv
1 Introduction
1(16)
1.1 Describing Audio Signals
1(7)
1.1.1 Measuring audio levels
2(1)
1.1.2 Pro-audio versus Consumer audio levels
3(1)
1.1.3 Dynamic range
4(1)
1.1.4 Signal to noise ratio (SNR)
4(1)
1.1.5 Frequency and bandwidth
5(2)
1.1.6 Characterizing noise
7(1)
1.1.7 Probability density functions and histograms
8(1)
1.2 Digital Audio Basics
8(1)
1.3 Describing Audio Systems
9(5)
1.3.1 Continuous and discrete systems
10(1)
1.3.2 Linear and non-linear systems
10(1)
1.3.3 Temporal properties
11(1)
1.3.4 Impulse response
12(1)
1.3.5 Frequency response
12(2)
1.4 Further Reading
14(1)
1.5 Challenges
15(1)
1.6 Project -- Audio Playback
15(2)
2 Complex Vectors And Phasors
17(16)
2.1 Complex Number Representation And Operations
17(6)
2.1.1 Unit circle
18(2)
2.1.2 Example: convert from polar to rectangular form
20(1)
2.1.3 Programming example: plotting complex vectors
21(2)
2.1.4 Complex mathematical operations
23(1)
2.2 Complex Conjugates
23(1)
2.3 Phasors
24(3)
2.3.1 Programming example: rotating a vector
25(2)
2.4 Beat Frequencies
27(2)
2.4.1 Programming example: beat frequencies
29(1)
2.5 Challenges
29(1)
2.6 Project -- Am And Fm Synthesis
30(1)
Bibliography
31(2)
3 Sampling
33(14)
3.1 Phasor Representation On The Complex Plane
34(1)
3.2 Nyquist Frequency
35(2)
3.3 Time Shift Operators
37(2)
3.3.1 Programming example: simple delay effect
38(1)
3.4 Sampling A Continuous Signal
39(3)
3.4.1 Example: analog to digital conversion
42(1)
3.5 Jitter
42(3)
3.5.1 Programming example: Listening to Jitter
43(2)
3.6 Challenges
45(1)
Bibliography
45(2)
4 Aliasing And Reconstruction
47(18)
4.1 Under-Sampling
48(2)
4.1.1 Programming example: aliasing
48(2)
4.2 Predicting The Alias Frequency
50(6)
4.2.1 Example: calculating the alias frequencies
53(1)
4.2.2 Mirror/foldback frequency
53(2)
4.2.3 Example: calculating the alias frequencies (again)
55(1)
4.3 Anti-Aliasing Filter
56(1)
4.4 Reconstruction
57(5)
4.4.1 Deriving the interpolator
58(1)
4.4.2 Ideal interpolation
59(2)
4.4.3 Real-time interpolation
61(1)
4.5 Challenges
62(1)
4.6 Project -- Aliasing
62(2)
Bibliography
64(1)
5 Quantization
65(14)
5.1 Quantization Resolution
66(1)
5.2 Audio Buffers
67(3)
5.2.1 Programming example: signal quantization
68(1)
5.2.2 Example: 3-bit quantization
69(1)
5.3 Sample-And-Hold Circuit
70(1)
5.4 Quantization Error (Eq)
70(4)
5.4.1 Programming example: quantization error
71(1)
5.4.2 PDF of quantization error
72(1)
5.4.3 RMS of quantization error
72(1)
5.4.4 Programming example: PDF and RMS of quantization error
73(1)
5.5 Pulse Code Modulation
74(3)
5.5.1 Non-uniform quantization
75(1)
5.5.2 Programming example: u-law quantization
76(1)
5.6 Challenges
77(1)
Bibliography
77(2)
6 Dither
79(16)
6.1 Signal-To-Error Ratio (Ser)
80(2)
6.1.1 The case of the missing noise
80(2)
6.2 Ser At Low Signal Levels
82(1)
6.3 Applying Dither
82(4)
6.3.1 Programming example: RPDF dither
84(2)
6.4 Triangular Pdf Dither
86(4)
6.4.1 Programming example: TPDF dither
87(1)
6.4.2 Noise shaping
88(2)
6.5 High-Frequency Dither
90(1)
6.6 Challenges
91(1)
6.7 Project -- Dither Effects
92(1)
Bibliography
93(2)
7 Dsp Basics
95(14)
7.1 Time-Shift Operators
96(1)
7.2 Time-Reversal Operator
97(1)
7.3 Time Scaling
98(1)
7.4 Block Diagrams
99(3)
7.4.1 Example: moving average filter
100(1)
7.4.2 Delay using the z-operator
101(1)
7.5 Difference Equations
102(1)
7.6 Canonical Form
103(3)
7.6.1 Programming example: filter implementation
105(1)
7.7 Challenges
106(1)
7.8 Project -- Plucked String Model
107(1)
Bibliography
108(1)
8 Fir Filters
109(16)
8.1 Fir Filters By Way Of Example
110(2)
8.2 Impulse Response
112(1)
8.3 Convolution
112(5)
8.3.1 Properties of convolution
114(1)
8.3.2 Example: convolving two signals
115(1)
8.3.3 Programming example: vocal processing
116(1)
8.4 Cross-Correlation
117(1)
8.4.1 Programming example: time-delay estimation
118(1)
8.4.2 Programming example: matched filtering
118(1)
8.5 Fir Filter Phase
118(2)
8.5.1 Linear phase
119(1)
8.5.2 Minimum phase
120(1)
8.6 Designing Fir Filters
120(2)
8.6.1 Programming example: pre-echo
121(1)
8.7 Challenges
122(1)
8.8 Project -- Fir Filters
123(1)
Bibliography
124(1)
9 Z-Domain
125(22)
9.1 Frequency Response
125(2)
9.2 Magnitude Response
127(1)
9.3 Comb Filters
128(3)
9.3.1 Programming example: comb filters
128(2)
9.3.2 Programming example: removing ground hum
130(1)
9.4 Z-Transform
131(5)
9.4.1 Properties of z-Transform
133(1)
9.4.2 Example: analyzing a cascade of filters
134(2)
9.5 Pole/Zero Plots
136(7)
9.5.1 Example: first-order LPF and HPF
137(3)
9.5.2 Programming example: notch filter
140(3)
9.6 Filter Phase Response
143(1)
9.7 Group Delay
144(2)
9.8 Challenges
146(1)
10 Mr Filters
147(24)
10.1 General Characteristics Of IIR Filters
147(2)
10.1.1 Denormal numbers
149(1)
10.2 IIR Filter Transfer Functions
149(4)
10.2.1 Programming example: first-order IIR filter
150(3)
10.3 IIR Filter Stability
153(2)
10.3.1 Programming example: 3D p/z plot
153(2)
10.4 Second-Order Resonators
155(3)
10.4.1 Programming example: sweeping resonator
157(1)
10.5 Biquadratic Filters
158(6)
10.5.1 Bi-quad design
159(5)
10.6 Proportional Parametric Eq
164(3)
10.6.1 Programming example: 3-band parametric EQ
166(1)
10.7 Forward-Reverse Filtering
167(1)
10.8 Challenges
168(1)
10.9 Project - Resonator
168(2)
Bibliography
170(1)
11 Impulse Response Measurements
171(16)
11.1 Noise Reduction Through Averaging
172(1)
11.2 Capturing Irs With Mls
173(3)
11.2.1 MLS limitations
174(1)
11.2.2 Example: maximum length sequence
174(1)
11.2.3 Circular convolution/correlation
175(1)
11.3 Capturing Irs With Ess
176(7)
11.3.1 ESS stimulus generation
178(2)
11.3.2 Inverse ESS generation
180(1)
11.3.3 Noise reduction
181(1)
11.3.4 Programming example: noise reduction with ESS
182(1)
11.4 Challenges
183(1)
11.5 Project -- Room Response Measurements
183(2)
Bibliography
185(2)
12 Discrete Fourier Transform
187(18)
12.1 Discretizing A Transfer Function
187(1)
12.2 Sampling The Frequency Response
188(1)
12.3 The Dft And Inverse Discrete Fourier Transform
189(2)
12.3.1 Example: DFT of a delta
190(1)
12.3.2 Programming example: fast Fourier transform of a delta
191(1)
12.4 Twiddle Factor
191(5)
12.4.1 Programming example: DFT of a sinusoid
192(2)
12.4.2 Example: DFT of a rectangular pulse
194(2)
12.5 Properties Of The Dft
196(2)
12.6 Revisiting Sampling In The Frequency Domain
198(1)
12.7 Frequency Interpolation
199(2)
12.7.1 Programming example: frequency interpolation
200(1)
12.8 Challenges
201(1)
12.9 Project -- Spectral Filtering
202(3)
13 Real-Time Spectral Processing
205(12)
13.1 Filtering In The Frequency Domain
206(1)
13.2 Windowing
207(4)
13.3 Constant Overlap And Add
211(1)
13.4 Spectrograms
211(3)
13.4.1 Programming example: vocal formants
212(2)
13.5 Challenges
214(1)
13.6 Project -- Automatic Feedback Control
215(2)
14 Analog Modeling
217(20)
14.1 Derivation Of The Z-Transform
217(2)
14.2 Impulse Invariance
219(3)
14.2.1 Example: RC series filter
219(1)
14.2.2 Programming example: RC filter
220(2)
14.3 Bilinear Transformation
222(5)
14.3.1 Example: RC series filter
224(1)
14.3.2 Frequency pre-warping
225(1)
14.3.3 Example: pre-warping
226(1)
14.4 Frequency Sampling
227(4)
14.4.1 Linear phase frequency sampling
227(1)
14.4.2 Programming example: RLC with linear phase
227(2)
14.4.3 Minimum phase frequency sampling
229(1)
14.4.4 Programming example: RLC with minimum phase
230(1)
14.5 Non-Linear Modeling With Ess
231(5)
14.6 Challenges
236(1)
Bibliography
236(1)
Index 237
Christopher L. Bennett is a Professor in the Music Engineering Technology program at the University of Miami, Frost School of Music. He conducts research, teaches, and publishes in the fields of digital audio, audio programming, transducers, acoustics, psychoacoustics, and medical acoustics.