Skip to content

Use Cases ​

Each page here carries one complete job from the material you have to the result you want. Most are CLI sessions you can paste into a terminal; the note and voice pages add a Python step, and the app pages are JavaScript built on the WASM package.

Every command on these pages was run against the current engine, and the numbers shown are the numbers it printed. Most of the test material is synthetic and deliberately simple, so expect the pages to point out where it misleads a detector.

Pick the job ​

New to audio? Start with Build Practice Tracks. It needs one song file, every step is a single command, and you can hear each result straight away. The table runs from easiest to hardest, and each page builds on vocabulary from the ones above it.

LevelYou haveYou wantRuntimePage
1A song you are learningSlowed, transposed, and separated practice tracksCLIBuild Practice Tracks
2A WAV or MP3 of a piano pieceThe notes as a MIDI file, checked against the scoreCLI + PythonTurn a Piano Recording into MIDI; try it first in Piano Transcription
2A pile of rough recordingsClean takes, with a record of what was wrongCLIClean Up a Batch of Recordings
2Host, guest, and a music bedA ducked, loudness-compliant episodeCLIProduce a Spoken-Word Show
3A folder of stemsA finished, platform-ready masterCLIMix and Master a Song in the CLI
3A mix and a commercial track you admireYour mix sitting in the same tonal and loudness territoryCLIMatch a Reference Track
3A master about to be deliveredA pass/fail gate that runs in CICLIGate a Delivery in CI
3A vocal take with a few flat or sharp notesThose notes on pitch, the vibrato kept as sungCLI + PythonTune a Vocal Take
4Local stems and a web app interfaceInteractive mixing and a WAV downloadJavaScript (WASM)Build a Browser Mixer
4An app that hosts inserts or a mastering chainControls generated from the engine's own parameter descriptorsJavaScript (WASM)Build Controls from Parameter Descriptors

Level 1 is one command per step. Level 2 adds a batch script, a preset you edit, or a short Python script that scores a result. Level 3 chains several stages and asks you to judge loudness and tone. Level 4 is application code. If a term on a page is new, Audio Basics and Mixing Basics cover the vocabulary.

Every page opens with a What you need box: the files, their format, and the install line. Where a page's material is synthetic, the box carries a short script that writes equivalent test files, so you can run every step before you point it at your own audio.

What the CLI pages assume ​

The CLI walkthroughs use the Python CLI (pip install libsonare). Two CLI properties shape them and are covered in full in the CLI Reference:

  • Not every command is on both CLIs. The scene mixer (mix), the preset-driven master and mastering-chain, and declip are Python-CLI only; the low-level metering commands (meter, clipping, phase, stereo, dynamic-range) are native-CLI only. See Which CLI Are You Using?.
  • Most commands are mono by nature. Mixing and mastering keep a stereo pair end to end; most measurement commands downmix and say so on stderr. This is why these pages read loudness out of a mastering report rather than off a separate lufs call. See Stereo and Mono Handling.

Every command takes --json, and every failure maps to a documented exit code, so each walkthrough can run unattended in a script.

The CLI + Python pages run the same Python package (Python 3.11 or later). The Node tabs on the CLI pages and the JavaScript pages use the WebAssembly npm package, npm install @libraz/libsonare (Node.js 22.12 or later), as in Getting Started. Each Node and Python tab shows how its audio is loaded, so every variable in it is defined.

Reaching for an API instead

A use case that ends in a UI, a plugin, or a realtime path belongs in an API, not a shell script. Start from JavaScript API, Python API, or C++ API; the concepts are the same and the pages here cross-link to the matching guide at each step.