Music Structure and Self-Similarity

EECS 352, Lecturer: Prem Seetharaman

Much of this lecture is pulled from Chapter 4 in Müller, Meinard. Fundamentals of Music Processing: Audio, Analysis, Algorithms, Applications. Springer, 2015.

In [420]:
from IPython.display import HTML
HTML('''<script>
code_show=true; 
function code_toggle() {
 if (code_show){
 $('div.input').hide();
 } else {
 $('div.input').show();
 }
 code_show = !code_show
} 
$( document ).ready(code_toggle);
</script>
The raw code for this IPython notebook is by default hidden for easier reading.
To toggle on/off the raw code, click <a href="javascript:code_toggle()">here</a>.''')
Out[420]:
The raw code for this IPython notebook is by default hidden for easier reading. To toggle on/off the raw code, click here.

Music has structure:

  • it is divided into segments (e.g. chorus, verse, sentences, periods)
  • these segments often repeat in some larger structure (e.g. sonata form, verse-chorus structure)
  • each segment has its own structure that lets us percieve it as a single section
  • between segments there are boundary points

In this lecture we will investigate how music structure can be percieved by a machine.

Three principles that drive structure perception

  • Repetition (patterns that recur)
  • Homogeneity (some inherent consistent character with respect to some aspect within a segment)
  • Novelty (boundaries between homogenous sections - new things happening)

Analogy: image segmentation

In [422]:
show_figure('figures/image_segmentation.png', width = 1000)