Xylophone gag project

From enfascination

Jump to: navigation, search
 
Line 1: Line 1:
 
I wrote a small program to help you blow people up on the piano.  This project was inspired by the classic cartoon "Xylophone Gag"
 
I wrote a small program to help you blow people up on the piano.  This project was inspired by the classic cartoon "Xylophone Gag"
<pre>http://www.youtube.com/watch?v=YnJl6qAYdLs</pre> <- youtube broadcast, starting at 5:45, until 6:51
+
<pre>http://www.youtube.com/watch?v=YnJl6qAYdLs</pre> ''Youtube broadcast, starting at 5:45, until 6:51''
(if this specific video gets pulled, search for any of the cartoon titles identifying the gag in [http://tvtropes.org/pmwiki/pmwiki.php/Main/XylophoneGag this] article)
+
<small>(if this specific video gets pulled, search for any of the cartoon titles identifying the gag in [http://tvtropes.org/pmwiki/pmwiki.php/Main/XylophoneGag this] article)</small>
  
 
The goal was to use audio recognition to identify a player's mistakes playing a known melody.  This is a course project[http://www.music.informatics.indiana.edu/courses/I547/] in only about 500 lines of code, so there are severe restrictions on its general utility.  It works on monophonic, single instrument melodies, and works better if the melody is short and played on a wind instrument.  It does not identify timing errors, only wrong notes.   
 
The goal was to use audio recognition to identify a player's mistakes playing a known melody.  This is a course project[http://www.music.informatics.indiana.edu/courses/I547/] in only about 500 lines of code, so there are severe restrictions on its general utility.  It works on monophonic, single instrument melodies, and works better if the melody is short and played on a wind instrument.  It does not identify timing errors, only wrong notes.   

Revision as of 23:50, 26 April 2010

I wrote a small program to help you blow people up on the piano. This project was inspired by the classic cartoon "Xylophone Gag"

http://www.youtube.com/watch?v=YnJl6qAYdLs
Youtube broadcast, starting at 5:45, until 6:51

(if this specific video gets pulled, search for any of the cartoon titles identifying the gag in this article)

The goal was to use audio recognition to identify a player's mistakes playing a known melody. This is a course project[1] in only about 500 lines of code, so there are severe restrictions on its general utility. It works on monophonic, single instrument melodies, and works better if the melody is short and played on a wind instrument. It does not identify timing errors, only wrong notes.

To keep close roots to the gag, I only benchmarked the code on the classic tune for the Irish poem, "Believe me, if all those endearing young charms."[2] However, I do demonstrate the robustness of the code to identify mistakes across the melody, as played in different keys and across a few instruments. For my simple test examples, it avoids both false positives and negatives (thinking there is a mistake when there isn't and thinking there is not a mistake when there is).

I modified a simple HMM implementation[3][4] to have rudimentary score following. I then introduced an obnoxious screech into the audio to indicate identification of each mistake.

Contents

the tune

sheet music

midi representation

Midi notes key.GIF
[5]

code

the code

modifications

lessons

limits

examples