FreeDots: MusicXML to Braille music translation (status-update)

Mario Lang mlang at
Wed Mar 19 16:25:20 UTC 2008


FreeDots ( is a tool to work
with MusicXML files for blind users.  It can "translate" MusicXML files
to braille music notation, play the score via MIDI and also features an
interactive (BrlAPI based) mode for viewing MusicXML score files and
interactively selecting individual braille music symbols for playback (with
cursor routing keys).

This is basically an update to my initial announcement on this list.
FreeDots is still in prototyping stage, and some well known braille music
conventions like note groupings and music written on two (or more) staves
are still not supported.  But there are things that do already work quite well.
In fact, I have started to use FreeDots for two of instruments I play (flute
and guitar) already and it has prooven very useful.  What I find particularily
useful (and what I always miss when reading printed braille music) is the
ability to just "click" on a braille music symbol and be able to listen to it.
In FreeDots, you can interactively playbacka a whole system, a measure or
the individual notes.  This is very useful for learning
to read braille music and it makes the learning curve feel must less anoying.

What does work:
 * Music on one staff, possibly several parts (choral music, guitar, all 
   sorts of monophnoic instruments like flute, sax and so on)
 * Chords (currently not clef sensitive, intervals are always upward).
 * Slur marks (no doubling support yet).
 * Fingerings (if correctly encoded in MusicXML).
 * Articulation marks like accent, staccato, tenuto and the like.

What doesn't work:
 * Parts with more then one staff (actually, they are there, but not formatted
   correctly, so its mostly a cosmetic issue).  This mostly concerns keyboard
 * Note grouping.  I have an idea on how to implement it, but I need to settle
   the multiple staff issue first.
 * Harmony and figured-bass.  This is a feature I'd like to have at some
   point, but it is not very high on my priority list.
 * Lyrics.  In fact, the lyric get parsed and displayed, but there needs
   to be some formatting logic written to make things nice and clean.
   This would be especially desireable because of sites like
   They have a large collection of lead-sheets in MusicXML format
   for download.
 * Many other special rules of braille music which I ignored for simplicity
   for now or which I don't even know yet!

FreeDots is written in Python.  Apart from some utility modules for
doing MIDI file output and rational numbers, the code base currently consists
of roughly 1300 lines of code:
   60 freedots/ 
   87 freedots/ 
  125 freedots/ 
  274 freedots/ 
  310 freedots/ 
  432 freedots/ 

If you have knowledge about braille music (or you want to learn it) and
you are looking for a Free Software project to contribute to,
don't look further! :-)  While I've been able to make pretty much
progress in a relatively short amount of time, the overall task
of writing a complete braille music formatting program is
pretty huge.  To succeed, we will need people that sit down and help
us implement their favourite pet braille music feature.  If you are
a piano player with programming know-how, you might as well send me
a patch for multi-staff music.  If you are a programmer with no music background
at all, you can still review the (probably very ugly) code and
send suggestions on how to improve things.  This will help in the long run.
Anyway, I think you get the idea.  I need help! :-)


  ⡍⠁⠗⠊⠕ | Debian Developer <URL:>
  .''`. | Get my public key via finger mlang at
 : :' : | 1024D/7FC1A0854909BCCDBE6C102DDFFC022A6B113E44
 `. `'
   `-      <URL:>  <URL:>

More information about the Blinux-list mailing list