Timing In Expressive Performance

 

 

*Special Thanks to Dan Ellis of Columbia University for his papers and matlab code methodology. His work was the basis of this analysis.

Download the paper here: Timing In Expressive Performance.pdf

Overview

Rhythmic timing is arguably the most essential aspect of musical performance. This research project attempts to provide an automated method for analyzing an audio file (.wav) and extracting rhythmic inflections of the performer. This analysis process is accomplished through the Matlab programming language in a series of M-Files that may be downloaded here:

Matlab_Files.zip

Within this zip file, you will find an m-file named run.m containing the main run function. In order to complete analysis on a .wav file through this process, all you have to do is provide a file name and a performer's name to this run this function. You will then be provided with a set of graphs as shown in the analysis. Feel free to step through any of the subfunctions to find out rhythmic features such as the tempo detected and onset strength envelope details. You may also have to play with the onset strength envelope threshold in order to get an accurate analysis. Contact me with any questions.

 

Analysis

I analyzed six performances of Bach's Invention #1 in C Major for rhythmic variation in performance with respect to a defined midi file of the invention. These performances are listed below along with their Stanford University library number in case you would like to check them out.

Performances

Upon analyzing these performances, the matlab script outputs charts as shown below for Max Reger. These may be analyzed in comparison with the midi file charts. Note that on the beat chart, the diagonal line indicates perfect timing. Any deviation from this line indicates a performance inflection.

 

MIDI

 

Reger

Onset_Reger