Add LilyPond transcriber documentation to README

This commit is contained in:
Michael Winter 2026-03-23 20:09:03 +01:00
parent 0f419a15b5
commit 4804c0c244

View file

@ -176,3 +176,42 @@ Messages sent to `/freq` with: voice number (int), frequency (float).
### Test Receiver ### Test Receiver
For debugging, run `python src/test_receiver.py` in a separate terminal. 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