The tabr package for creating guitar tablature (“tabs”) from R code is now available on CRAN.
tabr provides programmatic music notation and a wrapper around LilyPond for creating quality guitar tablature.
This post is just a quick update to mention that v0.3.0 has now been released on CRAN. And since I don’t have much time for blogging, I’m basically just pasting the release notes here below.
But the key changes are these:
- Make fretbaord plots with ggplot.
- Much more robust note/phrase/chord syntax validation.
- A collection of music programming functions have been added for more easily transforming among scales, modes, keys, chords, notes, etc.
- Custom print methods that use a splash of color.
- A table containing thousands of guitar chords and associated functions for mapping chords.
- A bunch more vignettes! Yay, happy vignettes!
- Bug fixes
tabr 0.3.0 release notes
fretboard_plotfor making fretboard diagrams outside of the LilyPond tablature pipeline. This necessitates importing
- Added functions for phrase validation, coercion and decomposition back to original character string inputs.
- Added functions for note, pitch, chord and octave equivalence checks.
- Added a collection of functions for constructing and working with common chords. The chord constructors are among the
chord_*-named functions and also have shorter
x*-named aliases. These are “piano chords,” i.e., based on the condensed, defining intervals.
guitarChordsdataset containing several thousand formations of guitar chord voicings.
- Added helper functions that use
guitarChordsfor obtaining guitar chord information and mapping between different defining properties of a chord, most notably the addition of
gc_fretboardfor mapping chord names to noteworthy strings and fretboard diagram syntax.
- Added helper functions for working with basic note/pitch strings.
- Added helper functions for working with musical scales and modes.
- Added helper functions for working with musical intervals.
noteworthyclass, used internally, optional for users (includes custom print and summary methods).
- Added more internal checks of note and chord syntax validity across functions that work with string representations (pre-
- Update older functions to utilize the new, more robust and stricter validation checks and offer more consistent
transposeto handle additional edge cases, including a new style option,
- Updated and added new unit tests.
- Bug fix for case where
NA-valued no-chord rests (
r) were unnamed in output of
- Fixed entry in
- Fix class assignment bug and updated
- Added a new column of relative interval size to internal
- Added new vignettes focusing on the programming aspect of
- Updated documentation.