Skip to main content

Uncompose Compare

Honest, local-first A/B listening for two audio files.

When you have produced two derived versions of a piece of audio — two separations, two masters, two renders — there is no honest way to judge them in an ordinary player: switching files loses your position, hides small differences behind resync gaps, and leaves no trace of what you heard or decided. Uncompose Compare loads exactly two files, lets you listen to the same moment in either one with zero drift, loop the region where the difference lives, write down what you hear as you hear it, pick a winner, and keep a trustworthy record of the whole evaluation.

Everything runs locally: your audio never leaves your machine, and you are responsible for having the rights to the audio you process.

Status

Pre-v0.1: the first release is being built in the open on the issue tracker, with decisions this repo owns recorded in docs/adr/. The install line below goes live with the v0.1.0 tag. See the release notes and known limitations for what v0.1 does and does not do.

Install

Uncompose Compare is part of the Uncompose family. It installs as the uncompose-compare command and is also reachable through the uncompose dispatcher as uncompose compare:

# placeholder — goes live with v0.1.0
uncompose compare a.wav b.wav

That loads a.wav and b.wav as candidates A and B and opens the listening workbench in your browser.

Command line

uncompose-compare <A> <B> [--port <PORT>] [--out <PATH>] [--cache-max-bytes <BYTES>]
uncompose-compare cache clear
  • --port pins the loopback port instead of taking an ephemeral one.
  • --out writes the concluded comparison record to this path instead of <ULID>.json in the directory you ran from. An existing destination is refused, never overwritten.
  • --cache-max-bytes caps the playback-proxy cache, pruned least-recently-used at startup. It defaults to 2 GiB — the flag is here because a cache that can grow to gigabytes of your disk should be yours to bound.
  • cache clear deletes every cached proxy and reports what it removed.

Release files for uncompose-compare 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for uncompose-compare 0.1.0
File Interpreter ABI Platform
uncompose_compare-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details

Release files / uncompose_compare-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL uncompose_compare-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.5 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
3776a1adc1938754f38e41dde0927267d24f4b77803fdaa0bc116e226dccd88e
BLAKE2b-256 checksum
How to use checksums
a86eebb941b408e00b52b881e265ae2db2c75f3a4cb1e371170c8f5790887000
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page