Skip to content

Commit ef28b3e

Browse files
chore: reissue music novelty/citation/entity/badge backfill from current main (#4)
1 parent 30942a3 commit ef28b3e

4 files changed

Lines changed: 35 additions & 1 deletion

File tree

CITATION.cff

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,6 @@ authors:
66
- family-names: Zer0pa
77
version: 0.1.0
88
url: https://github.com/Zer0pa/ZPE-Music
9+
license: LicenseRef-Zer0pa-SAL-7.0
10+
contact:
11+
- email: architects@zer0pa.ai

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# zpe-music
22

3+
[![License: SAL v7.0](https://img.shields.io/badge/license-SAL%20v7.0-e5e7eb?labelColor=111111)](LICENSE)
4+
35
## What This Is
46

57
`zpe-music` is a music encoding product for canonical symbolic score data, with a bounded note-local expression refinement carried on the same score note. It is useful now for MusicXML pipelines that need auditable roundtrip recovery of score structure plus note-local `attack`, `release`, and `dynamics`-derived fields.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# ZPE-Music Novelty Card
2+
3+
**Product:** ZPE-Music
4+
**Domain:** Deterministic symbolic-score encoding with bounded note-local expression carried on the same authority-native score note.
5+
**What we sell:** Exact round-trip serialization of canonical symbolic score structure with bounded note-local expression attachment for auditable MusicXML pipelines.
6+
7+
## Novel contributions
8+
9+
1. **Score-note base with note-local expression fiber** — The product keeps the authority-native score note as the base object and carries bounded expression on that same note rather than emitting a second performed-note stream. `src/zpe_music/music/parser.py` extracts score notes together with note-local `attack`, `release`, and `dynamics` fields, and `src/zpe_music/music/pack.py` emits those fields as typed control words bound to the same note event. The novel contribution is the score-note-plus-expression-fiber contract itself.
10+
11+
2. **Deterministic same-pitch repeated-note disambiguation** — Repeated same-pitch notes retain distinct expression attachment instead of collapsing onto a pitch-only key. The repeated-note merge and active-note tracking live in `src/zpe_music/music/parser.py`, and `tests/test_music_expression_authority_roundtrip.py` includes the repeated-note authority cases that prove per-note expression identity survives. The novel contribution is the deterministic attachment surface for repeated same-pitch score notes.
12+
13+
## Standard techniques used (explicit, not novel)
14+
15+
- MusicXML parsing and canonical symbolic-score extraction
16+
- Fixed-width control-word packing for bounded metadata and expression fields
17+
- Delta encoding for onset and duration refinement
18+
- Deterministic label registries for part and voice identifiers
19+
- pytest-based regression verification
20+
21+
## Compass-8 / 8-primitive architecture
22+
23+
NO. LICENSE §7.10 is authoritative.
24+
25+
This product's novelty surface is symbolic-score structure plus bounded note-local expression. The repository contains directional-token helper code under `src/zpe_music/diagram/`, but that is not the product claim surface and is not a Novel Contribution of ZPE-Music.
26+
27+
## Open novelty questions for the license agent
28+
29+
- None in this pass.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ version = "0.1.0"
88
description = "Canonical symbolic-score codec with a bounded note-local expression refinement"
99
readme = "README.md"
1010
requires-python = ">=3.10"
11-
authors = [{name = "Zer0pa"}]
11+
authors = [{name = "Zer0pa (Pty) Ltd"}]
1212
dependencies = ["music21>=9.1"]
1313

1414
[project.optional-dependencies]

0 commit comments

Comments
 (0)