Before posting, please read: When to use this forum, when to submit a help ticket

REQ: render any bracketed string in lyrics as chords

Started by pheldal, August 20, 2016, 06:19:27 PM

Previous topic - Next topic


I belive it would be advantageous to have Bandhelper render any bracketed string as if it was a chord, even if the content of the bracket isn't strictly recognised as a chord.

Firstly it would fix common variations of notations that are not currently recognised. There are representations of chords I get from various tabulation-tools that currently are not recognised and are rendered as normal text. For example [A6/9]. [A6+9] or [A6add9] are both recognised, but [A6/9] seems pretty common.

Second, it is sometimes practical to have other strings than chords rendered as if they were chords. I tend to use Bandhelper as a learning tool for new songs, not just as a reminder for lyrics. Examples are [|] as a bar-separator or [.]/[!] as a beat-indicator. Another example from other chordpro-apps that I use are notes about chord-progressions in instrumental parts like the following example.
[A] [Asus4] [A6/9] [A] [(x4)]

Here both the unknown chord A6/9 and the instructions to repeat 4 times (x4) are currently rendered as regular text.

The downside of this approach is that brackets no longer will be rendered as regular text, but I don't see much use for brackets in lyrics anyway. Rendering code could potentially be somewhat simplified, while chord recognition still would be useful if for example insert of new chords by selection from a list of previously used chords in the song was implemented similar to the functionality in some other chordpro-based apps.

Btw, the chordpro-reference specifies the chord-format as [A-G]{#|b}{m|dim|maj|sus}{digit}{/[A-G]{#|b}}  which is way too limited and obviously already has been extended to handle "add", "+", "-" etc.


This was discussed here and is already on my wish list:,1121.msg3843.html#msg3843

Treating anything in brackets as a chord would allow alignment of any text and reliable coloring of any text, but I would still need to use a regular expression for chord detection for the transposition function. For example, when transposing up a whole step, the app would need to change [C/G] to [D/A] but not change [Chorus] to [Dhorus]. I think the only way to support a currently unsupported notation format like A6/9 is to keep updating my regular expression.


Arlo, I know we have discussed this before and really intended to bump the old thread with some new info, but failed to find it, sorry. I guess you're stuck between the rock and a hard place wrt chord syntax. People will eventually expect support for a superset of everything they get from the various tools they use. An alternative could be to have a smart editor that would make corrections and suggest alternatives, but that would be a huge job and probably not worth the effort.

As for other strings to be rendered as chords maybe one could find an "escape character" that isn't used in chords (for example underscore) that when following an opening bracket indicate that what follows is to be rendered as a chord, but not interpreted as such regardless of what the string is. [_Chorus] in your example above would thus not be subject to transposition. Other strings not recognised as chords such as [.], [!] or [|] in my examples above should also be rendered as chords.

This I have also mentioned before, but feel that it is worth repeating; I'm not quite comfortable with the format used for lyrics in bandhelper. There is a community-effort behind the chordpro-format and exchange of information with other apps and websites would have been simpler if bandhelper had used the format too. The format is easy to extend if that should be necessary, and the community would appreciate if important omissions and suggested enhancements are communicated. A new version of the format is expected this year. The preamble directives in chordpro are handled within the database in bandhelper and would only be used for import and export. The content, formatting and output-directives OTOH could be actively used in bandhelper. One in particular that I am missing is the {soc}{eoc} construct used to embrace, and thus explicitly identify, choruses. I do have an app where choruses are rendered with an indent and a vertical bar in the left margin. This helps make the different sections of the song stand out without wasting vertical space for labels. One could use colours, but I am not comfortable with colouring text unless the colours are relative to content tags and can be chosen in user-preferences. Fixed colours may look fine in one theme, but unreadable for another user who prefer a different app theme. There's a lot of opportunities to vary the layout once the different section of the text is properly tagged (title/subtitle/comment/verse/bridge/chorus etc). Each of these could have its own font, size, colour, background etc and be set individually in user-prefs or as elements of a theme.


Where is the ChordPro community based? Last time I tried looking for a ChordPro spec, I couldn't even find one official website, just several unofficial sites written by different people and offering different sets of info.

In any case, I guess what you're requesting is support for tagging sections of lyrics using ChordPro syntax. I can add that to my wish list, but I don't know how it would coexist with the existing functionality to add bold, italics or colors. I think the app could either use defined styles for different sections, and then users could select some text and select a section to style that text according to their section definition (kind of like using CSS stylesheets), or users could select some text and select formatting directly as they do now (which is potentially more repetitive but easier to learn and more flexible), but I can imagine lots of pitfalls with trying to combine both approaches.


In the new app version released yesterday, any text placed in square brackets will be positioned and colored like a chord. More info about the new version is here:,1785.0.html


Quote from: arlo on October 31, 2017, 08:31:31 AM
In the new app version released yesterday, any text placed in square brackets will be positioned and colored like a chord. More info about the new version is here:,1785.0.html

Thanks Arlo, very much appreciated

Sent from my iPad using Tapatalk