chord-mapping | R Documentation |
Helper functions for chord mapping.
gc_info(
name,
root_octave = NULL,
root_fret = NULL,
min_fret = NULL,
bass_string = NULL,
open = NULL,
key = "c",
ignore_octave = TRUE
)
gc_fretboard(
name,
root_octave = NULL,
root_fret = NULL,
min_fret = NULL,
bass_string = NULL,
open = NULL,
key = "c",
ignore_octave = TRUE
)
gc_notes_to_fb(
notes,
root_octave = NULL,
root_fret = NULL,
min_fret = NULL,
bass_string = NULL,
open = NULL
)
gc_notes(
name,
root_octave = NULL,
root_fret = NULL,
min_fret = NULL,
bass_string = NULL,
open = NULL,
key = "c",
ignore_octave = TRUE
)
gc_is_known(notes)
gc_name_split(name)
gc_name_root(name)
gc_name_mod(name)
name |
character, chord name in |
root_octave |
integer, optional filter for chords whose root note is in a set of octave numbers. May be a vector. |
root_fret |
integer, optional filter for chords whose root note matches a specific fret. May be a vector. |
min_fret |
integer, optional filter for chords whose notes are all at or above a specific fret. May be a vector. |
bass_string |
integer, optional filter for chords whose lowest pitch string matches a specific string, 6, 5, or 4. May be a vector. |
open |
logical, optional filter for open and movable chords. |
key |
character, key signature, used to enforce type of accidentals. |
ignore_octave |
logical, if |
notes |
character, a noteworthy string. |
These functions assist with mapping between different information that define chords.
For gc_is_known()
, a check is done against chords in the guitarChords
dataset. A simple noteworthy string is permitted, but any single-note entry
will automatically yield a FALSE
result.
gc_info()
returns a tibble data frame containing complete information for
the subset of predefined guitar chords specified by name
and key
.
Any accidentals present in the chord root of name
(but not in the chord
modifier, e.g., m7_5
or m7#5
) are converted according to key
if
necessary.
gc_notes()
and gc_fretboard()
are wrappers around gc_info()
, which
return noteworthy strings of chord notes and a named vector of LilyPond
fretboard diagram data, respectively.
Note that although the input to these functions can contain multiple chord
names, whether as a vector or as a single space-delimited string, the result
is not intended to be of equal length.
These functions filter guitarChords
. The result is the set of all
chords matched by the supplied input filters.
gc_name_split()
splits a vector or space-delimited set of chord names into
a tibble data frame containing separate chord root and chord modifier columns.
gc_name_root()
and gc_name_mod()
are wrappers around this.
various, see details regarding each function.
gc_is_known("a b_,fb_d'f'")
gc_name_root("a aM b_,m7#5")
gc_name_mod("a aM b_,m7#5")
gc_info("a") # a major chord, not a single note
gc_info("ceg a#m7_5") # only second entry is a guitar chord
gc_info("ceg a#m7_5", key = "f")
gc_info("a,m c d f,")
gc_fretboard("a,m c d f,", root_fret = 0:3)
gc_notes_to_fb("a,eac'e' cgc'e'g'")
x <- gc_notes("a, b,", root_fret = 0:2)
summary(x)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.