Marketplace

Your one-stop shop for JUCE modules, tools, assets and resources

projet μ: A UNIX-centric introduction to audio programming and DSP

projet μ: A UNIX-centric introduction to audio programming and DSP image

A UNIX-centric introduction to audio programming and DSP from scratch, with practical examples using low-level C and the JACK Audio Connection Kit.

projet μ is a free online textbook about the basics of audio DSP and audio programming in low-level C.

Each unit is practical and goal-oriented: we build a small audio toy from scratch, learn the necessary theory and techniques, but keep the math and implementations explicit to build a low-level intuition. The goal isn't to cover everything, but to build a good fundation to explore deeper topics independently.

The online textbook isn't directly talking about JUCE, but it will help you understand how JUCE works in low level. We will use a Linux environment (or macOS, BSDs, MSYS/MinGW on Windows) and the JACK Audio Connection Kit to write the examples in C, but they can be easily translated to any framework and any programming language.

Prerequisites:

  1. C programming and familiarity with UNIX shell utilities
  2. Integral calculus
  3. Geometric understanding of complex numbers (you need to know what e^iθ means geometrically)

Topics covered:

  • wave: WAV audio format, basic DSP theory
  • wave♯: WAV file loading, AMDF pitch estimation
  • osc (part i): oscillators, phasors, JACK Audio Connection Kit, joystick interface
  • osc (part ii): Fourier series, aliasing, wavetable synthesis, bandlimited oscillators
  • osc♯: 2D wavetable, wave terrain synthesis
  • mix: Open Sound Control (OSC), parameter smoothing, the decibel (dB) scale.
  • adsr: ADSR envelope generators
  • ctrl: thread safety, inter-thread communication, ring buffers.
  • delay: delay/echo effects, basic FIR and IIR filters
  • delay♯: Karplus-Strong algorithm, simple digital waveguide synthesis
  • dft: Discrete Fourier Transform (DFT/FFT), connection between discrete-time and continuous-time Fourier transforms, the Fourier cube
  • spectrm: audio spectrum visualization, framebuffer rendering, DFT of real signals, the FFTW library
  • spectrm♯: DFT spectral leakage, windowing, zero-padding
  • reverb: artificial reverb algorithms, convolution
  • ext: dynamic linking, audio plugins (LADSPA, LV2, VST, CLAP, etc.)
  • denormal: IEEE 754 denormal/subnormal numbers, floating point optimization
  • ...
About
Published by
Organisation
Added onMon Feb 16 2026
LicenseMIT License
Secondary LicenseThe Unlicense

Something wrong with this product?

Report

Are you the owner of this product?

Request Ownership