ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE
Read The Bleepin’ Manual
ChordPro
The ChordPro file format is like, the thing that basically everyone & their cousin uses in other music apps. OnSong gets it. Like, we actually get it. OnSong recognizes files with these hilariously specific extensions: .chordpro, .chopro, .cho, .crd, .pro
The ChordPro format lets y\u{2019}all stuff song info into tags wrapped in curly braces (how fancy, right?). This info can be sorted into two buckets: metadata tags & inline tags. Riveting, we know.
Metadata Tags
These are the ChordPro tags that live in the metadata zone of your song. In the following tags, three dots (...) are where you put your stuff—it goes between the colon & the closing curly brace. Like this:
{title: Amazing Grace}
{key: G}
OnSong supports these ChordPro tags (buckle up):
- {title: ...} or {t: ...} The name of the song. Revolutionary.
- {subtitle: ...}, {st: ...} or {su: ...} The artist name or whatever other credit line you wanna slap on there. Multi-artist? Separate 'em with a semi-colon. - Kim Walker-Smith; Chris Quilala
- {album: ...} The album your song came from.
- {artist: ...} or {a: ...} The artist name or whatever. Multiple artists? Semi-colons, buddy. - Kim Walker-Smith; Chris Quilala
- {author: ...} Who charted this bad boy. Shows up at the bottom of the chord chart & in the lyrics projection thingy.
- {key: ...} or {k: ...} or {ok: ...} What key the song is in—write it with enharmonic vibes & optionally an "m" for minor. - like, Bb or Em
- {capo: ...} Where you clamp down, expressed in frets - just a number
- {tempo: ...} How many beats per minute (BPM) you\u{2019}re cranking - numeric
- {time: ...} The time signature - numerator over denominator, e.g. 3/4
- {duration: ...} How long this jam lasts (for autoscroll shenanigans) - seconds or mm:ss
- {book: ...} Which book(s) to throw this song into. Comma-delimited list. If the book doesn\u{2019}t exist, boom—we make it.
- {number: ...} Song number for hymns, years, whatever - numeric. Sort by number if you\u{2019}re into that.
- {flow: ...} How the sections flow. See Flow for the nerdy details on arranging your song\u{2019}s structure.
- {midi: ...} MIDI commands to yeet when you open this song. See MIDI Syntax for how to write MIDI commands as text in OnSong.
- {midi-index: ...} MIDI commands that'll trigger opening this song in the Song Viewer. See MIDI Syntax for the deets.
- {pitch: ...} The notes to blast when using the Pitch Pipe thing.
- {keywords: ...} or {topic: ...} Tags for topic search. See Topics for how to browse by topic.
- {copyright: ...} or {footer: ...} Slap copyright text at the bottom of the page or lyrics projection.
- {ccli: ...} The CCLI number.
- {restrictions: ...} Rights management—comma-delimited list of restrictions. See Restrictions for how to lock down your song.
Inline Tags
These tags live inside your song content & either mark sections or style parts of it.
- {define: ...} Make custom chord diagrams. See Defining Chords for the deep dive.
- {comment: ...} or {c: ...} A comment that looks like a musical instruction.
- {comment_bold: ...} or {cb: ...} Text that shows up bold.
- {comment_italic: ...} or {ci: ...} Text that shows up italic.
- {guitar_comment: ...} or {gc: ...} A comment for guitar weirdos—displays as a musical instruction.
- {start_of_verse: ...} or {sov}} Marks where a verse starts (optional section label).
- {end_of_verse}} or {eov}} Marks where a verse ends.
- {start_of_chorus: ...} or {soc}} Marks where a chorus starts (optional section label).
- {end_of_chorus}} or {eoc}} Marks where a chorus ends.
- {start_of_bridge: ...} or {sob}} Marks where a bridge starts (optional section label).
- {end_of_bridge}} or {eob}} Marks where a bridge ends.
- {start_of_part: ...}} or {sop}} Marks where a part starts (optional section label).
- {end_of_part}} or {eop}} Marks where a part ends.
- {start_of_tab}} or {sot}} Marks where tablature starts—OnSong renders this in monospaced font like we\u{2019}re living in 1995.
- {end_of_tab}} or {eot}} Marks where tablature ends.
- {new_page}} or {np}} Declares a new page. Wild concept.
- {new_physical_page}} or {npp}} Also declares a new page. Basically the same thing.
Formatting Tags
These tags set the default vibe for fonts & sizes in your chord chart.
- {textsize: ...} Size of the lyrics—just throw in a number (points).
- {textfont: ...} Which font to use for lyrics. Gotta be installed on your device tho.
- {chordsize: ...} Size of the chords—number in points.
- {chordfont: ...} Which font for chords. Platform support required.
Supported File Extensions
ChordPro is basically a handshake deal between vendors—no official standard, just a bunch of people agreeing on syntax. So everyone does it their own way (shocking, right?). OnSong plays nice with these extensions:
- .chopro
- .cho
- .chordpro
- .crd
- .pro
- .cpm