Posts Tagged dogstep

Dogstep

For my Malmö Music Hack Day hack I built an app called Dogstep. Dogstep takes any song and re-renders it such that a pack of dogs harmonizes along with the song.  It was a lot of fun to build and I was rather pleased with the results.  You can try the app out yourself: Dogstep.

Seven_Nation_Army_by_The_White_Stripes_dogstep_

I got to try a few new things on this hack. First, off I needed some good dog sounds. I found all I needed and more at Freesound.org. What a great resource that is! I then needed to process the barks (trim them, pitch shift them, volume-equalize ). For this I used Audacity. It was way easier to use than garageband and it has all the audio filters that I needed (including the awesome Paul’s stretch we can make any howl sound like a banshee from hell).

To create realistic and varying barking, I created a barking state machine, where each state in the machine represents the barking activity for a bar in the song and each state has a set of transitions to other states in the machine governed by a probability that that transition will be taken.  When a song is playing, I use the state machine to pick the state for the currently playing bar and emit the barking audio at the right times within the bar.  Here’s a visualization of the barking state machine:

barkstates.gv

In addition to these barks, I look for the loudest parts in the songs and add a bunch of extra howling at these peak moments.  Finally, I use the Stylophone play-along algorithm to have one of the dogs try to sing along with the melody.

Creating this state machine was really fun. There’s still a few bits that I want to do – such as having separate state machines for different parts of the song – i.e. a state machine when the song is very quiet vs. one when the song is loud and energetic.  A hack is never really done.

The source for the hack is on github.

4 Comments