Hi. This is a very early announcement of a piece of software I am working on which is currently sort of in its prototyping stage.
I recently played with optical music recognition, a pretty interesting topic to a blind musician. The OMR software available today is getting better, and some sheets I scanned actually produced pretty usable results. However, only listening to MIDI files is not very usable for learning music to me (all the on-screen score display programs I know of are totally inaccessible to a blind user). So I needed a way to represent the scanned data in a usable way to a blind person. Braille music is an established standard, and actually pretty nice once you managed to learn enough of it for it to be useful. There is a commercial product around to transform NIFF files to braille music, which costs 3 times as much as the actual OMR software. This sillyness inspired me to write something myself. Since NIFF is effectively dead, and all major OMR programs these days do export to MusicXML as well, I decided to use MusicXML as the base input format for my project. Its also lots easier to develop than NIFF based software since the file format is actually human-readable, not a binary format and very easy to parse (XML). That said, braille music is a very complex standard. FreeDots as of now does only implement the very rudimentary basics, i.e. notes and rests, interval symbols and some basic form of repetition detection. That said, it has already been useful to myself as a tool to study music scores for memorisation. FreeDots can already play back the score (via MIDI) and also provides an interactive mode for braille display users which allows you to "click" (using the so-called cursor routing keys) on an individual braille music symbol and have it played back to you. This is extremely useful (at least to me) while learning to read braille music. If you aren't quite sure what is written in a measure, just invoke the symbol you are unsure about, and it will be played back. I know that probably most people on this list do not have any use for this software, but I also know that we have at least one other blind user here. Since FreeDots is being developed on Linux (I actually plan to port it to Windows as well so that blind users can use it as an alternative to the unnamed, high-priced commercial software available to do the same thing), I could not resist to announce it here :-) FreeDots is written in Python, using the lxml library for XML processing and the pygame library for playing back MIDI output. The design should make it relatively easy to add more input formats. For instance, a Humdrum parser is one thing I'd like to have at some point. MIDI should also be possible as an input format, but that would require a bit of pseudo-AI for good results. http://delysid.org/freedots.html Why not use Lilypond? There are several reasons why I did not use Lilypond for this project: 1. OMR programs do export to MusicXML, not .ly I want a simple way to scan a sheet of music and be able to read it myself. Since MusicXML is what the good OMR engines support, this format was chosen as a starting point. 2. MusicXML has a nice and clear distinction between the graphical representation of musical events, and the sound representation. This makes it much easier to write code for braille music translation if you are yourself blind, and can not look at the score you are working with. 3. The Lilypond source code is unreadable to me. I've played with the idea of adding a braille music export feature to lilypond since years, but whenever I tried understanding enough of lilyponds codebase to actually try to attempt such a thing, I failed completely. The destinction between different output format rendering in lilypond is not at all clear to me. I just dont understand how to add a new output format. If anyone on this list is knowledgeable enough to start such a project off, I'd be more than willing to help to get the implementation of the actual braille music formatting rules done, but I just can't get the initial work required to add a new format to lilypond done. -- CYa, ⡍⠁⠗⠊⠕ | Debian Developer <URL:http://debian.org/> .''`. | Get my public key via finger [EMAIL PROTECTED] : :' : | 1024D/7FC1A0854909BCCDBE6C102DDFFC022A6B113E44 `. `' `- <URL:http://delysid.org/> <URL:http://www.staff.tugraz.at/mlang/> _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
