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
--portpins the loopback port instead of taking an ephemeral one.--outwrites the concluded comparison record to this path instead of<ULID>.jsonin the directory you ran from. An existing destination is refused, never overwritten.--cache-max-bytescaps 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 cleardeletes every cached proxy and reports what it removed.
Metadata
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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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 for uncompose_compare-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
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 logSecurity for uncompose-compare 0.1.0
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.
Full provenance
1 file in this release has been uploaded with provenance metadata.
Attestation for uncompose_compare-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
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 logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.