This is the first post of a series presenting some features of Chord! 2.0 for the iPhone and the iPad. You absolutely don’t need to read these to use the app, but if you’re curious about the inner bits, or if you want to maximize the app capabilities, you may find some interesting tips.

In order to work with songs, the app needs to understand their content. The usual way to write songs on a computer is to use a textual representation, with chords above lyrics.

Am         C        D     F
There is a house in New Orleans
Am            C      E
They call the Rising Sun
    Am            C       D           F
And it's been the ruin of many a poor boy
    Am     C         E     E7
And God, I know, I'm one

Sometimes, chords are inlined with lyrics.

[Am]There is a [C]house in [D]New Or[F]leans
[Am]They call the [C]Rising [E]Sun
And [Am]it's been the [C]ruin of [D]many a poor [F]boy
And [Am]God, I [C]know, I'm [E]one  [E7]

The app has to understand that Am is an A minor triad, that There is a house... are lyrics, etc.

How to feed the app with songs?

Before anything, you have to give some text to import to the app. To do so, two methods are available:

  • In any other app of your choice, you can select a .TXT file containing a song in textual representation, and select “Open in…” then “Chord!”. It works with TXT, CRD, CHO, PRO, CHORDPRO and CHOPRO. These are just text files containing the song in a more or less standardized way. Usually the four last extensions are denoting songs following the Chord Pro format. The capitalization of the extension is not important and the app can open txt and TXT files. Typically, source apps are cloud storage apps like Dropbox or Google Drive, but you can use any app which supports the “Open in…” for text files.

  • You can copy some text (in your browser for example), then go to Chord! > Songs > Edit > Import and import the text copied into your pasteboard.

In both cases, this tells the app that you want to import some text as a song, and the import sequence starts.

The supervised import sequence

If any textual representation of a song was respecting the samples presented above, it would be too easy! There are as many conventions as they are transcribers. Sometimes, there are comments, chords fingerings, tabs, funny comments, decorations, uneven indentations, etc. Because of this, a fully automatic import algorithm is very difficult, and I haven’t succeed yet in making something that works every times without user supervision. Most of the time, it just works and you have just to press one button.

Once fed with some text, the sequence takes two steps.

Step 1, Identifying lines

The first thing the app has to do is to clean the song from irrelevant information, and have a first glimpse on the structure of the song. To do so, it attributes to each line of text a type like Chords, Lyrics, Title, etc. At the next step, lines will be processed with respect to these types.

Type attribution is automatic and should work most of the time. If any mistake is made by the app, you can simply touch the faulty line and select its correct type.

The Part Delimiter type marks lines that are delimiting some bits of a song like “Intro”, “Chorus”, “Part A”, or even blank lines between verses.

Undefined lines will simply be skipped.

If ever the line contains some chords and some other things like “Intro: Am C D F”, please select the Chords type as only lines with this type are parsed for chords at the next step. Furthermore, the app should automatically uninline chords and pass from the “Sample 2” case to the “Sample 1” case.

You should avoid fully indented text. Lyrics should always be left-flushed if you want to benefit from automatic type attribution.

Once you’re satisfied with line types, simply tap the Next button.

Step 2, Recognizing chords and setting some basic properties

Now that the app knows better how the song is structured, it can identify chords from the symbols of Chords type lines. This works automatically most of the time.

If ever a symbol isn’t recognized, it will appear in red. You can indicate which chord it is by simply touching it. Uncorrected symbols will merely be discarded from the song. If the line type was Title, Subtitle or Artist/Composer, the app fills corresponding fields. If it doesn’t, you can manually enter information if you want to.

Once you’re satisfied, tap the Next button.

Final review and save

The app then shows the song as it is ready to be saved. If you tap the Save button, the song will be saved to your library. You will then be able to transpose it, to compute fingerings, create alternative versions, export it as PDF or share it with your friends…

Dedicated posts about song editing and sharing are planned. In the meantime, stay tuned!