Hack Audio An Introduction to Computer Programming and Digital Signal Processing in MATLAB
Computers are at the center of almost everything related to audio. Whether for synthesis in music production, recording in the studio, or mixing in live sound, the computer plays an essential part. Audio effects plug-ins and virtual instruments are implemented as software computer code. Music apps are computer programs run on a mobile device. All these tools are created by programming a computer.
Hack Audio: An Introduction to Computer Programming and Digital Signal Processing in MATLAB provides an introduction for musicians and audio engineers interested in computer programming. It is intended for a range of readers including those with years of programming experience and those ready to write their first line of code. In the book, computer programming is used to create audio effects using digital signal processing. By the end of the book, readers implement the following effects: signal gain change, digital summing, tremolo, auto-pan, mid/side processing, stereo widening, distortion, echo, filtering, equalization, multi-band processing, vibrato, chorus, flanger, phaser, pitch shifter, auto-wah, convolution and algorithmic reverb, vocoder, transient designer, compressor, expander, and de-esser.
Throughout the book, several types of test signals are synthesized, including: sine wave, square wave, sawtooth wave, triangle wave, impulse train, white noise, and pink noise. Common visualizations for signals and audio effects are created including: waveform, characteristic curve, goniometer, impulse response, step response, frequency spectrum, and spectrogram. In total, over 200 examples are provided with completed code demonstrations.
Dedication List of Tables List of Figures Acknowledgements 1 Introduction 2 Basics of Programming in MATLAB 3 Basics of Audio in MATLAB 4 LAB Programming Environment 5 Logicals and Control Structures in Programming 6 Signal Gain and DC Offset 7 Introduction to Signal Synthesis 8 Summing, Fades, and Amplitude Modulation 9 Stereo Panning and Mid-Side Processing 10 Distortion, Saturation, and Clipping 11 Echo Effects 12 FIR Filters 13 IIR Filters 14 Delay Buffers and Fractional Delay 15 Modulated Delay Effects 16 Algorithmic Reverb Effects 17 Amplitude Envelope Effects 18 Dynamic Range Processors Index
"Part of Hack Audio’s success is its ability to convey information in a variety of ways. Tarr’s written explanations are always concise but never lacking in information. The page count never feels daunting since large portions of each chapter are dedicated to graphics and sample MATLAB code. The sample code is kept succinct, which should help students understand the purpose of each script. [...] Hack Audio is able to capture readers’ attention through compelling illustrations (i.e., block diagrams, Cartesian graphs) and "visualizations" (i.e., waveforms, characteristic curves, impulse responses, frequency responses, and spectrograms). The block diagrams were a personal favorite and helped to illustrate the interconnectedness of certain audio effects (i.e., inverting the delay used for a notch filter results in a band-pass filter). Students will become comfortable discussing audio effects in a number of different ways: graphically, verbally, and sonically. […] Hack Audio is an unpretentious and pleasant read, buoyed by Tarr’s love and passion for the subject. All students and instructors in an audio-related field should check out the Hack Audio website. Both the blog and textbook will quickly become your favorite go-to resources for digital signal processing concepts." Brandon Cudequest, Threshold Acoustics, LLC. Chicago, Illinois