Files
pytheory/tests
kennethreitz bb6ed7800f Notation: export lyrics to LilyPond and MusicXML; release 0.57.6
- LilyPond: a part with lyrics (part.add(..., lyric="...")) now wraps its
  music in a named \new Voice and adds a sibling \new Lyrics \lyricsto
  context — one syllable per sounding note, rests auto-skipped, lyric-less
  notes blanked with _. Syllables with spaces/punctuation are quoted.
- MusicXML: notes carry <lyric><syllabic>single</syllabic><text> elements.
- Validated by compiling output with LilyPond 2.26 (incl. lyrics +
  articulation + held notes + chords together). Lyric-free scores are
  unchanged, so existing exact-structure tests still pass.

ABC lyrics (w:) remain the one notation gap.

New tests: lilypond lyrics, lilypond-no-lyrics-unchanged, musicxml lyrics.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 08:49:27 -04:00
..