Ch. 9 - Expressive Timing
This notebook demonstrates expressive timing profiles from real performances from https://github.com/fosfrancesco/asap-dataset .
Load libraries
library (ggplot2, quietly = TRUE )
library (tidyverse, quietly = TRUE )
library (dplyr, quietly = TRUE )
Get data from ASAP project
This gets the metadata from ASAP project (see Foscarin et al., 2020) and selects Preludes op 23.4.
d <- read.csv ("https://raw.githubusercontent.com/fosfrancesco/asap-dataset/master/metadata.csv" ,header = TRUE ,sep = ',' )
df<- dplyr:: filter (d,title== 'Preludes_op_23_4' )
df<- df[1 : 3 ,]
print (knitr:: kable (head (df[,1 : 3 ],3 )))
Rachmaninoff
Preludes_op_23_4
Rachmaninoff/Preludes_op_23/4
Rachmaninoff
Preludes_op_23_4
Rachmaninoff/Preludes_op_23/4
Rachmaninoff
Preludes_op_23_4
Rachmaninoff/Preludes_op_23/4
Read score annotations
basedir <- 'https://raw.githubusercontent.com/tuomaseerola/emr/master/'
deadpan <- read.csv (paste0 (basedir,'data/midi_score_annotations.txt' ),header = FALSE , sep = ' \t ' )
print (knitr:: kable (head (deadpan,3 )))
0.0
0.0
db,3/4,2
1.2
1.2
b
2.4
2.4
b
fn <- NULL
fn[1 ]<- 'data/ChenGuang12M_annotations.txt'
fn[2 ]<- 'data/MorozovS09_annotations.txt'
fn[3 ]<- 'data/WuuE07M_annotations.txt'
Performer <- c ('Chen Guang' ,'Yevgeny Morozov' ,'Elliot Wuu' )
Plot expressive timing deviations
options (repr.plot.width = 12 , repr.plot.height = 5 )
g1 <- ggplot (DF,aes (x= perf_N,y= scoredelta_rawperf_Ndelta,colour= Performer,shape= Performer))+
geom_line (alpha= 0.85 )+
geom_point (alpha= 0.85 ,size= 2.5 )+
scale_color_grey (start = 0.30 ,end = 0.8 )+
geom_smooth (aes (colour = NULL ,shape= NULL ), method = "loess" , span= 0.2 ,se= FALSE ,colour= 'black' ,linewidth= 1.25 )+
scale_x_continuous (limits= c (0 ,30 ),breaks = seq (0 ,30 ,by= 3 ),expand = c (0.02 ,0.002 ),labels= (seq (0 ,30 ,by= 3 )/ 3 )+ 1 ) +
xlab ('Bar' )+
ylab ('Deviation in ms' )+
theme_bw ()+
theme (legend.position= c (.85 , .80 ))+
theme (legend.background = element_blank ()) + # Remove overall border
theme (legend.key = element_blank ())
print (g1)
References
Foscarin, F., Mcleod, A., Rigaux, P., Jacquemard, F., & Sakai, M. (2020). ASAP: a dataset of aligned scores and performances for piano transcription. In International Society for Music Information Retrieval Conference (pp. 534-541).
Back to top