The input x
is a character vector of chords output from the chorrrds
package, as shown in the examples. Output is a noteworthy string object.
Some sources do not offer as complete or explicit information in order to
make sheet music. However, what is available in those formats is converted
to the extent possible and available function arguments can allow the user
to add some additional specification. Different input syntax makes use of a
different syntax converter. Depending on the format, different arguments
may be available and/or required. The general wrapper function for all of
the available syntax converters is to_tabr()
. This function takes an
id
argument for the appropriate converter function. See examples.
For example, output from the chorrrds
package that scrapes chord
information from the Cifraclub website only provides chords, not note for
note transcription data for any particular instrument. This means the result
of syntax conversion still yields only chords, which is fine for data
analysis but doesn't add anything useful for sheet music transcription.
The input in this case also does not specify distinct pitches by assigning
octaves numbers to a chord's notes, not even the root note. It remains up to
the user if they want to apply the information. By default, every chord
starts in octave three. It is also ambiguous how the chord is played since
all that is provided is a generic chord symbol. By default a standard chord
is constructed if it can be determined.
Setting guitar = TRUE
switches to using the guitarChords()
dataset to
find matching guitar chords using gc_info()
, which can be provided
additional arguments in a named list to gc_args
. For guitar, this allows
some additional control over the actual structure of the chord, its shape and
position on the guitar neck. The options will never work perfectly for all
chords in chords
, but at a minimum, typical default component pitches
will be determined and returned in tabr
notation style.