The transpose filter can be used transpose music by a specified interval or to a specific key.
Transposing by key
Here is an example of transposing a four-part chorale
from G major to A-flat major, using the -k
option to change
the key:
!!!filter: transpose -k a-
Try changing a-
to a
on the first line of the example to transpose
to A major instead.
The transpose filter is identical to the Humdrum Extras command-line tool transpose. See its documentation for more examples of how to use the transpose filter.
Transposing by musical interval
The -k
option requires a key interpretation present in the data, such
as *C:
for C major, or *b-:
for B-flat minor. If this is not then case,
then you can still transpose by a specific interval using the -t
option.
Transposing down a major third: !!!filter: transpose -t -M3
Transposing down a minor sixth: !!!filter: transpose -t m6
Transposing down a perfect fourth: !!!filter: transpose -t -P4
Transposing up a diminished fifth: !!!filter: transpose -t d5
Transposing down an augmented unison, such as from E major to E-flat
major: !!!filter: transpose -t -A1
Try various interval transpositions in the following example, which
starts out in the key of C major (but there is no key indication, so
the -k
option cannot be used).
Transposing by base-40 interval number
The Base-40 representation for pitches allows for integer values for various intervals. All of these interval numbers can be calculated from two pieces of information: A major second is a 6 in the system, and a minor second is a 5. For example a perfect fifth is composed of three major seconds and one minor second, so the base-40 interval is 3 * 6 + 1 * 5 = 23. An octave is 5 major seconds and 2 minor seconds, which translates to 5 * 6 + 2 * 5 = 40 (hence the name of the system). Note that an augmented unison is the difference between a major and minor second, which is 1.
Try transposing the following example by base-40 interval, which is
given as an integer after the -b
option flag in the transpose
filter. Also note that the base-40 system is limited to a range of
double-flats to double-sharps, so intervals that transpose to/by
triple-flats will not work in the system.
**mxhm
transposition
Chord symbols imported from MusicXML are stored in an **mxhm
spine.
These symbols are understood by the transpose tool and will be transposed
along with any **kern
spines in the data.
Below is an example work containing an **mxhm
data spine. The original
key is C major, but the transpose tool is changing the key of the piece
to D major. Try transposing the music to other keys by changing the
d
on the first line of the text box below to another tonic pitch.