Braille Music (BRM) File Type

Toby W. Rush
Associate Professor of Music Theory and Technology
University of Dayton

Because braille characters are often used in different contexts to represent different music symbols, and because standard braille files (.brf) do not store this additional context, Braille Music Notator uses a special file format to save documents for future viewing and editing.

This file format, which uses the .brm extension, is an XML-based format, and is available for other developers to use or accommodate. A human-readable description of the file format is below, and an XML DTD file is available for download or reference.

Sample File

By way of description, here is a simple example of a file containing a D major scale.

<!DOCTYPE score-braille PUBLIC "-//TobyRush//DTD Braille Music Notator Score 1.0//EN" "https://tobyrush.com/braillemusic/notator/dtd/braillemusic.dtd">
<score-braille>
  <filename>D major.brm</filename>
  <settings>
    <settingentry app="braillemusicnotator">translate=1|smalldots=0|brailledisplay=0|scoresize=60|pagebreaks=1|wordwrap=1|octavesymbols=1|keysignatures=1|spelldownward=1</settingentry>
  </settings>
  <page>
    <width>40</width>
    <height>25</height>
  </page>
  <score>
    <symbol row="0" col="5" char="keySignatureSharp"/>
    <symbol row="0" col="6" char="keySignatureSharp"/>
    <symbol row="0" col="7" char="timeSignaturePrefix"/>
    <symbol row="0" col="8" char="timeSignatureTop4"/>
    <symbol row="0" col="9" char="timeSignatureBottom4"/>
    <symbol row="1" col="0" char="text1"/>
    <symbol row="1" col="2" char="octave4"/>
    <symbol row="1" col="3" char="noteQuarterD"/>
    <symbol row="1" col="4" char="noteQuarterE"/>
    <symbol row="1" col="5" char="noteQuarterF"/>
    <symbol row="1" col="6" char="noteQuarterG"/>
    <symbol row="1" col="8" char="noteQuarterA"/>
    <symbol row="1" col="9" char="noteQuarterB"/>
    <symbol row="1" col="10" char="noteQuarterC"/>
    <symbol row="1" col="11" char="noteQuarterD"/>
    <symbol row="1" col="12" char="barlineFinal"/>
  </score>
</score-braille>

Description

Each line of the above file is explained below:

<!DOCTYPE score-braille PUBLIC "-//TobyRush//DTD Braille Music Notator Score 1.0//EN" "https://tobyrush.com/braillemusic/notator/dtd/braillemusic.dtd">

The first line describes the file format, and is used by XML parsers to determine if the file is correctly formatted.

<score-braille>

The root element of the file must be the <score-braille> tag. Any data placed outside of this tag will not be considered part of the braille music file.

The <score-braille> tag can have four child tags: <filename>, <settings>, <page>, and <score>.

<filename>D major.brm</filename>

The first of these tags, <filename>, contains the filename of the file.

<settings>
  <settingentry app="braillemusicnotator">translate=1|smalldots=0|brailledisplay=0|scoresize=60|pagebreaks=1|wordwrap=1|octavesymbols=1|keysignatures=1|spelldownward=1</settingentry>
</settings>

The <settings> can contain one or more <settingentry> tags, each of which contains settings for a particular utility. The string of characters in this example store various options used by Braille Music Notator.

<page>
  <width>40</width>
  <height>25</height>
</page>

The <page> tag contains two tags, <width> and <height>, which specify the page size of the document in braille cells.

<score>
  <symbol row="0" col="5" char="keySignatureSharp"/>
  <symbol row="0" col="6" char="keySignatureSharp"/>
  <symbol row="0" col="7" char="timeSignaturePrefix"/>
  <symbol row="0" col="8" char="timeSignatureTop4"/>
  <symbol row="0" col="9" char="timeSignatureBottom4"/>
  <symbol row="1" col="0" char="text1"/>
  <symbol row="1" col="2" char="octave4"/>
  <symbol row="1" col="3" char="noteQuarterD"/>
  <symbol row="1" col="4" char="noteQuarterE"/>
  <symbol row="1" col="5" char="noteQuarterF"/>
  <symbol row="1" col="6" char="noteQuarterG"/>
  <symbol row="1" col="8" char="noteQuarterA"/>
  <symbol row="1" col="9" char="noteQuarterB"/>
  <symbol row="1" col="10" char="noteQuarterC"/>
  <symbol row="1" col="11" char="noteQuarterD"/>
  <symbol row="1" col="12" char="barlineFinal"/>
</score>

The <score> tag contains the contents of the braille score, where braille music characters, which may consist of one or more braille cells, are represented by <symbol> tags. Each symbol tag has three parameters:

Symbol List

The list of symbol names is shown below, and can be downloaded as a BRM file (for use in Braille Music Notator), a BRF file (for use with notetakers or embossers), or a plain text file.

For a complete vocabulary for use with the <symbol> tag, along with braille characters which each code point represents and a reference for that character, see the Vocabulary page.