# From ode to sound

> How the Songcode Audio Engine turns each part of a song into what you hear. Reading, timing, the mix, effects, the output and export.

This page follows a song through the Songcode Audio Engine, from text to speakers, and says which part of the ode decides each step. [The language](https://docs.songco.de/ode/language/) and [rows and settings](https://docs.songco.de/ode/rows-and-settings/) are the reference for the words themselves.

## Reading

The engine reads the song top to bottom before a sound is made. The plan (`tempo`, `key`, `form`, `chords`) sets the grid every stem plays on. Each stem's rows become notes: a step grid becomes hits, a pitch row takes its notes from the key and the chord in force that bar, and a line of notes plays exactly what it says.

The read is strict. A word, a sound or a unit that does not exist is an error, and so is a bar whose steps or lengths do not add up. Every message names the line, which is how Songcode fixes its own songs and how you find a typo. See [errors](https://docs.songco.de/app/code/#errors) for what the messages look like.

## Timing

Time is counted in bars and steps from the plan. `form` lays out the sections, the arrange table says which stems play in which section, and a block such as `in intro { silent }` changes one stem for part of the song. Swing and feel move notes off the grid by the amounts the song asks for, the same way on every play.

Anything left to chance follows the song's seed, so a hat that plays "sometimes" plays the same sometimes every time.

## The session

Every stem becomes a channel strip: a fader, a pan, mute, solo and a meter. That is what the [stems view](https://docs.songco.de/app/stems/) shows. The mix table sets each strip's level and pan, and its rows can change through the song, so the faders move as it plays.

The session goes both ways. Moving a fader or a pan knob, or muting a stem, writes the mix table. Drawing a note in the [stem editor](https://docs.songco.de/app/stem-editor/) writes the stem's rows. Solo is the Studio's alone and never touches the text.

A `duck` row in the mix table lowers one stem under another, such as the bass under the kick, and its delay and room duck with it.

## Sound

Each note starts from a source: an oscillator, a noise, or a short recording. The stem's settings shape it: its envelope, its filter, its tone and its effects. Then it goes to the stem's strip. [Rows and settings](https://docs.songco.de/ode/rows-and-settings/#settings) lists every setting a stem can carry.

## The output

Every strip is mixed into one output with a limiter at -1 dB, so a loud song stays clean. The [level meter](https://docs.songco.de/app/playback/#the-level-meter) in the Studio shows that output.

## Export

A download plays the same session into a file instead of the speakers, through the same mixer and effects. WAV, MP3 and separate stems come out of the engine in your browser. MIDI is the notes alone, read from the song without sound. See [files and export](https://docs.songco.de/app/export/).

---

This page on the web: https://docs.songco.de/audio-engine/ode-to-sound/
Every page of the Songcode docs, for agents: https://docs.songco.de/llms.txt (index) and https://docs.songco.de/llms-full.txt (all of it in one file).
