ferraus score convert

Convert between notation formats

Synopsis

ferraus score convert <inputs...> [options] [-o <output>]

What it does

Converts between MusicXML (.musicxml/.xml), compressed MusicXML (.mxl), MEI, ABC, LilyPond (.ly), MIDI, score JSON, tonic sol-fa text (.txt) or Markdown (.md), and engraved SVG, PDF, and PNG, chosen from the file extensions. Give the output as a second path or with -o.

Examples

MusicXML to ABC (output as the second path)

ferraus score convert song.musicxml song.abc

Engrave an ABC tune to PDF (output with -o)

ferraus score convert tune.abc -o tune.pdf

Notate a MIDI file as LilyPond source

ferraus score convert song.mid song.ly

Options

FlagTypeDefaultMeaning
--prettyflag—Indent JSON output
--solfamovable | fixedmovableSol-fa system for .txt/.md outputs
--engraverauto | verovio | lilypond | nativeautoEngraving engine for SVG/PDF/PNG (native: built-in SVG fallback)

Global options

Every command also accepts the global options (-o, --json, --dry-run, --overwrite, --progress, ...). See Global options.

Exit codes

CodeMeaning
0Success
1Processing failed
2Usage or parameter error
3Input missing or unreadable
4Unsupported format or codec
5Model not cached and downloads disabled
6Model download or verification failed
8Cancelled
10Network error
70Internal error (bug)

Common mistakes

  • Forgetting that outputs are never overwritten: pass --overwrite or a new -o path when re-running.

For models

  • MCP tool: ferraus_score_convert
  • Schema: ferraus schema score convert
  • Pipeline: { op: score convert, args: { ... } } (flag names with _ instead of -)
  • fx stage: no
{"command": "score convert", "defaults": {"solfa": "movable", "engraver": "auto"}}