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.
Table of Contents
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
Eric Tarr is an assistant professor of Audio Engineering Technology at Belmont University in Nashville, TN. He teaches classes on digital audio, computer programming, signal processing and analysis. He received a Ph.D., M.S., and B.S. in Electrical and Computer Engineering from the Ohio State University. He received a B.A in Mathematics and a minor in Music from Capital University in Columbus, OH. His work has spanned across the topics of speech signal processing, musical robotics, sound spatialization, acoustic and electronic system modeling, hearing loss, perception and cognition. He has published articles in the Journal of the Acoustical Society of America, Journal of Speech, Language, and Hearing Research, International Journal of Audiology, and Mechanical Engineering Research. He is a member of the Audio Engineering Society. In 2015, Dr. Tarr received the Gibson Foundation Les Paul Music Innovation Award as the principal investigator of a research grant on "Blockchain Technology in the Music Industry."
©2018, 458 pages