[MEI-L] @trans.diat and @trans.semi

Craig Sapp craigsapp at gmail.com
Sat Feb 11 03:23:03 CET 2012


Hi Perry,

The specification seems to come from Humdrum trans tool (which in turn
comes from some 2D algorithm of transposition):
    http://musicog.ohio-state.edu/Humdrum/commands/trans.html
And I have a transposing program for Humdrum which implements the base-40
method of transposing:
   http://extra.humdrum.org/man/transpose

Example: Here is the score for a B-flat clarinet in Humdrum format:

**kern
*ITrd1c2
*Iclars
*k[]
*C:
4c
4d
4e
4f
4g
4a
4b
4cc
*-

The pitches are listed in concert pitch (the convention for Humdrum
scores), and there is an interpretation "*ITrd1c2" which gives instructions
on how to transpose to written pitch:
    *I = instrument code
    Tr = transpose
    d1 = go up one diatonic step
    c2 = while going up two chromatic steps
So C->D, C#->D# and so on.

> So, for the clarinet in B♭should the values be trans.diat="1" and
trans.semi="2", or should they read trans.diat="-1" and trans.semi="-2" ?

I would say that using trans.diat="1" and trans.semi="2" would be better
(particularly if the pitches in the file are listed in concert pitch).  And
these numbers then represent the transposition amount/direction which is
necessary to transpose from concert pitch to written pitch of the
transposing instrument.  Since B-flat clarinets "sound down" they need to
"transpose up" to get to the written pitch, so the intervals should be
positive.

In the documentation you should say something like "the transposition
values indicate the size and direction of the transposition interval used
to transpose concert pitches into written pitches for the transposing
instrument."

If you want the transposition to mean the size/direction to go from written
to concert (which is the same size but reverse direction), then you switch
the wording (although I would prefer convert->written transposition to be
encoded in the score).

In Humdrum files, the pitches are always expected to be in concert pitch.
I use my transpose program mentioned above to transpose written parts into
sounding parts when going from OMR encoded data into a final score.  In
that case I have a "-I" option which stores the reverse of the
written->sounding transposition in the final score (I transpose down the
B-flat part to concert pitch, but I store the upward direction indicating
how to go from concert pitch to written).

Are transposing parts always encoded in concert pitch in MEI?  If so, then
the sounding->written direction for transposition is very much preferred.
If the MEI files can have either concert or written pitch, then what to do
is not as clear.  I would have the transposition value always from
concert->written, and then some indication of what state the score/part is
in, either "written" or "sounding". If the score is in Written mode, then
the transpose interval would be negated to convert to concert pitch, and if
the score is in Concert mode, then the transpose interval would be used
as-is to transpose to Written mode.

<<In this case, the second set of values would be more helpful; that is,
given a pitch of D4, to get a performable concert pitch, subtract the value
of trans.semi. (Or perhaps more technically correct, add -2 semitones.)>>

You or I are confused about this sentence.  Given the pitch of D4 written
for a B-flat clarinet, you need to apply both trans.semi and trans.diat to
calculate the concert pitch (not just trans.semi; both are needed to get
the correct transposed diatonic pitch name).  In terms of calculating a
base-12 MIDI pitch, you can just use trans.semi, but for correct diatonic
spelling you will need both: go down one diatonic step while doing down two
chromatic steps which is D4 to C4 (down a major second): D->C:d->c#->c.

-=+Craig


2012/2/9 Roland, Perry (pdr4h) <pdr4h at eservices.virginia.edu>

> Looking at the documentation for these 2 attributes, it isn't exactly
> clear what values are expected.  The documentation for trans.diat says,
>
>   "records the amount of diatonic pitch shift, e.g. C to C♯ = 0, C to D♭ =
> 1.
>   Transposition requires both trans.diat and trans.semi attributes in
> order to distinguish
>   the difference, for example, between a transposition from C to C♯ and
> one from C to D♭."
>
> while for trans.semi, it says,
>
>  "contains the amount of pitch shift in semitones, C to C♯ = 1, C to D♭ =
> 1.
>  Transposition requires both trans.diat and trans.semi attributes in order
> to distinguish
>  the difference, for example, between a transposition from C to C♯ and one
> from C to D♭."
>
> So, for the clarinet in B♭should the values be trans.diat="1" and
> trans.semi="2", or should they read trans.diat="-1" and trans.semi="-2" ?
>
> It seems to me that the first set of values is somewhat redundant since
> the written pitches for the clarinet are already recorded as one step "too
> high" with respect to concert pitch. This redundancy, however, could be
> used to mean that the written pitches are not errors; that is, that an F#
> on the clarinet staff is correct in the concert key of C.
>
> Another way to approach these attributes (which is, by the way, used in
> the musicxml2mei XSL transform) is to use them to indicate the amount of
> "correction" necessary to achieve the concert pitch from the written one.
>  In this case, the second set of values would be more helpful; that is,
> given a pitch of D4, to get a performable concert pitch, subtract the value
> of trans.semi. (Or perhaps more technically correct, add -2 semitones.)
>
> So, having made the decision once before (when writing the XSL transform),
> it would be convenient to make the documentation agree with the
> already-made decision.  However, if anyone has a good argument, other than
> tradition, why this decision (and the documentation) should be reversed,
> please speak up.
>
> --
> p.
>
> __________________________
> Perry Roland
> Music Library
> University of Virginia
> P. O. Box 400175
> Charlottesville, VA 22904
> 434-982-2702 (w)
> pdr4h (at) virginia (dot) edu
> _______________________________________________
> mei-l mailing list
> mei-l at lists.uni-paderborn.de
> https://lists.uni-paderborn.de/mailman/listinfo/mei-l
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.uni-paderborn.de/pipermail/mei-l/attachments/20120210/4c83e291/attachment.html>


More information about the mei-l mailing list