Of course, none of this will work on character strings that are not “noteworthy” or “musical”, for example. tabr offers special object classes that facilitate working with music data and notation in ways that are natural to R, robust, tidy, and lend themselves well to transcription as well as analysis. 8 4 t4 t4 t4 1 #> #> $lyrics #> NA #> #> $key #> 'c' #> #> $time #> '4/4' #> #> $tempo #> '2 = 60'įunctions exist for directly performing various mathematical, logical and organizational operations and musical transformations on strings like the one above by checking their music syntax validity and adding custom classes and methods to these strings (more on this below). 8 4 at4 c't4 e't4 a'1 music_split ( y ) #> $notes #> #> Format: space-delimited time #> Values: a, c e g# a a c' e' a' #> #> $info #> #> Format: space-delimited time #> Values: 8 8 t8 t8 t8 4. Library ( tabr ) x #> Format: space-delimited time #> Values: a, c e g# a a c' e' a' summary ( x ) #> #> Timesteps: 12 (9 notes, 3 chords) #> Octaves: tick #> Accidentals: sharp #> Format: space-delimited time #> Values: a, c e g# a a c' e' a' y #> Timesteps: 12 (9 notes, 3 chords) #> Octaves: tick #> Accidentals: sharp #> Key signature: c #> Time signature: 4/4 #> Tempo: 2 = 60 #> Lyrics: NA #> Format: space-delimited time #> Values: a,8 c8 et8 g#t8 at8 4.