There’s a little piece of software I think should exist, and I’m trying to decide if I should write it, or if there’s a way to use something already-existing for it.
The need – One of my hobbies is playing the guitar. For Hebrew songs, I use the excellent “Israeli chord book“, for others, I search for chords in the popup-infested chord sites around the Internet which all seem to have been designed by late 90’s web designers, and for songs that don’t appear (or are completely incorrect, which is not uncommon) in any of the previous locations, I figure out the chords by ear (not easy, since I’m not much of a guitar master) and write it in some transient notebook, ready to be lost a week later.
So what I’m looking for is a computerized chordbook – something that provides the following features:
- Inputting songs without worrying about formatting: If I want “Cm” to appear above some word, I don’t want to put a bunch of spaces until it looks well (and then, redo it every time I change the font or something). Inputting the chords should be done inside the text, and the display should worry about showing it properly above the line of text.
- Full support for Unicode and bidirectional text.
- Sorting, searching and tagging of songs.
- Ability to export to common text formats (PDF?)
- Ability to mine data (for example, if I want to ask “what are the three most common chords in Chinese-language reggae songs”, it should be reasonably easy to write a script that answers it).
Now I need to find: Is there a possibility of achieving any of this with existing software? I thought about LyX, or some other LaTeX-based solution, but I’ve never been able to get those things to work properly with Unicode and bidirectional text. If I’m going to develop something myself, should it be a full application? Or maybe some sort of XSLT script over XML input could work? I’m not sure. If anyone has any ideas, I’d love to hear.
 That is to say, 15-year old boys with a “Learn HTML 2.0 in 15 days” book.