Alain Henry wrote:
| X:1
| T:Signore delle cime - basse
| M:4/4
| L:1/4
| Q:100
| K:G clef=bass octave=-1
| G2 G G | F2 F3/2 F/2 | E E E E | B,2 B,2 | C2 D D |
| w: Di-o del cie-lo, Si-tgno-re del-le ci-me, un no stroa
| G2 G F | A, A, A, A, | B,2 B,2 | E2 E E | A,2 A,2|
| w: mi-co hal chie-stoal-la mon-ta-gna. Ma Ti pre-ghia-mo,
| F2 F F | B,2 (B, A,) | G G E E | B,2 B,2 | C C D D | G2 G2 |
| w: ma ti pre-ghia-mo:_ su nel pa-ra-di-so, su nel pa-ra-di-so
| C2 C C | B,2 E2 | C C D D | D4 | (G,4 | G,2) z2 |
| w: la-seia-loan-da-re per le tue mon-ta_-gne._

I've seen that "octave=-1" notation, but I  haven't  implemented  it,
because  I  don't understand it.  Anyone know what it means, and what
programs implement it?

Several discussions here have led to the conclusion that,  for  music
formatters, the best way to indicate octaves is the "middle=" clause,
which several programs now implement (and some allow the abbreviation
"m="). This says which abc note maps to the middle line of the staff.
>From the fact that the above uses no lower-case letters and does  use
single commas, I'd guess that the intended notation is "middle=D".

The reason that "octave=-1" is confusing is that  it's  dealing  with
pitch,  and music notation doesn't have pitch.  Notation has vertical
position on a staff, but that's not at all the same  thing,  and  the
two are often quite independent.  The bass clef is routinely used for
instruments that sound in  at  least  three  different  octaves.   So
specifying the octave is useful to an abc player, but it's not useful
to a formatter.  The formatter needs to know the mapping of abc notes
to  staff positions, not the mapping of abc notes to octaves.  Saying
"clef=bass" usually means that the middle staff line is a D,  but  in
abc terms, it could be "d", "D" or "D,". All three are reasonable for
some bass parts.

Much of the confusion in the past has been because discussions  often
go  into  the  areas  of  pitch  and  transposition.   This  leads to
terminology that is confusing for people  writing  music  formatters.
People   try   to   make   sense  of  it,  but  they  have  different
(mis)understandings of the words.  The best way to clear it up is  to
observe that notation doesn't have pitch, and pitch-related terms are
only for players, not formatters.  A formatter is only concerned with
where  a  note  appears  on  the  staff  (or  on  the instrument, for
tablature).  The most useful abc notation would then deal  separately
with  the  pitch and position information, and use different notation
for each.

My inference is that "octave=-1" is aimed at abc players. It's likely
based on the concept that abc notes have absolute pitch, soprano/alto
in this case.  So the "octave=-1" is instruction to a player to  play
them  an  octave  lower  than the treble pitch.  You'd think that the
"clef=bass" would imply this, but stating the octave would  still  be
useful, because of the different octaves used by bass instruments. If
this guess is right, then the above contains a useful hint for an abc
player, but no information for an abc formatter.

I've experimented a bit (in my jcabc2ps clone) with code that guesses
the  mapping  (abc  note  => staff position) if it isn't stated.  The
above sample turns out  to  be  a  useful  example  of  why  this  is
unreliable. This part has a range of "G," to "G". So as a vocal part,
it looks like it's written with D mapped to the middle  line  of  the
bass staff. This could be guessed by counting abc octaves, and noting
that there are ","  notes  but  no  lower-case  notes.   So  guessing
"middle=D" would put most of the notes on the staff. But if this were
the bass half of a piano part, this would probably be wrong.  In  the
common  piano  notation  for  "bass-chord"  accompaniment it would be
normal for bass notes to be below the staff and chords to be  on  the
top part of the staff, giving "middle=d" as the correct mapping. Even
without chords, you sometimes see piano bass parts  that  are  mostly
below the staff.

The program might infer that this is a vocal part from  the  presence
of  "w:" lines.  But now the heuristic code is getting a bit complex,
and when it fails (as it must part of the time),  it  would  lead  to
much user bafflement.

Of course, I'm doing this mostly for use in my abc tune finder, whose
job  is to try to do something sensible with the abc that it finds on
other people's web sites.  No sensible user would expect it to  guess
right  all  the  time,  considering  the  sloppy stuff Out There that
passes for abc.  Sometimes you just have to download the abc, edit it
by hand, and format it locally. This will probably be true long after
all of us have passed on to that great session in the sky.   So  it's
not that big a deal.

Still, it would be nice to get it right most of the  time.   In  this
case, I can't yet, because I can't write code to handle notation that
I don't understand.  And it may be that the  "octave=-1"  isn't  even
intended for use by formatters, in which case a heuristic is the only
sensible approach. That plus pleading with people to use both octave=
and middle= clauses with their clefs.

This is getting a bit long ...


To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html

Reply via email to