Chapter 1: Modular Synthesis: Theory
1.2.1 The Early Electronic and Electroacoustic Music Studios
1.2.2 The Birth and Evolution of Modular Synthesizers
1.2.3 The Advent of a Standard
1.3.2 Timbre Modification and Spectral Processing
1.3.3 Envelope, Dynamics, Articulation
1.3.4 “Fire at Will,” or in Short: Sequencers
Chapter 2: Elements of Signal Processing for Synthesis
2.4.2 Discrete Fourier Transform
2.4.3 Properties of the Discrete Fourier Transform
2.4.4 Again on LTI Systems: The Frequency Response
2.4.5 Computational Complexity and the Fast Fourier Transform
2.4.6 Short-Time Fourier Transform
2.5 Once Again on LTI Systems: Filters
2.6 Special LTI Systems: Discrete-Time Differentiator and Integrator
2.7 Analog to Digital and Back
2.8 Spectral Content of Typical Oscillator Waveforms
2.10 Filters: The Practical Side
2.11.2 Amplitude and Ring Modulation
2.13 Numerical Issues and Hints on Coding
3.6.2 East Coast Synthesis in One Minute
Chapter 4: Developing with VCV Rack
4.1 Comparison with Other Platforms
4.1.5 Simplicity and Object-Oriented Programming
4.2 Plugins: Files and Directories
4.3 Plugins: Software Components
4.4 Setting Up Your System for Coding
4.4.4 Building VCV Rack from Sources
4.5 Building Your First “Hello World” Module
4.5.2 Structure of the Source Files
4.6 Adopting an IDE for Development: Eclipse
4.6.1 Importing a “Makefile Project”
4.6.2 Building the Project Inside Eclipse
Chapter 5: The Graphical User Interface: A Quick Introduction
5.1 Generating SVG Files with Inkscape
5.1.1 Creating the Panel and the Background
5.1.2 Creating the Panel and the Background
5.2 Base Widget Objects for Knobs, Ports and Switches
5.2.1 Automatically Placing Components
Chapter 6: Let’s Start Programming: The Easy Ones
6.1 Creating a New Plugin from Scratch, Using the Helper Script
6.4 Knobs: Displaying, Mapping, and Computing Their Values
6.9 To Recap: Exercise Patches
6.9.1 Creating a Bernoulli Distribution and Bernoulli Gate
Chapter 7: Getting Serious: DSP “Classroom” Modules
7.1 Handling Polyphony Properly
7.3 Exponential Envelope Generator
7.3.1 A Virtual Analog RC Filter
7.3.2 Implementation of the Exponential Envelope Generator
7.4.1 Modelling a Diode Envelope Follower
7.4.2 Implementation of the Envelope Follower
7.5 Multimode State-Variable Filter
7.5.1 A Discrete-Time Model of the Multimode State-Variable Filter
7.5.2 Implementation of the State-Variable Filter
7.6.1 To Recap: Exercise with Patches
7.6.1.1 Simple Snare Sound Generation
7.6.1.3 Creating a Step Filter
7.6.1.4 The Chemist’s Lab, Aka Polyphonic Noise Filters
Chapter 8: Crunching Numbers: Advanced DSP Modules
8.1.1 Modal Synthesis Principles
8.1.2 A State-Variable Filter Bank
8.1.4 Adding Context Menu Options
8.2 Virtual Analog Oscillator with Limited Aliasing
8.2.2 Oversampling: The Easy Solution
8.2.3 Implementing a Trivial Oscillator with Oversampling
8.2.4 Differentiated Parabolic Waveform and Its Extensions
8.2.5 Differentiated Parabolic Waveform Implementation
8.2.6 Computational Cost and Aliasing
8.2.7 Polyphonic Oscillator Module
8.3.1 Trivial Foldback Algorithm
8.3.2 Antiderivative Anti-Aliasing Method
8.3.3 Wavefolder Module Implementation
8.4 To Recap: Exercise with Patches
Chapter 9: The Graphical User Interface: Creating Custom Widgets
9.1 The Rendering Library: NanoVG
9.2.1 Custom Knobs and Buttons
10.1.1 Running a Debug Session
10.1.2 Debugging a Segmentation Fault
10.1.4 Debugging with the Eclipse IDE
10.1.5 Other Debugging Methods
10.2.1 Table Lookup for Transcendental Functions
10.2.2 Sine Approximation by Table Lookup
10.2.3 Quadratic Approximation of Sine
10.2.4 The Chamberlin Resonator as a Sine Oscillator
10.2.5 Reducing the GUI Processing Burden
10.3 Developing Expander Modules
10.5 Storing and Recalling Module Information through JSON
10.5.1 Storing and Recalling JSON Data for AModalGUI
10.6 Versioning the Code and Managing a Git Repository
10.7 Getting into the Third-Party Plugin List
10.8 Making a Revenue out of Coding
Chapter 11: After Reading This Book
11.1 Forking the ABC Collection
11.2 Learn More about Virtual Analog Algorithms
11.3 Experiment with Novel Digital Algorithms
3.144.35.148