← All tools

koedame/chordsketch

Popularity 75 Updated Development & Build

A Rust implementation of the ChordPro music notation format — parser, renderers, and CLI

githubauto-collected

Installation

A directly usable install command is not verified yet. Check the project documentation or releases.

<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