I am currently reading through Mueller's "Fundamentals of Music Processing" and I am trying to understand audio segmentation through the use of self-similarity matrices.

Currently, my matrix looks good, and I am trying to understand the use of a "checkerboard slide" down the diagonal, where large differences should denote different sections of a musical piece (well, in a perfect world...).

I am running into trouble with generating a "Gaussian-tapered checkerboard" and I haven't been able to easily find any specific references online that have helped me.

As I understand, the checkerboard $K$ would initially look something like this:

[-1, -1, 0, 1, 1;
 -1, -1, 0, 1, 1;
  0,  0, 0, 0, 0;
  1,  1, 0,-1,-1;
  1,  1, 0,-1,-1]

The formula for a radially-symmetric Gaussian function provided by Mueller is as follows:

$$\phi(s,t) = e^{-\epsilon^2 \cdot (s^2 + t^2)}$$

And the resulting checkerboard would be calculated as such:

$$KGauss(s, t) = o(s, t) \cdot K(s, t)$$

Meaning that a three-dimensional representation of the checkerboard would look something similar to this:

enter image description here

Now, I may be just easily confused about how this is calculated, but here are my thoughts on how this would work:

Assume we are calculating the point $(0, 0)$ for our Gaussian function, this would mean that we would have $o(0, 0) = e^{-\epsilon^2 * (0 + 0)} = e^0 = 1$.

However, this would not make sense, as the Gaussian checkerboard should taper to zero as we go along. Furthermore, as $s$ and $t$ increase, $e^{-\epsilon^2 * (s^2 + t^2)}$ would decrease and approach zero, which would not match my expectations for the checkerboard.


  1. Can anyone help explain what I am missing here that would allow me to generate the checkerboard as I would expect? Is there any good reading on how this works that I have overlooked?

  2. I also have not found any material on selecting a good value for epsilon. How can I know how to select the "best" value for a given input? Is this just trial and error, or a threshold that I should keep consistent across different music files, for example?

Thanks for any help! (And if there are better ways to format matrices on here, I'd love to know...)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.