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
| Flag | Type | Default | Meaning |
|---|---|---|---|
--pretty | flag | — | Indent JSON output |
--solfa | movable | fixed | movable | Sol-fa system for .txt/.md outputs |
--engraver | auto | verovio | lilypond | native | auto | Engraving 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
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Processing failed |
| 2 | Usage or parameter error |
| 3 | Input missing or unreadable |
| 4 | Unsupported format or codec |
| 5 | Model not cached and downloads disabled |
| 6 | Model download or verification failed |
| 8 | Cancelled |
| 10 | Network error |
| 70 | Internal error (bug) |
Common mistakes
- Forgetting that outputs are never overwritten: pass
--overwriteor a new-opath 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"}}