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[1], 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.
Optional features:
- 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.
[1] That is to say, 15-year old boys with a “Learn HTML 2.0 in 15 days” book.
