[LAD] FreeDots: MusicXML to Braille music notation

From: Mario Lang <mlang@email-addr-hidden>
Date: Thu Feb 28 2008 - 17:18:18 EET

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 mlang@db.debian.org
 : :' : | 1024D/7FC1A0854909BCCDBE6C102DDFFC022A6B113E44
 `. `'
   `-      <URL:http://delysid.org/>  <URL:http://www.staff.tugraz.at/mlang/>
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
Received on Thu Feb 28 20:15:06 2008

This archive was generated by hypermail 2.1.8 : Thu Feb 28 2008 - 20:15:06 EET