2nd Edition

Designing Software Synthesizer Plugins in C++ With Audio DSP

By Will C. Pirkle Copyright 2021
    304 Pages 119 B/W Illustrations
    by Focal Press

    304 Pages 119 B/W Illustrations
    by Focal Press

    Designing Software Synthesizer Plugins in C++ provides everything you need to know to start designing and writing your own synthesizer plugins, including theory and practical examples for all of the major synthesizer building blocks, from LFOs and EGs to PCM samples and morphing wavetables, along with complete synthesizer example projects.

    The book and accompanying SynthLab projects include scores of C++ objects and functions that implement the synthesizer building blocks as well as six synthesizer projects, ranging from virtual analog and physical modelling to wavetable morphing and wave-sequencing that demonstrate their use. You can start using the book immediately with the SynthLab-DM product, which allows you to compile and load mini-modules that resemble modular synth components without needing to maintain the complete synth project code. The C++ objects all run in a stand-alone mode, so you can incorporate them into your current projects or whip up a quick experiment. All six synth projects are fully documented, from the tiny SynthClock to the SynthEngine objects, allowing you to get the most from the book while working at a level that you feel comfortable with.

    This book is intended for music technology and engineering students, along with DIY audio programmers and anyone wanting to understand how synthesizers may be implemented in C++.

    List of Figures

    List of Tables


    1 SynthLab Introduction

    2 The Synth Engine

    3 Synth Voices, Synth Modules, and Module Cores

    4 Synth Operational Modes: Polyphony and Voice-Stealing

    5 Learning and Using the SynthLab Objects & Projects

    6 Modulation: Theory and Calculations

    7 Envelope Generators and DCA

    8 Low Frequency Oscillators

    9 Wavetable Oscillators

    10 Virtual Analog Oscillators

    11 PCM Sample Playback Oscillators

    12 Synthesizer Filters

    13 Karplus-Strong Plucked String Model

    14 The Modulation Matrix

    15 Wave Morphing and Wave Sequencing

    16 The SynthLab Synth Projects


    Will C. Pirkle is a Staff Scientist at Audio Media Research, Inc. and Music Engineering Technology program director at the University of Miami Frost School of Music. He teaches a range of classes, from audio electronics to digital signal processing and audio programming. In addition to 16 years of teaching, Will has 20+ years of experience in the audio industry, working and consulting for such names as Korg Research and Development, XM Radio, and National Semiconductor Corporation. An avid guitarist and studio owner, Will enjoys projects that combine his skills.