<< Chapter < Page Chapter >> Page >

Results

We tested our implementation on a variety of piano songs, created digitally as well as recorded from a Grand Piano. Our metric for accuracy is defined to be:

eq1

Here x is the correct string of notes/chords and y is the one created by our implementation
N is length of x
edit_distance gives the number of changes (insertions, substitutions or deletions) needed to go from string x to y

    The average accuracy on testing eight different songs was:

  • 92% on songs with single melody line
  • 86% on songs with single chord line
  • 78% on songs with homophonies

Noise resiliency

One of the features of our implementation is noise-resiliency. With additive Gaussian noise (AWGN), the performance is maximized for audio with above SNR of -5 dB. The following figure illustrates this. We tested noise resiliency on a single song, adding AWGN incrementally. We ran the trial ten times.

noise.
Summary of our testing. The songs can be found in the "Source Code" section. Chord detection threshold is the beta value that determines which note(s) to pick in the HPCP vector. Threshold=mean(HPCP)*Beta. If the value at index i of the HPCP is greater than this threshold, index i is picked as a note.

noise.

Conclusion

Our implementation of a piano note and chord recognition system was successful in varying degrees. Depending upon the texture of the song and independent variables in our algorithm, we were able to get an average accuracy of 87.53%.

We applied our knowledge from ELEC 301 to create the onset detection, gain compression, filtering and spectral analysis algorithms independently. We then augmented our implementation with the use of Harmonic Pitch Class Profile (HPCP) that has the added benefit of noise resiliency.

By exploring the topic of automatic music transcription, and implementing our own version of homophony detection, we have created a base from where we can only improve the accuracy and performance of music recognition automation system.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Elec 301 projects fall 2013. OpenStax CNX. Sep 14, 2014 Download for free at http://legacy.cnx.org/content/col11709/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Elec 301 projects fall 2013' conversation and receive update notifications?

Ask