Skip to content

Zer0pa/ZPE-Music

ZPE-Music

Package Install

Installable package: python3.11 -m pip install zpe-music. Current release: 0.1.0 on PyPI. Source: Zer0pa/ZPE-Music.

python3.11 -m pip install zpe-music

For full install, smoke, source, and developer commands, click here.


00 · ZPE-MUSIC · SYMBOLIC SCORE CODEC DEVELOPER-READY · REAL-CORPUS OPEN

Encoding The Music Inside The Music

The score codec — what the composer wrote, not what the orchestra played · ZPE-Music · PyPI zpe-music 0.1.0 · github.com/Zer0pa/ZPE-Music

A recording captures what an orchestra sounded like on one Tuesday night. A score captures what the composer meant — every event, voice, articulation and expression beneath the sound. Every audio codec eats the score and emits a waveform. ZPE-Music does the opposite: it encodes the score itself. On the declared MusicXML score surface, all six exactness axes resolve at 1.0 under 11/11 release checks. Real-corpus work against MuseScore and IMSLP catalogues is active, not done.

ZPE-Music approved scientific square mechanics diagram showing score-note and expression-fiber mechanics.
Scope: declared MusicXML score surface. Audio, MIDI rendering, performance state, and real-corpus closure remain open.
01 · THE GAP SCORE BECOMES SOUND

When a score is encoded as a waveform, the composer's intention disappears — it can't come back.

02 · MARKETS ADJACENT FORECASTS
Music publishing '32 · $13.7B
Music publishing '30 · $10.8B
Digital sheet music '34 · $4.2B
Music education software est. $3.4B
Rights management / score archive est. $1.2B
Symbolic-score archives have no published analyst category — MusicXML volume sits inside music-publishing and rights-management forecasts.
03 · VALUE OF MARKET
$10.8B
Music publishing grows; the symbolic-score archive sits unpriced inside publisher and rights workflows.
04 · INSIGHT

A waveform keeps the sound. A score keeps the music.

05.1 · CURRENT TECH CODECS EAT THE SCORE

DAWs encode audio. Streaming platforms deliver waveforms. AI music systems learn from recordings. The written structure beneath the sound — events, voices, articulation, expression — is outside every test. Codecs eat it and emit sound.

05.2 · OUR TECH KEEP THE SCORE

ZPE-Music encodes the score itself. On the declared MusicXML score surface it preserves events, parts, voices, articulations, expression fields, performance tuples and repeated-pitch notes, decoding byte-identical to the input. All six exactness axes resolve at 1.0 across 11/11 release checks in 3.39 s. Audio interpretation is explicitly out of scope.

05.3 · BENCHMARKS MUSICXML SCORE SURFACE
Axes6 / 6exactness 1.0
Checks11 / 11release pass
Verify3.39seconds
PyPI0.1.0stale pending
SCORE_EVENT 1.000
5 other axes 1.000
real-corpus pending
Surface: bounded MusicXML · real-corpus benchmark against MuseScore + IMSLP still pending.
06 · MEASUREMENT RELEASE ARTIFACT PROOFS

Six axes. Six exactness claims. Each checked against a release artifact.

06.1 · COMPARATIVE PERFORMANCE MUSICXML 4.0 SCORE SURFACE
SCORE_EVENT 1.000
PART 1.000
ARTICULATION 1.000
EXPRESSION · PERF_TUPLE · REPEATED_NOTE 1.000
music_release_metrics.json + release_verification.json · 11 passed · 3.39 s · PyPI 0.1.0 stale. Six axes on the MusicXML 4.0 score surface. Audio, MIDI, continuous dynamics, pedal and performer state are out of scope. Source: github.com/Zer0pa/ZPE-Music.
07 · KEY METRICS MUSICXML RELEASE PROOFS
07.1 · SCORE AXES
6 / 6EXACT
Every axis at exactness 1.000
07.2 · RELEASE CHECKS
11 / 11PASS
pytest score suite · strict
07.3 · VERIFY RUNTIME
3.39s
Release suite · 2026-04-25
07.4 · REAL-CORPUS
null
MuseScore + IMSLP · active, not done
07.5 · PUBLIC PYPI
0.1.0
Connected · stale pending release
08 · SCORE FIDELITY DECLARED FIELDS ONLY

