These functions output roman numeral
representations of a tertian harmony.
The **harm representation is the most widely used standard for roman numeral notation in humdrum data.
Unlike traditional roman numerals, **harm does not indicate inversions with figuration, using lowercase letters
(a, b, c, etc.) instead.
The roman function however does output (relatively) traditional figures.
The output format of roman() is very similar to **harm.
The main difference is that inversions are indicated using traditional figures
, like 653, instead of **harm's simpler system (using letters).
So, for example, if we take the input E7/B in the key of A major, we'll get:
Arguments
- x
An
atomicvector.The
xargument can be any (atomic) vectors- Key
The diatonic key used by the parser, deparser, and transposer.
Defaults to
NULL, which is interpreted as C major.Must be a
diatonicSetor something coercable todiatonicSet; must be either length1orlength(x).- transposeArgs
An optional list of arguments passed to a
transpose()call.Defaults to an empty
list().Must be a
listof named arguments totranspose().- parseArgs
An optional list of arguments to the chord parser.
Defaults to an empty
list().Must be a
listof named arguments to the chord parser.- inPlace
Should non-chord information be retained in the output string.
Defaults to
FALSE.Must be a singleton
logicalvalue: an on/off switch.
Examples
tertian <- c('AM', 'AMm/3', 'DM', 'Dm', 'B-MM', 'AM/5', 'EMmm')
harm(tertian, Key = 'A:')
#> [1] "I" "Im7b" "IV" "iv" "-II7" "Ic" "Vm9"
roman(tertian, Key = 'A:')
#> [1] "I" "I6b5" "IV" "iv" "-II7" "I64" "Vb9"
if (FALSE) {
B075 <- readHumdrum(humdrumRroot, "HumdrumData/BeethovenVariations/B075_00_05_a.krn")
with(B075[[ , 2]], harm(Token))
with(B075[[ , 2]], roman(Token))
}