Skip to content

Repository files navigation

ScoreBench Gallery

Music you can inspect, modify, and rebuild.

This repository is the public sample corpus for ScoreBench, the agent-native workbench for ScoreKit. It is three things at once:

  • a gallery of finished, playable work;
  • a set of real ScoreBench projects people can open and change;
  • a reproducible capability corpus for catching rendering regressions.

Every directory under samples/ is self-contained. Open one as a ScoreBench project, edit score.yaml, and rebuild it with ScoreKit.

Project Capability proof
Exile in the Dunes Long-form narrative arc, motif dialogue, dynamic contour
Forest Runner Seamless loop, rhythmic layering, seeded humanization
Quiet Interface Restrained arrangement, low-distraction loop, sparse motif

Repository contract

samples/<id>/
├── sample.json       # editorial metadata and machine-checkable expectations
├── score.yaml        # the real ScoreKit scene; ScoreBench opens this
├── bench.json        # the renderer selection used by ScoreBench
├── README.md         # creative and technical notes
├── cover.svg         # source artwork
└── out/
    ├── score.ogg
    ├── score.meta.json
    └── render.json     # renderer/compiler/input/output provenance receipt

sample.json deliberately does not repeat tempo, key, duration, tracks, or sample rate. Those values are generated into catalog.json from score.yaml and ScoreKit's machine-readable meta.json. The display schema lives at schemas/sample.schema.json. render.json binds each checked-in audio file to the renderer, ScoreKit version, score hash, and audio hash used to produce it; a render made outside the repository pipeline is detected as stale rather than mislabelled.

The metadata file uses JSON rather than YAML because ScoreBench currently discovers root and one-level *.yaml files as scenes. A display-only YAML file would appear as a broken score in the app.

Commands

Requirements: Node.js 22+, ScoreKit 0.2.3+, and a working renderer reported by scorekit doctor --json.

npm install
make validate
make render SAMPLE=forest-runner
make site
make preview
make all

The tooling invokes only ScoreKit's machine contract: exit codes, JSON errors, and atomically written meta.json. It never parses human-oriented success text and never renders or post-processes audio in-process.

Site and media policy

The Astro site is completely static. Build preparation copies the selected source assets into ignored site directories, so audio and artwork have one checked-in source. Full-resolution masters and future spectrum videos belong in GitHub Releases or object storage; the repository keeps compact OGG gallery renders.

Spectrum video is intentionally phase two. Its catalog field is optional and will consume ScoreBench's existing WebAudio + MediaRecorder visualizer export, not a second visualization renderer.

License

Repository code and score sources are MIT licensed. Rendered audio is licensed under CC BY 4.0. See AUDIO-LICENSE.md for attribution. Brand assets belonging to ScoreBench or talkincode are not included.

About

Reproducible music projects and gallery for ScoreBench

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages