Music database home
The tunes
The PDF pages
[The scores]
[Browse the tunes]
[Find similar tunes]
[The statistics]
[The database]
Storing music
Music analysis
Options in [] I'm working on.
|
|
When research
into music stylistics was starting in the 1960s, all data was stored in
ASCII, mostly in unfriendly (but comprehensive) systems such as DARMS.
We developed a user friendly system specifically
aimed at the storage and analysis of traditional music.
It later became easy to enhance the language
so that it became a representation for music printing, not just analysis.
The implementation as a roff preprocessor was then straightforward,
so that the same files can be used for the printing
and analysis of the music. Most modern PC music
programs store music scores in a form which is not amenable to analysis
of any sort.
Typical example A typical score appears as
in the example for Davy Davy Knick Knack (a super tune which no-one
should underestimate, capable of endless variation):
The ASCII version uses a header
to define the key, time signature etc., and a body to define the notes
and print formatting if required. The full system manual is available in PDF format. A quick summary
of the ASCII is as follows.
The body of the file:
- | separates bars, :| for repeat, || for
double barline
- f, g, a, b, c, d, e are the appropriate
notes of default length within the stave
- f^ means "f up an octave", fv "f down an
octave", etc.
- f> means "twice as long", f< "half default
length", f. "50% longer", etc.
- text in double quotes goes under the stave,
single quotes goes above
- \10 means insert a copy of bar 10
- \endstave. Causes the printing to move
to the next stave
- # to end of line is comment
The header (items separated by semicolon, ended
by full stop):
- "title = ..." gives the title, appears
top left
- "rtitle = ..." is "right title", we use
it to denote the source
- "ctitle = ..." is "centre title", we use
it for repeat information
- "timesig = 6 8;" sets the default note
length to 6 notes per bar, default bar length to 6 / 8 of a full note
- "key = g;" makes "f" default to "f sharp",
printed signatures to 1 sharp
- "key = g<;" as well as setting the key,
makes default note length half of what "timesig" determines
- "autobeam;" puts beams in automatically
(official rules forbid beaming across quarter bars in 4/4, etc.)
- "autobeam = 2;" puts beams in automatically
across twice default length
- "octave = s;" sets the default octave (no
need for "^" or "v") to the stave interior
- "octave = c;" sets it to start at middle
"c" (default)
- "keyout = d;" causes it to be printed in
the key of "d"
- "chords;" causes text under (in double
quotes) to be treated a chord names, and transposed if required on output
- "bps = " is "bars per stave" for printing,
no longer used
- "bars =" gives a check on the total number
of bars
The Nottingham Folk
Music Database is stored in this form.
We should soon be able to play it too!
|
|