SPANDAN: Audio DSP Engineering Blog
Welcome to the official documentation and development blog for Project SPANDAN (स्पंदन). Here, we break down the telecommunications mathematics, digital signal processing (DSP), and C++ implementation of our real-time deterministic polyphonic synthesizer built with JUCE.
📚 Master Table of Contents
Core Engineering Chapters
- 🎵 Chapter 1: The Heartbeat of Sound – Numerically Controlled Oscillator (NCO)
- Topics: Phase Accumulation, Sample Rate Snapshots, Bipolar Waveshaping (Sine, Saw, Square, Triangle), and Modulo-Free Loop Optimization.
- ⏳ Chapter 2: The Sculpture of Time – Analog-Modeled ADSR Envelopes
- Topics: Psychophysics of Hearing, De-clicking Engines, Moog-Ussachevsky RC Physics, Target Overshoot Optimization, and FSM Gate Logic.
- 🎛️ Chapter 3: The Architecture of Timbre – Dual-Oscillator Superposition & TPT State-Variable Filter
- Topics: Logarithmic Cents Detuning, Topology-Preserving Transform (TPT) Filters, Zero-Delay Feedback (ZDF), and Lock-Free SPSC Ring Buffers.
- 🎹 Chapter 4: The Symphony of Concurrency – Polyphonic Voice Allocation & FM Synthesis
- Topics: FM Synthesis Mathematics (Bessel Functions), 0 dBFS Headroom Management, Algorithmic Voice Stealing, and JUCE Voice Thread Safety.
- 📈 Chapter 5: The Optics of Sound – Real-Time Radix-2 FFT & Lock-Free Visual Analytics
- Core Topics: Cooley-Tukey Radix-2 FFT ($\mathcal{O}(N \log_2 N)$), Hann Windowing, Decibel & Logarithmic Pixel Mapping, Lock-Free Single-Producer Single-Consumer (SPSC) Ring Buffer.
- 🧩 Chapter 6: The Architecture of Dynamic DSP – C++ Polymorphism, Real-Time Constraints, & Lock-Free Object Pools
- Core Topics: Real-Time Thread Constraints, Vtable Overhead & Cache Locality, Prohibition of Heap Allocations (
new/malloc), Pre-Allocated Fixed-Capacity Object Pools, Lock-Free Dynamic Module Routing.
- Core Topics: Real-Time Thread Constraints, Vtable Overhead & Cache Locality, Prohibition of Heap Allocations (
- 🖥️ Chapter 7: The Canvas of Modular Control – Dynamic JUCE Component Architecture, Viewports, & Collapsible Panels
- Core Topics: Scrollable
juce::ViewportCanvas Layouts, Dynamic Component Allocation viastd::unique_ptr, Thread-Safe APVTS Parameter Attachments, Modular Component Re-Ordering, Collapsible Panel Height Calculation.
- Core Topics: Scrollable
- ⚛️ Chapter 8: The Quantum Canvas – Bandlimited Wavetable Synthesis, Wave Morphing, Preset State Management, and Production VST3/AU/Standalone Deployment
- Core Topics: Bandlimited Wavetable Synthesis, Nyquist Aliasing Mitigation & Lanczos Sigma Factor Correction, 2D Equal-Power Wave Morphing, Asymmetric Phase Distortion,
juce::AudioProcessorValueTreeState(APVTS) Thread-Safe Preset Management, SIMD Alignment (alignas(64)), and Multi-Format Production Deployment (VST3/AU/Standalone via MSVC & LLVM).
- Core Topics: Bandlimited Wavetable Synthesis, Nyquist Aliasing Mitigation & Lanczos Sigma Factor Correction, 2D Equal-Power Wave Morphing, Asymmetric Phase Distortion,
🔬 Advanced & Supplementary DSP Guides
- 📈 One-Pole Recursive Filter & Linear Interpolation
- Topics: Exponential Smoothing, Z-Transform Analysis, 3 dB Cutoff Parameterization, and Parameter Smoothing for UI Controls.
📖 Literature & Academic References
- 📚 Bibliography & Academic Sources
- Comprehensive chapter-by-chapter mapping of academic research papers, textbooks, and technical manuals used in SPANDAN, complete with links to official publication landing pages.