Read The Bleepin’ Manual

Nerdy Text Stuff We Gotta Deal With

When OnSong imports certain files, it may need you to basically play detective & drop some hints about the file encoding or format. (Srsly, file formats are weird.) Text File Handling settings help OnSong figure out how to wrangle certain files without completely bloopin' up.

Grab Song Number from Title

When a song gets imported & its title starts with a number followed by a period, OnSong can snag that number as the song number for proper sorting & searching. (Look, it's the little things, amirite?)

ChordPro Compatibility Processing

ChordPro is a syntax, not actually a standard file format. (Shocking, we know.) Because of this, different vendors have absolutely gone rogue & used ChordPro features in like a million different ways. This option processes ChordPro to make it as future-proof as possible by converting commented section labels into real sections & stuff.

Convert Smart Quotes

This option will attempt to convert incompatible smart quote characters into compatible versions. (Basically: stop being fancy, just be normal.)

Detect Chords In Lyrics

OnSong uses text-based song content to render chord charts on the screen. Both OnSong & ChordPro file formats denote chords in square brackets within lyrics. However, most chord charts are available with chords on a separate line above lyrics. When this option is turned on, OnSong detects chords over lyrics & places them with lyrics automatically. Default is on. (We're basically doing your homework for you.)

Detect Numeric Chords

When this option is turned on, OnSong recognizes numbered chords such as 1, 4, & 5m, as used in the Nashville Number System. Turn this off if numbers in your charts are getting confused for chords & you're losing your mind. Default is on.

Detect Key By

If the key of the song isn't explicitly declared in the song's metadata, OnSong needs to find it some other way to enable transposition. (We're like a musical detective.) OnSong detects the key using one of the following methods:

  • First Chord uses the first chord in the song as a basis for the key. For instance, if the first chord is Am7, then the key of the song is set to Am. Default. (The lazy way.)
  • Last Chord uses the last chord in the song as a basis for the key. For instance, if the last chord in the song is a Bbsus4, the key will be set to Bb. (The "save the best for last" method.)
  • Note Counts is a method of determining the key of the song by accumulating all the notes used by the chords in the song & then counting sharps & flats to determine the key. This can be more accurate than the first or last chord in the song, but can still be totally wrong if not enough chords are in the song. (Spoiler: it's not magic.)
  • Harmonic Analysis collects every chord in the song & works out the key from the whole chord progression. (The nerdy way. We approve.)
  • Metadata Only will only use the metadata of the song for the basis of the key. That means if the key isn't declared, transposition is totally not happening. (Dead end, y'all.)

Fallback File Extension

OnSong uses the file extension of a file to determine its file format. This matters during the import process so that text conversion can happen to a supported internal format, or so external files like PDF can be viewed correctly. (File extensions are like musical IDs.)

In most cases files have a file extension. OpenSong files tend to be extension-less (rude) but are really XML-formatted files. For this reason, OnSong will automatically append a .xml file extension to files that have no extension. This identifies the file as an OpenSong file & converts it appropriately. (We're basically solving your mystery.)

If you have like a ton of files that have no extension & you actually know what type of file they are, enter the file extension in this place. (Share the love, yeah?)

File Encoding

Text encoding is the process of converting characters in a written language into binary values that a computer can actually store. OnSong is designed to guess the file encoding of a file, but there are some occasions where the file encoding is like, completely unknown. The default setting for this is Auto meaning the encoding gets guessed. If you know the encoding of the file, select it from one of these options:

  • Auto detects the encoding based on the contents of the file. Default. (Let us figure it out.)
  • ASCII is a basic text encoding that covers most western character sets. (The OG.)
  • UTF-8 is a superset of ASCII which contains most characters found through the world, but doesn't include some characters such as those found in Asian languages. OnSong uses UTF-8 internally & stores larger character sets in a way that makes them retrievable. (The people's choice.)
  • UTF-16 uses 16-bit values for defining the character set allowing for 32,768 possible characters. (Getting fancy.)
  • UTF-32 uses 32-bit values for defining the character set allowing for 2 billion possible characters. (ZOMG, that's a lotta characters!)
  • ISO-Latin or better known as its codepage "ISO-8859-1". It's similar to UTF-8 & holds Latin-based characters. (The European choice.)

Text File Conversion

When text files are imported, OnSong can automatically translate them into the OnSong file format. This places chords into square brackets automatically. Since OnSong can now automatically handle chords over lyrics in the song viewer, this is set to Text by default. You can still have OnSong convert your songs automatically by choosing OnSong instead. (Your call, but like... we got this.)

2026.3 — Last Refreshed October 25, 2026