Skip to content

A field guide to the JUCE C++ framework

Learning JUCE

JUCE is how a lot of audio software gets written: plug-ins, hosts, and standalone apps in C++ that build for every major platform. It is a big codebase with its own vocabulary. This site is a map of it.

It is written from reading the source, and every claim cites the file or page it came from. Module diagrams are generated from the module headers, so they follow the code. Where a chart is computed from a formula rather than measured, the caption says so.

  • Get oriented. What JUCE is for, and the five ideas behind it.
  • See how it fits together. Layers, threads, and how a plug-in is called.
  • Learn by doing. Tutorials and a staged learning path.

What is JUCE?Module mapTutorials

What this shows: one call to processBlock(). A signal enters the audio thread in fixed-size blocks (blue) and leaves processed (pink), here with a gentle low-pass that softens the fastest wiggles. The signal is synthetic and the 48 kHz and 512-sample figures are typical values, not measurements. See the audio thread.

Personal study notes on JUCE. Not affiliated with or endorsed by the JUCE team.