Butterworth Filter
The graduate student used a Butterworth lowpass filter to filter out high frequency background noise. This initial filtering helped clarify the intended signal frequency so it could be more easily detected. A Butterworth filter was better than a simple lowpass filter because it left the signal sounding more natural and avoided some unnatural characteristics ideal filters introduce.
Appropriate Window Size
The graduate student divided the sound clips into windows so that signal intervals could be identified. She carefully chose a time window size that was small enough to pick up each individual signal but not too small that it caught empty space between notes. She also chose an appropriate frequency window size that was small enough to correspond to unique notes but large enough to identify off-tune notes.
Spectrograms
Once choosing the ideal window size, the graduate student plotted spectrograms of the music signals. This provides a helpful visual of the note frequencies and their harmonics over time as well as their relative magnitudes.
Adjusting for Harmonic Frequencies
While notes ideally have a single frequency, harmonics make note identification more challenging. Spectrograms reveal where harmonics exist and can even be stronger than the notes themselves. The graduate student recognizes this problem and adjusts her note identification in consideration of the fact. For example after an open D is played on a violin, she notes that it continues to resonate with a stronger magnitude than the following note. Thus after detecting an open D the next note is identified based on the second strongest frequency.
Suggestions for Detecting Rhythm
While she did not implement this herself, the graduate student provides suggestions for incorporating rhythm into the music translation. She suggests taking the tempo as an input parameter and dividing the song into segments based on that time characteristic. This would allow us to display the rhythm of a note assuming the tempo throughout the song did not change.