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
atomic
vector.The
x
argument 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
diatonicSet
or something coercable todiatonicSet
; must be either length1
orlength(x)
.- transposeArgs
An optional list of arguments passed to a
transpose()
call.Defaults to an empty
list()
.Must be a
list
of named arguments totranspose()
.- parseArgs
An optional list of arguments to the chord parser.
Defaults to an empty
list()
.Must be a
list
of named arguments to the chord parser.- inPlace
Should non-chord information be retained in the output string.
Defaults to
FALSE
.Must be a singleton
logical
value: 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))
}