Highlights ✨
Renamed to Jive Vocals
The project is now Jive Vocals (formerly Jivetalking). The binary, module path, assets, CLI name, and TUI wordmark all move from jivetalking to jive-vocals. The benchmark env var is now JIVE_VOCALS_BENCH_FIXTURE. The voice emoji changed from 🕺 to 🗣️ .
Action needed: the installed binary is now jive-vocals. Reinstall with just install and update any scripts that call the old name.
Exit codes
Jive Vocals now exits 1 when any file fails to process or analyse, so CI and batch scripts can detect failures. User cancellation (q or Ctrl+C) still exits 0. See the new Exit Codes section in the docs.
Faster analysis and smoother TUI
- Speech and noise band analysis run in parallel behind a shared semaphore.
- The afftdn noise-band pass is skipped when the custom profile cannot be used.
- The TUI reuses cached queue rows and pre-rendered active rows to cut redraw work.
Fixes
- Dynamic range diagnostics restored in the report and JSON (
dynamic_range_db). - Run-record JSON now round-trips: emitted JSON rebuilds elected profiles and normalisation data.
- Run-record data is snapshotted before serialising, so late processing cannot corrupt it.
- Help text wraps to the terminal width, so narrow panes no longer overflow.
- Status boxes align with the filter chain (true peak moved to the first row).
- Nil config, measurements, and output paths are guarded during processing.
Maintenance
- Updated ffmpeg-statigo to v8.1.2.0.
- Broad internal cleanup: extracted the limiter module, typed run-record DTOs, shared region/spectral/metric helpers, British English spelling, and removed dead code.
- Dependency bumps: nixpkgs, actions/checkout v7, github/codeql-action v4.36.2.
Changes since 0.6.1
- chore: update gif (a4adcb1)
- chore: rebrand emoji from 🕺 to 🗣️ (98fb953)
- refactor: remove dead code and simplify internal structures (897277c)
- fix: wrap terminal output and guard nil processing paths (acc535b)
- perf: reduce analysis and redraw overhead (77f6044)
- fix(ui): align status boxes with filter chain (4026601)
- chore: update ffmpeg-statigo to v8.1.2.0 (8ef2dfa)
- fix(report): restore dynamic range diagnostics (19c59bd)
- chore: drop harper dictionary (db1e05c)
- fix: address review feedback across CLI, pools, UI, and docs (a5d65da)
- fix(processor): include dynamic range in diagnostics JSON (3737b02)
- refactor(processor): extract shared region measurement runner (19db458)
- refactor(processor): remove VAD axis indirection (51734ca)
- refactor(report): centralise metric descriptors (556d93e)
- refactor(processor): deduplicate spectral metric handling (28e618e)
- fix(processor): restore run-record JSON round-trip (41e61db)
- fix(processor): snapshot run record data before serialising (37c2799)
- refactor(processor): use typed DTOs for run record serialisation (fd31bc3)
- refactor: remove dead analysis and normalisation code (ab85c17)
- refactor: polish comments across processor, audio, report, and ui modules (4383d9d)
- refactor: extract limiter derivation to separate module (700958a)
- refactor: rename project to Jive Vocals (77a2537)
- fix(go): don't ping point release (cb8117a)
- chore: update ffmpeg-statigo to v8.1.1.3 (ac6dbf1)
- fix: exit 1 when any file fails to process or analyse (29f8fd7)
- refactor: consolidate limiter derivation and guard duration sentinel (b17f405)
- chore(deps): bump nixpkgs from
567a49dtob5aa0fb(a13ea36) - chore(deps): bump the github-actions group across 1 directory with 2 updates (9593f43)
- refactor: remove dead code and consolidate config derivation (6fb0b3d)
- docs: reframe Levelator medium-term levelling gap as tested-and-rejected (8d7c074)
- docs: rewrite Levelator comparison against current pipeline and primary sources (117a39f)
Installation
Download the appropriate binary for your platform below, make it executable, and move it to ~/.local/bin (on PATH for most shells, no root required):
# Linux (amd64)
chmod +x jive-vocals-linux-amd64
mkdir -p ~/.local/bin && mv jive-vocals-linux-amd64 ~/.local/bin/jive-vocals
# macOS (Apple Silicon)
chmod +x jive-vocals-darwin-arm64
mkdir -p ~/.local/bin && mv jive-vocals-darwin-arm64 ~/.local/bin/jive-vocalsChecksums
SHA256 checksums are provided below for verification.