<p align="center" <img src="https://raw.githubusercontent.com/koedame/chordsketch/main/assets/logo.svg" alt="ChordSketch" width="100" height="100" </p
ChordSketch
A Rust implementation of the ChordPro and iReal Pro chord chart formats. 100% ChordPro compatible (parse to a structured AST, render to plain text, HTML, and PDF), full irealb:// URL parsing, iReal Pro chart rendering to SVG / PNG / PDF, and bidirectional ChordPro ↔ iReal Pro conversion.
Stability
ChordSketch is pre-1.0 and still in a validation phase. Until 1.0.0 ships, any release may break compatibility — public API items, rendered output, CLI flags, binding surfaces, and the minimum supported Rust version can all change in a 0.x bump, without a deprecation cycle. Breaking changes are named in the CHANGELOG, and larger ones get a guide under docs/migration/. Pin an exact version if you depend on this crate today. The full policy is in Versioning and release process.
Features
ChordPro
- Full ChordPro format parser with
zero external dependencies in the core crate
- Three output formats: plain text, HTML, and PDF
- Chord transposition
- Configuration file system (chordsketch.json)
- Inline markup (bold, italic, etc.)
- Chord diagrams (vertical or horizontal / left-nut orientation for
Japanese tablature publishing) and extended {define} directives
- Section environments (verse, chorus, tab, grid, custom)
- Delegate environments (ABC, Lilypond, SVG, textblock)
- Conditional directive selectors (instrument, user)
- Multi-song files ({newsong})
- Font, size, and color directives
- Image directive
- Multi-page PDF with page control
- Audible preview in the React components: with chord audio switched on,
click a chord diagram to hear the voicing it draws; click the {key} chip to hear the scale and tonic chord, or the {tempo} chip for a metronome
iReal Pro
- Full irealb:// URL parser (single-song and multi-song collections)
with zero external dependencies in the core crate. Accepts both the canonical 7..=9-field irealb:// shape and the iRealBook 6-field irealbook:// shape (Title=Composer=Style=Key=TimeSig=Music).
- Complete URL grammar coverage: (altchord) substitutions, n