Encode the declared score. Decode the declared score. The intention survives.

08.1 · WHAT DETERMINISTIC MEANS PER-ROUNDTRIP, SCORE NOT SOUND

Deterministic here means per-roundtrip, and it means the score, not the sound. On the declared MusicXML score surface, encode and decode reproduce the canonical fields across all six axes — SCORE_EVENT, PART, ARTICULATION, EXPRESSION, PERF_TUPLE, REPEATED_NOTE — resolving at exactly 1.0 in 3.39 seconds.

Audio waveforms, MIDI rendering, continuous tempo, dynamics curves, pedal state and performer state are outside the verified scope. We do not yet make the byte-identical claim against public real-corpus MusicXML; the MuseScore and IMSLP benchmark is active, not done.

08.2 · HONEST BLOCKER
Honest Blocker ·

Out of scope: audio waveforms, MIDI benchmarks, continuous tempo and dynamics curves, pedal and sustain state, performer state, raw MusicXML part-name identity. Next step: close the public MuseScore and IMSLP corpus benchmark, refresh the stale 0.1.0 PyPI release, and publish the corrected build with the real-corpus result attached.

09

WHAT THE COMPOSER ACTUALLY WROTE.

09.1 · THE AMBITION

The aim is a score that travels as the score — every event, voice, articulation and expression intact — instead of being flattened into a waveform every time it moves. A music industry built on recordings finally gets a first-class symbolic carrier for the work beneath the sound.

09.2 · WHAT WORKS NOW

On declared MusicXML today: six exactness axes at 1.0, eleven of eleven release checks pass in 3.39 s.

09.3 · WHAT'S STILL OPEN

The public MuseScore and IMSLP corpus benchmark is active, and the 0.1.0 PyPI release is stale pending refresh.

09.4 · INTERCHANGE · NEAR-TERM (12–24 MO)
Scores move between editors without loss
A composer hands a Finale file to an engraver who opens it in Dorico, the engraver returns it through a publisher in Sibelius, and every voice, articulation and tied note arrives in the same place it started — no rebuild pass.
09.5 · ARCHIVES · NEAR-TERM (12–24 MO)
Catalogue librarians get a fidelity receipt
A music library that holds a publisher's MusicXML catalogue can prove the Beethoven sonata in the 2024 archive is exactly the score on the 2026 reading stand. The proof is a packet comparison, not a side-by-side render.
09.6 · VERSIONING · MID-TERM (24–48 MO)
Commissioned works carry a revision history
A composer revising a string quartet for a chamber orchestra and the publisher tracking changes both see exactly which bars moved between draft three and draft four. Score editing becomes a tracked process, the way code review is, instead of a stack of PDFs.
09.7 · MUSIC AI · MID-TERM (24–48 MO)
Symbolic music models train on clean ground truth
A music-AI team building a transformer over symbolic scores stops fighting the inconsistencies of heterogeneous MusicXML exports. The training corpus arrives in one encoded form, and the model learns the music a composer wrote rather than the quirks of the editor that exported it.
09.8 · IDENTITY · PARADIGM (48 MO+)
A musical work gets a fingerprint
Two encodings of the same Bach prelude — one from a 19th-century scholarly edition, one from a modern engraver — produce comparable packets. Rights societies, publishers and academic catalogues can talk about the work itself, not the file format that happened to carry it.

Install / Developer Commands Detailed

Package Install

Installable package: python3.11 -m pip install zpe-music. Current release: 0.1.0 on PyPI. Source: Zer0pa/ZPE-Music.

python3.11 -m pip install zpe-music

Import smoke:

python3.11 - <<'PY'
import importlib.metadata as md
import zpe_music

print("zpe-music", md.version("zpe-music"))
PY

Install success only proves package acquisition/import. Product scope, stale PyPI state, platform limits, and blockers remain in the front-door sections below.

  • PyPI copy is stale or pending refresh; install success is not product readiness.

Quick Start

python3 -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e '.[dev]'
python validation/run_release_verification.py
python -m pytest -q tests/test_music_authority_roundtrip.py tests/test_music_expression_authority_roundtrip.py tests/test_music_authority_guardrails.py