# libsonare > Audio engine built on a dependency-free C++ core compiled to WebAssembly: librosa-compatible analysis (BPM, key, chord, beat, section, melody, loudness), broadcast-grade mastering and mixing, room acoustics, built-in instruments (synth + SoundFont), and a headless-DAW/realtime runtime. Apache-2.0. libsonare runs entirely client-side in the browser (WebAssembly) and natively in Node.js, Python, the CLI, and C++. Every demo listed below is a live browser page that exercises the same core the native builds use. The links below point to the canonical HTML documentation. ## Demos and key pages - [libsonare home](https://libsonare.libraz.net/): Audio engine for C++, Python, and the browser, built on a dependency-free C++ core: librosa-compatible analysis, broadcast-grade mastering and mixing, explainable mixing and mastering assistants, 17 synthesis engines with a GM/GS fallback, and a headless-DAW/realtime runtime. - [All Demos](https://libsonare.libraz.net/demos.html): Browser-local demos for libsonare's dependency-free audio DSP toolkit: analysis, mastering, music analysis, mixing, realtime FX, room acoustics, instruments, a headless DAW, piano transcription, and piano practice via WebAssembly. - [Music Analysis Studio](https://libsonare.libraz.net/music-analysis.html): Browser-local music analysis powered by libsonare WebAssembly, with structure, harmony, melody, loudness, chroma, CQT, and spectrogram views. - [Piano Transcription](https://libsonare.libraz.net/transcribe.html): Turn a piano recording back into MIDI in the browser — the notes appear on a piano roll under the waveform they came from, every detector setting redraws the roll with what changed, and the result plays back through libsonare's built-in acoustic piano. - [Visual Player](https://libsonare.libraz.net/analyzer.html): Browser-local visual player powered by libsonare WebAssembly, with live chroma, spectrum, BPM, key, and chord views from the same dependency-free DSP toolkit. - [Spatial Room Scanner](https://libsonare.libraz.net/spatial.html): Browser-local 3D room and source estimation powered by libsonare WebAssembly — reconstruct room geometry, RT60 (reverberation decay time), clarity (early-to-late energy ratio), and source distance from a single recording. - [Mastering Studio](https://libsonare.libraz.net/mastering.html): Browser-local mastering studio powered by libsonare WebAssembly, with broadcast-grade loudness, true-peak, EQ, dynamics, repair, and reference tools. - [Mixing Studio](https://libsonare.libraz.net/mixing.html): Browser-local 8-track stem mixer powered by libsonare WebAssembly, with real-time-safe routing, faders, pan, width, metering, scene JSON, and WAV bounce. - [Realtime FX Lab](https://libsonare.libraz.net/realtime-fx.html): Browser-local realtime voice changer powered by libsonare's native voice-changer chain, with microphone pitch, formant (the vocal-tract resonance that carries perceived body and gender), brightness, character presets, speaker safety controls, and meters. - [Synth Playground](https://libsonare.libraz.net/synth.html): Play libsonare's native polyphonic synthesizer live in the browser — 70 unique presets across 17 synthesis engines, rendered locally in a WebAssembly AudioWorklet. Built-in instruments only, with no analysis or mastering in the signal path. - [Studio Mini](https://libsonare.libraz.net/studio.html): A tiny headless-DAW session in the browser — a DAW driven entirely through its engine API, with no GUI of its own. Step-sequence three NativeSynth tracks, mix with faders and meters, and bounce to WAV with libsonare's Project engine. - [Piano Practice](https://libsonare.libraz.net/practice.html): libsonare's built-in synth and SoundFont engines render single-track MIDI to audio entirely on-device — practice with falling notes scrolling toward a full-range keyboard that lights as each note lands, play along over Web MIDI with rhythm-game scoring, and re-render any passage slower without changing pitch. - [Step Bass](https://libsonare.libraz.net/step-bass.html): A sixteen-step monophonic bass machine, self-designated SB-1 — one oscillator into a diode-ladder lowpass, per-step accent and slide, driven by the engine's own transport. Every note is rendered in the browser and nothing is uploaded. - [GS Sound Module](https://libsonare.libraz.net/gs-module.html): A GM/GS tone module in the browser — give each of sixteen parts a sound, mix them, route any of them through one insertion effect, and drop a .mid to hear your own file play through it. Every SysEx byte the panel sends is shown as hex, and nothing is uploaded. - [Docs](https://libsonare.libraz.net/docs/introduction.html) ## Start Here - [Introduction](https://libsonare.libraz.net/docs/introduction.html) - [Audio Basics](https://libsonare.libraz.net/docs/glossary/concepts/audio-basics.html): Samples and sample rate, bit depth, mono/stereo, frequency and harmonics, time vs frequency domain, amplitude and dB, clipping, headroom, and latency in one practical guide. - [MIR Overview](https://libsonare.libraz.net/docs/glossary/concepts/mir-overview.html): How BPM, beats, key, chords, chroma, onsets, FFT, STFT, spectrograms, MFCC, CQT, VQT, HPSS, pitch, and sections fit together — and which libsonare feature answers which musical question. - [Learning Path](https://libsonare.libraz.net/docs/learning-path.html) - [Getting Started](https://libsonare.libraz.net/docs/getting-started.html) - [Installation](https://libsonare.libraz.net/docs/installation.html) - [Examples](https://libsonare.libraz.net/docs/examples.html) - [Feature Recipes](https://libsonare.libraz.net/docs/examples-recipes.html): Copy-paste recipes for every libsonare feature — BPM/key detection, all-in-one analysis, room acoustics, HPSS, audio effects, feature extraction, pitch detection, and streaming analysis — shown across the browser, Python, and CLI runtimes. - [Feature Map](https://libsonare.libraz.net/docs/api-surface.html) ## Use Cases - [Overview](https://libsonare.libraz.net/docs/use-cases.html): End-to-end walkthroughs of complete jobs, from stems to a delivered master to a piano recording turned into MIDI, as runnable CLI and Python sessions and JavaScript apps. - [Build Practice Tracks](https://libsonare.libraz.net/docs/use-cases/practice-tracks.html): Turn one recording into a slowed copy, a transposed copy, a harmonic/percussive split, and a chord-beat-section chart — a full practice kit from the CLI. - [Turn a Piano Recording into MIDI](https://libsonare.libraz.net/docs/use-cases/audio-to-midi.html): Transcribe a WAV or MP3 of a piano piece into a Standard MIDI File from the CLI, check the result against the score, tune it, and know why a band mix needs stem separation first. - [Clean Up Recordings](https://libsonare.libraz.net/docs/use-cases/recording-cleanup.html): A folder of rough takes — clipped, hummy, clicky, padded with dead air — measured, repaired only where the evidence says to, and trimmed, with a JSON record of what was found and what was done to each one. - [Produce a Spoken-Word Show](https://libsonare.libraz.net/docs/use-cases/spoken-word-show.html): Host, guest, and a music bed to a ducked, loudness-compliant episode — mix with the commentaryDucking preset, master with the speech chain, and verify from the CLI, one episode at a time. - [Mix and Master in the CLI](https://libsonare.libraz.net/docs/use-cases/cli-mix-and-master.html): A folder of stems to a platform-ready master without leaving the shell — suggest a scene, edit it, render it, check it, master it, and verify the result. - [Match a Reference Track](https://libsonare.libraz.net/docs/use-cases/reference-master.html): Close the tonal and loudness gap between your mix and a commercial reference, measurably, from the CLI — and know what a reference match cannot fix. - [Gate a Delivery in CI](https://libsonare.libraz.net/docs/use-cases/delivery-check.html): Turn "does this master pass?" into a script that exits non-zero when it does not, and that runs on every commit. - [Tune a Vocal Take](https://libsonare.libraz.net/docs/use-cases/vocal-tuning.html): Find which notes of a sung take are off and by how much, snap the whole take to a key from the CLI, see which notes that breaks, and retune note by note while keeping the vibrato. - [Build a Browser Mixer](https://libsonare.libraz.net/docs/use-cases/browser-mixer.html): Build a mixing-only web app from the Mixing Studio demo, with one project state driving both a live engine and an export render, stereo decoding, project files, and a source map. - [Build Controls from Parameter Descriptors](https://libsonare.libraz.net/docs/use-cases/parameter-controls.html): Turn the engine's parameter descriptors into a control surface — pick a widget per parameter, map linear and log scales onto a slider, bound one control by another, show band groups as they come into existence, lay out the mastering chain from catalog.chain, and send the values back. ## Analysis - [Music Analysis](https://libsonare.libraz.net/docs/analysis.html): Task guide to libsonare music information retrieval — the one-call analysis, beats and meter, key and chords, structure, melody, source separation, and which glossary page explains each result. - [Source Separation](https://libsonare.libraz.net/docs/source-separation.html): Separate harmonic and percussive structure, inspect NMF components, and preserve multichannel balance with linked masks. - [librosa Compatibility](https://libsonare.libraz.net/docs/librosa-compatibility.html) ## Instruments & MIDI - [Sound Sources](https://libsonare.libraz.net/docs/sound-sources.html): Why this engine ships no samples, what the four synthesis methods cost, and why a browser audio engine speaks a 1990s hardware protocol — the entrance to the Instruments and MIDI pages. - [Built-in Synthesizer](https://libsonare.libraz.net/docs/native-synth.html): Guide to libsonare's data-free patch-driven NativeSynth — its seventeen synthesis engines, the SynthPatch object, the named preset catalog, the GM fallback bank, and how to drive it offline and live, with copy-paste recipes. - [Physical Models](https://libsonare.libraz.net/docs/physical-models.html): How libsonare's physical-model voices work — the waveguide loop they share, the acoustic quantity each model is built around, with the identifiers, struct defaults and ranges the engine uses, and how far to trust them today. - [GM and GS](https://libsonare.libraz.net/docs/gm-gs.html): The NativeSynth GM fallback bank — GS variation tones, GM/GS drum-kit variants, following GM program changes, the GS architecture layer and its insertion effects, and SoundFont fallback routing. - [GM Tone Map](https://libsonare.libraz.net/docs/gm-tone-map.html): The data-free NativeSynth fallback voicing for every General MIDI program — instrument name, synthesis engine, and voicing notes for all 128 programs, family by family. - [SoundFont Player](https://libsonare.libraz.net/docs/soundfont-player.html): Render MIDI arrangements with real sampled sounds using libsonare's GS-compatible SoundFont 2 instrument — load your own SF2, play 16-part multitimbral MIDI, and use NativeSynth fallback so bounces and live playback never go silent. - [MIDI Input](https://libsonare.libraz.net/docs/midi-input.html): Play libsonare's realtime engine from a hardware keyboard — MIDI destinations, live note/CC queueing, CC-to-parameter bindings, panic recovery, Web MIDI setup, and a two-thread AudioWorklet recipe that makes a USB keyboard audibly play a synth. - [MIDI Editing](https://libsonare.libraz.net/docs/midi-editing.html): Build, validate, route, transform, and bake MIDI events in a Project. - [MIDI 2.0 & UMP](https://libsonare.libraz.net/docs/midi2.html): Use MIDI 2.0 UMP builders, live multi-word messages, and MIDI 2.0 Clip Files across libsonare bindings. ## Mixing - [Mixing Engine](https://libsonare.libraz.net/docs/mixing.html): Beginner-friendly guide to the libsonare mixing engine — channel strips, the in-strip signal flow, buses and sends, automation, metering, and realtime-safe rendering, with copy-paste recipes. - [Effects Inserts](https://libsonare.libraz.net/docs/effects-inserts.html): The creative-FX insert catalog for the libsonare mixing and realtime engine — reverb, modulation, delay, and saturation inserts with their parameter tables and build-flag gating, distinct from the named mastering processor registry. - [Mixing Assistant](https://libsonare.libraz.net/docs/mixing-assistant.html): The offline mixing assistant — it measures a set of tracks, returns a mixer scene with a written reason for every decision, and never touches the audio. - [Mixing Scene JSON](https://libsonare.libraz.net/docs/mixing-scene-json.html): The mixer scene exchange format — every strip, insert, send, bus, VCA, and connection field — the shipped JSON Schema, and an annotated built-in preset. - [Mixing Demo Project JSON](https://libsonare.libraz.net/docs/mixing-demo-project-json.html): The browser /mixing demo's project file (v2) — the whole mix state without audio, saved and reopened by the demo, with the v1 conversion; distinct from the mixer scene exchange format. ## Mastering - [Mastering Assistant](https://libsonare.libraz.net/docs/mastering-assistant.html): The libsonare explainable mastering helpers — masteringAudioProfile, masteringAssistantSuggest, and masteringStreamingPreview — with the exact JSON they return and how to turn a suggestion into a rendered master. - [Mastering Processors](https://libsonare.libraz.net/docs/mastering-processors.html): The named mastering API of libsonare — presets, solo processors, and pair/stereo analyses — with a goal-to-processor guide, kept in sync with the runtime registry. - [Mastering Implementation](https://libsonare.libraz.net/docs/mastering-implementation.html): How the browser mastering demo maps UI decisions to libsonare WASM processing — an offline repair step, a fixed insert chain on the realtime engine, and a three-lane A/B. ## Editing - [Audio to MIDI](https://libsonare.libraz.net/docs/audio-to-notes.html): Transcribe mono audio into MIDI events or write notes onto a Project tempo map. - [Note Editing in Audio](https://libsonare.libraz.net/docs/note-editing.html): Extract measured notes from audio, edit their NoteObjects, and render the edited signal. - [Editing DSP](https://libsonare.libraz.net/docs/editing-dsp.html) - [Spectral Editing](https://libsonare.libraz.net/docs/spectral-editing.html): Region-based STFT editing in libsonare: attenuate, mute, gain, or heal time-frequency rectangles from JavaScript/WASM and Python. ## Repair - [Audio Repair Workflow](https://libsonare.libraz.net/docs/audio-repair.html): Choose, measure, and apply libsonare's repair stages for noise, hum, transient damage, and diffuse reverb. - [Noise and Hum](https://libsonare.libraz.net/docs/repair-noise.html): Detect a noise floor or mains hum, choose the matching classical repair stage, and preserve channel relationships in libsonare. - [Clipping, Clicks, and Crackle](https://libsonare.libraz.net/docs/repair-transients.html): Detect and repair impulsive defects with libsonare's declip, declick, and decrackle stages, including their stereo contracts. - [Diffuse Reverb](https://libsonare.libraz.net/docs/repair-reverb.html): Measure a late diffuse tail, configure libsonare's offline classical dereverberator, and understand its room-estimate limits. ## Arrangement & Projects - [Project Editing](https://libsonare.libraz.net/docs/project-editing.html): Beginner-friendly guide to libsonare's headless-DAW edit API — the Project model, clip and track operations, offline monophonic vocal edits, undo/redo, the tempo map and time signatures, warp modes, automation, MIR write-back, compile diagnostics, JSON save/load, and SMF / MIDI 2.0 Clip File import-export, with copy-paste recipes. - [Vocal Editing](https://libsonare.libraz.net/docs/vocal-editing.html): Practical guide to libsonare's offline monophonic vocal session API — analysis, pitch edits, drafts, undo/redo, rendering, persistence, Worker execution, and applying a vocal result to a Project. - [Project MIDI](https://libsonare.libraz.net/docs/project-editing-midi.html): Project-level MIDI annotations, tempo, interchange, and links to clip editing, MIDI 2.0, transcription, and save/load. - [Project Save & Load](https://libsonare.libraz.net/docs/project-save-load.html): Compile a Project, serialize deterministic JSON, rebind audio sources, and import separated stems. - [Recording & Takes](https://libsonare.libraz.net/docs/recording-and-takes.html): How to capture audio from the libsonare realtime engine, take browser microphone input, record loop takes onto a project clip, comp the best parts across takes, and draw the recorded waveform — with copy-paste recipes. - [Bouncing Projects](https://libsonare.libraz.net/docs/project-bounce.html): Deterministic offline rendering of a libsonare Project — plain audio-clip bounces, MIDI through built-in and NativeSynth instruments, SF2 players, the Python external-instrument protocol, and writing the result to WAV. ## Realtime - [Realtime and Streaming](https://libsonare.libraz.net/docs/realtime-streaming.html): libsonare streaming APIs — StreamAnalyzer for live MIR frames and updating BPM/key/chord/pattern estimates, tempograms from streamed onset data, the AudioWorklet engine bridge, paged clip audio streaming, and display waveform peaks. - [Realtime Engine](https://libsonare.libraz.net/docs/realtime-engine.html): The libsonare RealtimeEngine reference — transport and telemetry, the realtime-safe lane mixer, group routing and sidechains, parameter automation, surround group buses with wide meters, sample-accurate MIDI clip scheduling, and routing a track to external MIDI gear. - [Realtime Voice Changer](https://libsonare.libraz.net/docs/realtime-voice-changer.html) ## Room Acoustics - [Acoustic Analysis](https://libsonare.libraz.net/docs/acoustic-analysis.html): How to use libsonare room-acoustic analysis, room estimation, RIR synthesis, and room-morph APIs. - [Inverse Features](https://libsonare.libraz.net/docs/inverse-features.html): libsonare inverse feature helpers — reconstruct an approximate STFT, mel spectrogram, or preview audio from mel/MFCC features via Griffin-Lim, with exact result shapes and the parameters you must keep. ## Playback - [Playback Renderer](https://libsonare.libraz.net/docs/playback.html): PlaybackRenderer turns decoded mono/stereo/5.1/7.1 movie audio into binaural headphone output or calibrated speaker output — upmix, loudness alignment, night mode, dialogue level, bass management, head tracking and room modeling, with a fixed reportable latency for audio/video sync. - [Channel Formats](https://libsonare.libraz.net/docs/channel-formats.html): How libsonare recognizes mono, stereo, 5.1 and 7.1 audio across its modules — canonical channel order, LFE handling, the ITU-R BS.775 downmix used for narrowing, and the one shared rule every module's own upmix uses for widening. ## API By Runtime - [Browser / WASM](https://libsonare.libraz.net/docs/wasm.html) - [Advanced Topics](https://libsonare.libraz.net/docs/wasm-advanced.html): Advanced browser integration for the libsonare WASM package, covering the built-in Web Worker client, hand-written worker patterns, performance tuning, and a React example. - [Streaming](https://libsonare.libraz.net/docs/wasm-streaming.html): The libsonare WASM streaming and realtime APIs — live StreamAnalyzer analysis with AudioWorklet integration, inverse reconstruction from mel/MFCC, StreamingRetune, and RealtimeVoiceChanger. - [JavaScript API](https://libsonare.libraz.net/docs/js-api.html): The libsonare JavaScript/TypeScript package reference hub, covering installation, import, initialization, errors, and a map of the per-subject reference pages. - [Analysis](https://libsonare.libraz.net/docs/js-api-analysis.html): Analysis functions, scale quantization, unit conversion, and resampling in the libsonare JavaScript/TypeScript package. Feature extraction and librosa-compatible helpers live on their own pages. - [Feature Extraction](https://libsonare.libraz.net/docs/js-api-features.html): STFT, mel/MFCC, chroma, spectral features, pitch detection, and the CQT/VQT/decomposition family in the libsonare JavaScript/TypeScript package. - [Helpers & Conversions](https://libsonare.libraz.net/docs/js-api-helpers.html): Argument-for-argument librosa ports for pre-emphasis, test-signal generation, spectral reconstruction, structure, segmentation, and tempograms in the libsonare JavaScript/TypeScript package, plus scale quantization, unit conversion, resampling, and chord functions. - [Effects](https://libsonare.libraz.net/docs/js-api-effects.html): Audio effects, editing DSP, and room-acoustics measurement and synthesis in the libsonare JavaScript/TypeScript package. - [Mastering](https://libsonare.libraz.net/docs/js-api-mastering.html): The mastering chain, named processors, presets, one-shot dynamics and repair processors, of the libsonare JavaScript/TypeScript package; the mixing API is on the audio page. Streaming processors and the chain config schema live on their own pages. - [Streaming & Realtime](https://libsonare.libraz.net/docs/js-api-streaming.html): Block-by-block EQ, pitch retune, the realtime voice changer, the streaming mastering chain, and the incremental StreamAnalyzer of the libsonare JavaScript/TypeScript package. - [Audio, Metering & Mixing](https://libsonare.libraz.net/docs/js-api-audio.html): The Audio class, offline metering, take alignment, mixer strips, and the mixing API of the libsonare JavaScript/TypeScript package. - [Types & Enums](https://libsonare.libraz.net/docs/js-api-types.html): Type definitions, enumerations, and the type export index of the libsonare JavaScript/TypeScript package. - [Python API](https://libsonare.libraz.net/docs/python-api.html) - [Analysis](https://libsonare.libraz.net/docs/python-api-analysis.html): Analysis functions, feature extraction, inverse reconstruction, metering, scale quantization, and conversion functions of the libsonare Python package. - [Effects & Acoustics](https://libsonare.libraz.net/docs/python-api-effects.html): Audio effects, room acoustics, the realtime voice changer, and librosa-compatible helpers of the libsonare Python package. - [Types](https://libsonare.libraz.net/docs/python-api-types.html): Result and option types of the libsonare Python package, with attribute names, matrix shapes, and JS parity aliases. - [CLI Reference](https://libsonare.libraz.net/docs/cli.html) - [Commands](https://libsonare.libraz.net/docs/cli-commands.html): Per-command reference for the sonare CLI, covering analysis, features, editing, mastering and repair, rooms, and synthesis, with a task-to-command table and each command's options and output. - [Utilities](https://libsonare.libraz.net/docs/cli-utilities.html): The low-level numeric, frame, and conversion helpers the native sonare CLI carries for librosa parity, with tune-to-midi and system-info. - [Examples](https://libsonare.libraz.net/docs/cli-examples.html): Shell walkthroughs for the sonare CLI, covering basic analysis, feature summary export, batch processing, mixing, and project and MIDI workflows. - [Node.js Native](https://libsonare.libraz.net/docs/native-bindings.html) - [Node.js Native API](https://libsonare.libraz.net/docs/node-api.html) - [Analysis](https://libsonare.libraz.net/docs/node-api-analysis.html): Analysis, effects, and feature-extraction functions of the @libraz/libsonare-native package. - [Types](https://libsonare.libraz.net/docs/node-api-types.html): TypeScript type definitions and the exported type index of the @libraz/libsonare-native package. - [C++ API](https://libsonare.libraz.net/docs/cpp-api.html) - [Streaming](https://libsonare.libraz.net/docs/cpp-api-streaming.html): Real-time, block-by-block audio analysis with StreamAnalyzer in the libsonare C++ interface. - [Analysis](https://libsonare.libraz.net/docs/cpp-api-analysis.html): Feature extraction, pitch tracking, CQT/VQT, and the core analysis result types in the libsonare C++ interface. - [Effects](https://libsonare.libraz.net/docs/cpp-api-effects.html): Audio effects, the mixing engine, editing helpers, and geometric room acoustics in the libsonare C++ interface. - [C ABI](https://libsonare.libraz.net/docs/cpp-api-c-abi.html): The libsonare C ABI for FFI integration, covering handles, analysis, effects, header index, engine, mastering, and mixing entry points. - [Binding Parity](https://libsonare.libraz.net/docs/binding-parity.html) - [Capability Catalog](https://libsonare.libraz.net/docs/capability-catalog.html) ## Understand The Details - [DSP Implementation Notes](https://libsonare.libraz.net/docs/dsp-implementation.html) - [Algorithm References](https://libsonare.libraz.net/docs/algorithm-references.html) - [Implementation Validation](https://libsonare.libraz.net/docs/implementation-validation.html) - [Architecture](https://libsonare.libraz.net/docs/architecture.html) - [Benchmarks](https://libsonare.libraz.net/docs/benchmarks.html) - [FAQ](https://libsonare.libraz.net/docs/faq.html) - [Glossary](https://libsonare.libraz.net/docs/glossary.html): A curated index for libsonare audio analysis, MIR, and browser mastering terms. - [Mixing Basics](https://libsonare.libraz.net/docs/glossary/concepts/mixing-basics.html): The vocabulary of mixing — tracks and strips, faders and gain staging, pan, inserts vs sends, buses, automation, and metering — explained for newcomers before they touch the libsonare mixing API. - [Editing Basics](https://libsonare.libraz.net/docs/glossary/concepts/editing-basics.html): The vocabulary of audio editing — pitch vs time, semitones and cents, MIDI note numbers, formant, and samples vs seconds — explained for newcomers before they touch the libsonare editing DSP. - [Browser Local Processing](https://libsonare.libraz.net/docs/glossary/concepts/browser-local-processing.html): What it means when libsonare says audio stays in your browser. - [Spectrogram and STFT](https://libsonare.libraz.net/docs/glossary/analysis/spectrogram-stft.html): FFT, STFT, windows, nFft, hopLength, spectrograms, and CQT/VQT — the time–frequency foundation almost every libsonare analysis feature is built on. - [Mel, MFCC, and Timbre](https://libsonare.libraz.net/docs/glossary/analysis/mel-mfcc-timbre.html): The mel scale, mel spectrograms, MFCCs, spectral centroid, and flatness — the features that describe what audio sounds like rather than which notes it plays. - [Onset Detection](https://libsonare.libraz.net/docs/glossary/analysis/onset-detection.html): Onsets, the onset-strength envelope, and transients — the root of the rhythm family that tempo, beat, and section analysis all grow from. - [Tempo and BPM](https://libsonare.libraz.net/docs/glossary/analysis/tempo-bpm.html): BPM, tempo, the tempogram, autocorrelation, and octave errors — how libsonare estimates how fast a track is from its onset envelope. - [Beats and Downbeats](https://libsonare.libraz.net/docs/glossary/analysis/beats-downbeats.html): Beat tracking, dynamic programming, meter phase, and downbeats — how libsonare places musical pulses on the timeline. - [Meter and Grouping](https://libsonare.libraz.net/docs/glossary/analysis/meter-and-grouping.html): Time signatures, beat units, and accent grouping — how estimateMeter scores a meter over a beat series you already have, and how to read its grouping, searched, candidateScores and candidates fields. - [Chroma Features](https://libsonare.libraz.net/docs/glossary/analysis/chroma-features.html): Chroma, pitch classes, and chromagrams — how libsonare folds the spectrum into 12 note bins to power key and chord analysis. - [Key Detection](https://libsonare.libraz.net/docs/glossary/analysis/key-detection.html): Tonal center, major/minor mode, chroma profiles, and confidence — how libsonare estimates the key of a track. - [Chord Recognition](https://libsonare.libraz.net/docs/glossary/analysis/chord-recognition.html): Chord templates, beat-synchronous chroma, smoothing, and confidence — how libsonare turns chroma into chord segments. - [Melody and Pitch](https://libsonare.libraz.net/docs/glossary/analysis/melody-pitch.html): Fundamental frequency (F0), pitch tracking, YIN and pYIN, monophonic vs polyphonic, and voicing — how libsonare follows the melody line. - [Section and Structure](https://libsonare.libraz.net/docs/glossary/analysis/section-structure.html): Boundaries, self-similarity, repeated sections, energy, and vocal likelihood — how libsonare labels song sections. - [Channel Strip](https://libsonare.libraz.net/docs/glossary/mixing/channel-strip.html): The channel strip signal order — trim, polarity, delay, EQ, inserts, fader, pan, width, and sends — and why the order decides what every control does. - [Buses and Sends](https://libsonare.libraz.net/docs/glossary/mixing/buses-sends.html): Buses, the master/aux/subgroup roles, pre- vs post-fader sends, FX buses, and VCA groups — how libsonare routes and groups signals. - [Pan and Stereo Width](https://libsonare.libraz.net/docs/glossary/mixing/pan-width.html): Pan position, pan modes, pan law, and stereo width — how libsonare places a track across the stereo field and controls its image. - [Automation and Metering](https://libsonare.libraz.net/docs/glossary/mixing/automation-metering.html): Automation lanes, curve types, goniometer, correlation, and true-peak metering — how a libsonare mix moves over time and how you watch it. - [Time Stretch and Pitch Shift](https://libsonare.libraz.net/docs/glossary/editing/phase-vocoder-stretch.html): The phase vocoder, resampling, the time/pitch trade, and why large moves create artifacts — how libsonare changes duration and pitch independently. - [Pitch Correction and Note Editing](https://libsonare.libraz.net/docs/glossary/editing/pitch-correction.html): MIDI-targeted pitch correction, note regions, and sample-accurate edits — how libsonare nudges a sung note toward a target and reshapes regions. - [Voice and Formant](https://libsonare.libraz.net/docs/glossary/editing/voice-formant.html): Formants, the vocal tract, pitch vs formant independence, and voice change — how libsonare reshapes vocal character without retuning the note. - [Synthesis Basics](https://libsonare.libraz.net/docs/glossary/instruments/synthesis-basics.html): What a synthesizer actually does — oscillators, waveforms, filters, and amplifiers — and the seventeen synthesis families NativeSynth offers, explained from scratch for newcomers. - [Envelopes and Modulation](https://libsonare.libraz.net/docs/glossary/instruments/envelopes-modulation.html): Modulation means something changing over time — ADSR and DAHDSR envelopes, one-shot notes, filter envelopes, LFOs, per-voice drift, velocity, key tracking, and the mod matrix that routes them, explained for newcomers. - [MIDI Basics](https://libsonare.libraz.net/docs/glossary/instruments/midi-basics.html): MIDI carries performance instructions, not audio — note-on/off, velocity, channels, Control Change, Program Change, General MIDI, pitch bend, and the newer MIDI 2.0 / SMF formats, explained for newcomers. - [SoundFont and Sampled Instruments](https://libsonare.libraz.net/docs/glossary/instruments/soundfont.html): Sampled instruments play back recorded audio organized into banks and programs — what a SoundFont (.sf2) is, how General MIDI addresses it, and how libsonare falls back to NativeSynth so MIDI never renders silent. - [GM and GS](https://libsonare.libraz.net/docs/glossary/instruments/gm-gs.html): What a standard that assigns numbers to instruments actually promises — program numbers, the drum channel, Bank Select and variation tones, what GS adds on top of GM — and why libsonare speaks GS as a way to address physical-model voices rather than to imitate a sound module. - [Physical Modeling](https://libsonare.libraz.net/docs/glossary/instruments/physical-modeling.html): Physical modeling computes the instrument rather than replaying a recording of it — the digital waveguide, why expression becomes continuous instead of switched, the cost inversion against sampling, and the acoustic models libsonare builds this way. - [Clips and Tracks](https://libsonare.libraz.net/docs/glossary/arrangement/clips-and-tracks.html): The project model behind a DAW arrangement — tracks, clips, the musical timeline, and how a MIDI track routes to an instrument — explained from scratch for newcomers to libsonare's editing engine. - [Takes and Comping](https://libsonare.libraz.net/docs/glossary/arrangement/takes-and-comping.html): What takes and comping mean in a DAW — recording a part several times and stitching the best moments into one performance — explained for beginners, then connected to libsonare's clip and edit-compiler model. - [Warp and Tempo Sync](https://libsonare.libraz.net/docs/glossary/arrangement/warp-and-tempo.html): How warping makes an audio clip follow the project tempo — the off, repitch, tempo-sync, and time-stretch modes, warp anchors, and the tempo map — explained from scratch for newcomers to libsonare's editing engine. - [Bounce and Rendering](https://libsonare.libraz.net/docs/glossary/arrangement/bounce-and-rendering.html): What it means to bounce or render an arrangement to a finished audio file — offline deterministic mixing through the mixer scene, binding instruments to MIDI tracks, and latency compensation — explained for newcomers to libsonare. - [Streaming Analysis](https://libsonare.libraz.net/docs/glossary/realtime/streaming-analysis.html): Blocks, frames, hops, updating estimates, and compact frame reads — how libsonare's StreamAnalyzer turns a live audio stream into UI-ready features. - [Realtime Engine](https://libsonare.libraz.net/docs/glossary/realtime/realtime-engine.html): Transport, clip scheduling, the metronome, automation playback, and telemetry — what libsonare's RealtimeEngine does beyond analysis. - [Realtime Safety](https://libsonare.libraz.net/docs/glossary/realtime/realtime-safety.html): The audio callback, why allocation and locks are forbidden, denormal guards, and the AudioWorklet — what "real-time-safe" means and how libsonare achieves it. - [Reverberation Time](https://libsonare.libraz.net/docs/glossary/acoustics/reverberation-time.html): RT60 and early decay time — how long a room's tail takes to fade, why the two measures disagree, and what they reveal about a space. - [Clarity and Definition](https://libsonare.libraz.net/docs/glossary/acoustics/clarity-definition.html): C50, C80, and D50 — early-to-late energy ratios that measure whether a room keeps speech and music articulate or smears it into the tail. - [Source Distance and DRR](https://libsonare.libraz.net/docs/glossary/acoustics/source-distance.html): Direct-to-reverberant ratio, critical distance, and source distance — how one channel reveals how far a source is, but not which direction. - [Spaced Receivers and Coherence](https://libsonare.libraz.net/docs/glossary/acoustics/spaced-receivers.html): How libsonare's room functions turn one room into a stereo pair — two omnidirectional receivers a set distance apart, and the frequency-dependent coherence between their reverb tails. - [Room Geometry and Volume](https://libsonare.libraz.net/docs/glossary/acoustics/room-geometry.html): Estimated dimensions and volume — the equivalent shoebox room that reproduces a measured decay, and why it is acoustic, not architectural. - [Per-Band Decay and Absorption](https://libsonare.libraz.net/docs/glossary/acoustics/absorption-bands.html): Why rooms decay faster at high frequencies — per-band RT60, absorption coefficients, and what the band-by-band tail reveals about surfaces. - [Inverse Room Estimation](https://libsonare.libraz.net/docs/glossary/acoustics/inverse-estimation.html): Impulse-response vs blind estimation, and the confidence score — how libsonare recovers a room from a recording and how far to trust the result. - [What Is Mastering?](https://libsonare.libraz.net/docs/glossary/concepts/what-is-mastering.html): A practical explanation of mastering, what it can fix, and what it should not be expected to fix. - [The Mastering Chain](https://libsonare.libraz.net/docs/glossary/mastering.html): The order libsonare's mastering chain runs its stages in, and how the browser demo exposes it. - [LUFS](https://libsonare.libraz.net/docs/glossary/lufs.html): Loudness Units relative to Full Scale for mastering and streaming targets. - [True Peak](https://libsonare.libraz.net/docs/glossary/true-peak.html): Why true peak limiting matters for browser and streaming mastering. - [Loudness Matching and A/B Comparison](https://libsonare.libraz.net/docs/glossary/concepts/loudness-matching.html): How to run a level-matched A/B comparison between source and mastered audio, what to listen for, and when to turn matching off. - [Reference Track](https://libsonare.libraz.net/docs/glossary/concepts/reference-track.html): How to use a reference track without blindly copying another master. - [True Peak Safety](https://libsonare.libraz.net/docs/glossary/concepts/true-peak-safety.html): How true-peak margin prevents clipping after reconstruction, codec conversion, and streaming playback. - [Dynamic Range](https://libsonare.libraz.net/docs/glossary/concepts/dynamic-range.html): The musical distance between quiet and loud parts, and why mastering should manage it rather than erase it. - [Crest Factor](https://libsonare.libraz.net/docs/glossary/concepts/crest-factor.html): The gap between peak level and average level, and how it helps interpret density and transient control. - [Mono Compatibility](https://libsonare.libraz.net/docs/glossary/concepts/mono-compatibility.html): Why stereo width should still survive mono playback and phase cancellation. - [Gain Staging](https://libsonare.libraz.net/docs/glossary/concepts/gain-staging.html): Keeping signal levels sensible before, during, and after mastering. - [Air Band](https://libsonare.libraz.net/docs/glossary/air-band.html): High-frequency air-band processing for mastering and AI-generated sources. - [Meters](https://libsonare.libraz.net/docs/glossary/mastering/meter-reading.html): How to interpret LUFS, peak, crest factor, correlation, phase, and stereo image together. - [Delivery Targets](https://libsonare.libraz.net/docs/glossary/mastering/delivery-targets.html): How platform loudness targets, true-peak ceiling, and custom LUFS choices affect a rendered master. - [Dynamics](https://libsonare.libraz.net/docs/glossary/mastering/dynamics.html): How threshold, ratio, attack, release, and knee shape mastering compression. - [Stereo and Loudness](https://libsonare.libraz.net/docs/glossary/mastering/stereo-limiter-loudness.html): How width, true-peak limiting, loudness target, and output rendering finish the master. - [Tone and Air](https://libsonare.libraz.net/docs/glossary/mastering/tone-air.html): How tilt EQ, exciter amount, and air-band amount shape brightness and openness. - [Reference Match](https://libsonare.libraz.net/docs/glossary/mastering/reference-match.html): How to use a finished release as a calibration target without copying it blindly. - [Preset Selection](https://libsonare.libraz.net/docs/glossary/mastering/preset-selection.html): How to choose among the genre presets and the five repair-only restoration presets (vinyl, tapeHiss, fieldRecording, voiceMemo, shellac78) without treating presets as magic. - [Crossover Slope and Mode](https://libsonare.libraz.net/docs/glossary/mastering/crossover.html): How libsonare's multiband processors split a signal into bands — the slope in dB per octave, the Linkwitz-Riley, Butterworth, Bessel and linear-phase FIR modes, and what each costs in latency, phase and flatness. - [Repair and Input](https://libsonare.libraz.net/docs/glossary/mastering/repair.html): The six-stage repair chain and why its order is fixed, the denoise depth key, and how input gain and denoise prepare a source before mastering. - [Quality Checklist](https://libsonare.libraz.net/docs/glossary/mastering/quality-checklist.html): A practical final check before exporting a mastered file. - [Error Recovery](https://libsonare.libraz.net/docs/glossary/mastering/error-recovery.html): What to do when a file cannot be decoded, rendering fails, or the result sounds wrong. ## Other languages - [Japanese (日本語)](https://libsonare.libraz.net/ja/llms.txt): The same index in Japanese (日本語).