From 4804c0c2447ad4e70ab9106fe5dda70f3cb1f789 Mon Sep 17 00:00:00 2001 From: Michael Winter Date: Mon, 23 Mar 2026 20:09:03 +0100 Subject: [PATCH] Add LilyPond transcriber documentation to README --- README.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/README.md b/README.md index 5b12ccb..01e571c 100644 --- a/README.md +++ b/README.md @@ -176,3 +176,42 @@ Messages sent to `/freq` with: voice number (int), frequency (float). ### Test Receiver For debugging, run `python src/test_receiver.py` in a separate terminal. + +## LilyPond Transcriber + +**⚠️ IN DEVELOPMENT** - This feature is experimental and may change. + +The LilyPond transcriber converts generated chord data into music notation. + +### Usage + +```bash +# Generate path first, then transcribe +python compact_sets.py --dims 4 --chord-size 4 --symdiff-min 4 --symdiff-max 4 --max-path 200 --target-register 3 --weight-target-register 10 +python compact_sets.py --transcribe + +# Custom input and output name +python compact_sets.py --transcribe output/output_chords.json my_piece + +# From any chords file +python compact_sets.py --transcribe path/to/chords.json +``` + +### Output + +Generated files go to `lilypond/{name}/`: +- `score_template.ly` - Template file +- `{name}.ly` - Full score +- `{name}.pdf` - PDF output +- `includes/part_I.ly` through `part_IV.ly` - Individual voice parts + +### What It Generates + +The transcriber produces: +- **4 voice parts** (I, II, III, IV) with automatic clef changes +- **Cent deviation markings** showing how far each pitch is from equal temperament +- **Dimension markup** showing which prime dimension changed and by how much (e.g., "III 5↑" = 5th dimension up from voice III) + +### Requirements + +- [LilyPond](http://lilypond.org/) must be installed and in PATH