Group
Preliminary Testing
Results
For the preliminary test, we ran the algorithm with audio files that only contained single piano notes: E0, A1, C4, B4, and C5. We then extracted the interpreted fundamental frequencies that the algorithm outputted for each individual audio file, and compared this interpreted fundamental frequency with the actual fundamental frequency of each respective piano note, which were taken from Wikipedia. The percent error for five different notes were calculated (as shown in the table below), but this test is extendable to any note a piano can play.


Substantial Testing
For our substantial test, we ran our algorithm on six different songs: Twinkle, Twinkle Little Star, Happy Birthday, Thunderstruck, Harry Potter, Fur Elise, and Hail to the Victors! For each of these songs, a unique output “recovered_notes” vector was synthesized. This “recovered_notes” vector is used to create the final “recovered_music” vector, which can be used to create a .wav output sound file with MATLAB’s audiowrite function. We went through all the elements in each “recovered_notes” vector and flagged the elements that were much higher or lower than their neighboring elements. These flagged elements are what caused the randomly high or low pitched sounds that can be heard in some of our audio files on this website. Using Google Sheets, we summed up all the flagged elements and the total number of elements for each output vector. Dividing the number of flagged elements by the total number of elements gives the percent error in the table below (and the percent accuracy which is just one minus percent error).




Sample Results
*Please note that some songs have an "intro", so actual song won't start until about 5-10 seconds in*