The Autocanonizer

I’ve spent the last 24 hours at the SXSW Music Hackathon championship. For my hack I’ve built something called The Autocanonizer. It takes any song and tries to make a canon out of it. A canon is a song that can be played against a copy of itself.  The Autocanonizer does this by looking at the detailed audio in the song (via The Echo Nest analysis), and looks for parts of the song that might overlap well. It builds a map of all these parts and when it plays the song it plays the main audio, while overlapping it with the second audio stream.  It doesn’t always work, but when it does, the results can be quite fun and sometimes quite pleasing.

To go along with the playback I created a visualization that shows the song and the two virtual tape heads that are playing the song. You can click on the visualization to hear particular bits.



There are some audio artifacts on a few songs still. I know how to fix it, but it requires some subtle math (subtraction) that I’m sure I’ll mess up right before the hackathon demo if I attempt it now, so it will have to wait for another day. Also, there’s a Firefox issue that I will fix in the coming days.  Or you can go and fix all this yourself because the code is on github.


  1. #1 by blu28 on March 13, 2014 - 5:40 pm

    Okay, for us music illiterate, what determines whether a part of a song can be a canon to another part?

    • #2 by Paul on March 14, 2014 - 12:24 pm

      in a future blog post I’ll outline what I did and how it works

  2. #3 by alexruthmann on March 13, 2014 - 5:53 pm

    Very cool… would be cool if the two playback heads were panned left and right to highlight the canon, too. :)

%d bloggers like this: