Helper functions for working with musical scales.
scale_diatonic(key = "c", collapse = FALSE, ignore_octave = FALSE)
scale_major(key = "c", collapse = FALSE, ignore_octave = FALSE)
scale_minor(key = "am", collapse = FALSE, ignore_octave = FALSE)
scale_harmonic_minor(key = "am", collapse = FALSE, ignore_octave = FALSE)
scale_hungarian_minor(key = "am", collapse = FALSE, ignore_octave = FALSE)
scale_melodic_minor(
key = "am",
descending = FALSE,
collapse = FALSE,
ignore_octave = FALSE
)
scale_jazz_minor(key = "am", collapse = FALSE, ignore_octave = FALSE)
scale_chromatic(
root = "c",
collapse = FALSE,
sharp = TRUE,
ignore_octave = FALSE
)
character, key signature.
logical, collapse result into a single string ready for phrase construction.
logical, strip octave numbering from scales not rooted on C.
logical, return the descending scale, available as a built-in argument for the melodic minor scale, which is different in each direction.
character, root note.
logical, accidentals in arbitrary scale output should be sharp rather than flat.
character
For valid key signatures, see keys()
.
scale_diatonic(key = "dm")
#> <Noteworthy string>
#> Format: vectorized time
#> Values: d e f g a b_ c'
scale_minor(key = "dm")
#> <Noteworthy string>
#> Format: vectorized time
#> Values: d e f g a b_ c'
scale_major(key = "d")
#> <Noteworthy string>
#> Format: vectorized time
#> Values: d e f# g a b c#'
scale_chromatic(root = "a")
#> <Noteworthy string>
#> Format: vectorized time
#> Values: a, a#, b, c c# d d# e f f# g g#
scale_harmonic_minor("am")
#> <Noteworthy string>
#> Format: vectorized time
#> Values: a, b, c d e f g#
scale_hungarian_minor("am")
#> <Noteworthy string>
#> Format: vectorized time
#> Values: a, b, c d# e f g#
identical(scale_melodic_minor("am"), scale_jazz_minor("am"))
#> [1] TRUE
rev(scale_melodic_minor("am", descending = TRUE))
#> <Noteworthy string>
#> Format: vectorized time
#> Values: a, b, c d e f g
scale_jazz_minor("am")
#> <Noteworthy string>
#> Format: vectorized time
#> Values: a, b, c d e f# g#