Cadmium

A pattern-based digital audio workstation.

C++ audio engine/VST3 host/Linux & Windows/GPL-3.0

Write a riff in the channel rack or the piano roll, arrange the patterns on the playlist, mix with sends and sidechains. The engine is C++ and owns the audio thread outright; the interface is Godot and owns editing, undo and the file on disk.

Rendering is the same code path as playback with the transport driven by a loop instead of the sound card, so an export sounds exactly like the mix.

Arrange

Playlist

Patterns, audio and automation on as many tracks as you want. Every clip draws what it holds, so a track reads as the part it plays rather than as a row of identical boxes.

Clips resize from either end. The far end trims the tail; the near end trims the head and takes what is played with it, so what is still showing stays where it was.

Cadmium - pattern clips arranged across playlist tracks, channel rack below

Write

Piano roll

Draw a note and carry it: any direction, pitch and time at once. The lane underneath edits velocity, pan or fine pitch on whichever notes you point at.

Its own menu carries scores and MIDI, both of which land in the pattern you are editing rather than rebuilding the project around themselves.

Cadmium - the piano roll editing a pattern, velocity lane underneath

Mix

Mixer

Inserts, pre- and post-fader sends, and routing that is a graph rather than a list, which is what a sidechain is actually made of.

A ceiling sits on the master by default, because the cost of it being there is nothing and the cost of it not being there is a pair of ears.

Cadmium - the mixer with inserts, sends and routing

Also in the box

And the rest of it

  • Channel rackStep sequencing per channel, with layering.
  • AutomationAny control, several at once from one curve.
  • SamplerPer-sample settings, the way a clip gets a channel.
  • SoundFontSF2 player with a shared sample cache.
  • PrismPlays a picture as a spectrogram.
  • ConvolutionImpulse responses normalised on load.
  • ScoresA pattern saved on its own, with pan and fine pitch.
  • PortabilityPlugins found by class id, not by saved path.

Listen

Scope and analyser

The master output is kept as it goes past, so the scope and the spectrum are reading the mix itself rather than an approximation of it.

Cadmium - the scope and spectrum analyser

Technical

Specification

EngineC++ GDExtension, Godot 4.7
Audio threadOwns transport, sequencer, mixer graph, render
Stock processors45 — 13 instruments, 32 effects
Plugin formatVST3, editors embedded in-window
MIDI inALSA sequencer (Linux), winmm (Windows)
Score format.cdscore, plus MIDI import and export
RenderWAV, FLAC, AIFF, MP3, OGG, Opus, AAC
PlatformsLinux x86_64, Windows 10/11
LicenceGPL-3.0-or-later (free software)

Unzip and run. Everything travels in the folder: the engine library, the General MIDI soundfont, the FLARE banks and the licences.

See the standard project page →