WAV File Analysis

For these demonstrations, the program read an entire WAV (uncompressed audio) file at once. The program output a processed spectrogram, as well as a timeseries of detected notes/chords.

Twinkle Twinkle Little Star

The most basic audio used for testing the program was a synthesized recording of "Twinkle Twinkle Little Star". This piece was slow and only played a single note at a time. Being a synthesized recording, notes were played with robotic consistency. This piece was not much of a challenge for our program, but served as a controlled 'testing grounds' for developing the program.

Our program processed a spectrogram of this audio, resulting in the image below, where yellow blocks indicate detected notes. Our program perfectly parsed this simple piece. With this proof-of-concept complete, the team moved onto more advanced pieces.

Raw Data

Our program generated the following note detections for the piece. All detected notes are classified correctly.

Time 6.292517006802721 : Note C4

Time 6.405895691609977 : Note C4

Time 7.312925170068027 : Note C4

Time 7.426303854875283 : Note C4

Time 8.219954648526077 : Note G4

Time 8.333333333333334 : Note G4

Time 9.240362811791384 : Note G4

Time 9.353741496598639 : Note G4

Time 10.260770975056689 : Note A4

Time 10.374149659863946 : Note A4

Time 11.281179138321995 : Note A4

Time 11.394557823129253 : Note A4

Time 12.301587301587302 : Note G4

Time 14.229024943310657 : Note F4

Time 14.342403628117914 : Note F4

Time 15.249433106575964 : Note F4

Time 15.36281179138322 : Note F4

Time 16.26984126984127 : Note E4

Time 16.383219954648528 : Note E4

Time 17.290249433106577 : Note E4

Time 18.310657596371883 : Note D4

Time 19.217687074829932 : Note D4

Time 19.331065759637188 : Note D4

Time 20.238095238095237 : Note C4

Time 20.351473922902493 : Note C4

Time 22.27891156462585 : Note G4

Time 23.299319727891156 : Note G4

Time 24.31972789115646 : Note F4

Time 25.226757369614514 : Note F4

Time 25.34013605442177 : Note F4

Time 26.24716553287982 : Note E4

Time 26.360544217687075 : Note E4

Time 27.267573696145124 : Note E4

Time 27.38095238095238 : Note E4

Time 28.28798185941043 : Note D4

Time 28.401360544217688 : Note D4

Time 30.215419501133788 : Note G4

Time 30.328798185941043 : Note G4

Time 31.235827664399093 : Note G4

Time 31.349206349206348 : Note G4

Time 32.2562358276644 : Note F4

Time 32.36961451247166 : Note F4

Time 33.276643990929706 : Note F4

Time 33.39002267573696 : Note F4

Time 34.297052154195015 : Note E4

Time 35.317460317460316 : Note E4

Time 36.224489795918366 : Note D4

Time 36.337868480725625 : Note D4

Time 38.265306122448976 : Note C4

Time 38.378684807256235 : Note C4

Time 39.285714285714285 : Note C4

Time 39.399092970521544 : Note C4

Time 40.30612244897959 : Note G4

Time 41.21315192743764 : Note G4

Time 41.326530612244895 : Note G4

Time 42.233560090702944 : Note A4

Time 42.3469387755102 : Note A4

Time 43.25396825396825 : Note A4

Time 43.36734693877551 : Note A4

Time 44.27437641723356 : Note G4

Time 46.31519274376417 : Note F4

Time 47.22222222222222 : Note F4

Time 47.33560090702948 : Note F4

Time 48.24263038548753 : Note E4

Time 48.35600907029478 : Note E4

Time 49.26303854875283 : Note E4

Time 49.37641723356009 : Note E4

Time 50.28344671201814 : Note D4

Time 50.3968253968254 : Note D4

Time 51.30385487528345 : Note D4

Time 52.32426303854875 : Note C4

Time 52.43764172335601 : Note C4

Minuet in G Major (Synthesized, Just Melody)

Minuet in G Major presented our program the significant challenge of resolving multiple notes at once, including chords. A synthesized version of the piece was chosen for initial testing to avoid real-world complexities like noise, reverberation, and varying articulation.

Minuet in G Major has historically been wrongly attributed to Bach, and was actually written by Petzold. Our computer program doesn't understand the concept of ownership, however, and was happy to analyze this piece regardless of its true composer.

Our program processed the first eight measures of this piece to produce the image below, where yellow blocks indicate detected notes. An aggressive threshold was chosen to permit only the melody notes, which are consistently the loudest. The next section shows results for resolving bass notes. Ornamentation at (t=7.5, f=500) is resolved as two simultaneous notes due to the short duration of the notes. There are no notes missing from the spectrum. There are no missing notes from the melody (false-negatives), and there is only one false-positive note at (t=12, f=600). This false-positive note is harmonic of a bass note which was not rejected. The team is very happy with the program's performance in this case.

Raw Data

Our program generated the following melody note detections for the first eight measures of the piece. With such an aggressive threshold applied to the piece, frequency peaks are very narrow and thus are easily identified as the correct note.

Time 1.40625 : Note D5

Time 1.5104166666666667 : Note D5

Time 1.6145833333333333 : Note D5

Time 1.71875 : Note D5

Time 1.9270833333333333 : Note G4

Time 2.03125 : Note G4

Time 2.2395833333333335 : Note A4

Time 2.34375 : Note A4

Time 2.4479166666666665 : Note B4

Time 2.5520833333333335 : Note B4

Time 2.65625 : Note C5

Time 2.7604166666666665 : Note C5

Time 2.96875 : Note D5

Time 3.0729166666666665 : Note D5

Time 3.1770833333333335 : Note D5

Time 3.28125 : Note D5

Time 3.4895833333333335 : Note G4

Time 3.90625 : Note G4

Time 4.010416666666667 : Note G4

Time 4.427083333333333 : Note E5

Time 4.53125 : Note E5

Time 4.635416666666667 : Note E5

Time 4.84375 : Note B4

Time 4.947916666666667 : Note C5

Time 5.15625 : Note D5

Time 5.260416666666667 : Note D5

Time 5.364583333333333 : Note D5

Time 5.46875 : Note E5

Time 5.572916666666667 : Note E5

Time 5.677083333333333 : Note F#5

Time 5.78125 : Note F#5

Time 5.885416666666667 : Note G5

Time 5.989583333333333 : Note G5

Time 6.09375 : Note G5

Time 6.40625 : Note G4

Time 6.510416666666667 : Note G4

Time 6.927083333333333 : Note G4

Time 7.03125 : Note G4

Time 7.447916666666667 : Note B4

Time 7.447916666666667 : Note C5

Time 7.552083333333333 : Note C5

Time 7.65625 : Note C5

Time 7.96875 : Note D5

Time 8.072916666666666 : Note D5

Time 8.177083333333334 : Note C5

Time 8.28125 : Note C5

Time 8.385416666666666 : Note B4

Time 8.489583333333334 : Note B4

Time 8.59375 : Note B4

Time 8.697916666666666 : Note A4

Time 8.802083333333334 : Note A4

Time 8.90625 : Note B4

Time 9.010416666666666 : Note B4

Time 9.114583333333334 : Note B4

Time 9.427083333333334 : Note C5

Time 9.53125 : Note C5

Time 9.635416666666666 : Note B4

Time 9.739583333333334 : Note B4

Time 9.84375 : Note B4

Time 9.947916666666666 : Note A4

Time 10.052083333333334 : Note A4

Time 10.15625 : Note G4

Time 10.15625 : Note A4

Time 10.260416666666666 : Note G4

Time 10.46875 : Note F#4

Time 10.572916666666666 : Note F#4

Time 10.677083333333334 : Note F#4

Time 10.989583333333334 : Note G4

Time 11.09375 : Note G4

Time 11.197916666666666 : Note A4

Time 11.302083333333334 : Note A4

Time 11.40625 : Note B4

Time 11.510416666666666 : Note B4

Time 11.614583333333334 : Note B4

Time 11.71875 : Note G4

Time 11.822916666666666 : Note G4

Time 11.927083333333334 : Note B4

Time 12.03125 : Note B4

Time 12.03125 : Note D5

Time 12.135416666666666 : Note A4

Time 12.135416666666666 : Note D5

Time 12.239583333333334 : Note A4

Time 12.34375 : Note A4

Time 12.447916666666666 : Note A4

Time 12.552083333333334 : Note A4

Time 12.65625 : Note C4

Time 12.760416666666666 : Note C4

Minuet in G Major (Synthesized, Harmony Included)

Less aggressive thresholding, combined with boosting the magnitude of lower frequencies, allows our program to resolve low-frequency harmony. These are notes that would be played by the left hand of a pianist. 

Catching these notes comes at the cost of a 'sloppier' spectrum, however, as the lowered threshold passes a wider range around frequency peaks. Some peaks are widened enough that they are detected as multiple adjacent frequencies, leading to incorrect detections (false-positives). The lowered threshold also passes some harmonics, such as at (t=9, f=600) and (t=10.5, f=600). 

Raw Data

The effect of peak-widening into adjacent frequencies can be oberved at t=1.40625, where the peak around f=300 Hz is detected as both D4 (correct) and C#4 (incorrect). Similarly, the peak around f=250 Hz is detected as both B3 (correct) and Bb3 (incorrect).

Time 1.40625 : Note Bb3

Time 1.40625 : Note B3

Time 1.40625 : Note C4

Time 1.40625 : Note C#4

Time 1.40625 : Note D4

Time 1.40625 : Note D5

Time 1.5104166666666667 : Note Bb3

Time 1.5104166666666667 : Note B3

Time 1.5104166666666667 : Note C#4

Time 1.5104166666666667 : Note D4

Time 1.5104166666666667 : Note D#4

Time 1.5104166666666667 : Note D5

Time 1.6145833333333333 : Note Bb3

Time 1.6145833333333333 : Note B3

Time 1.6145833333333333 : Note D4

Time 1.6145833333333333 : Note D5

Time 1.71875 : Note G3

Time 1.71875 : Note Bb3

Time 1.71875 : Note B3

Time 1.71875 : Note D4

Time 1.71875 : Note D5

Time 1.9270833333333333 : Note B3

Time 1.9270833333333333 : Note D4

Time 1.9270833333333333 : Note G4

Time 2.03125 : Note G3

Time 2.03125 : Note B3

Time 2.03125 : Note G4

Time 2.2395833333333335 : Note A4

Time 2.34375 : Note A4

Time 2.4479166666666665 : Note B4

Time 2.5520833333333335 : Note G#3

Time 2.5520833333333335 : Note A3

Time 2.5520833333333335 : Note Bb3

Time 2.5520833333333335 : Note B4

Time 2.65625 : Note A3

Time 2.65625 : Note B4

Time 2.65625 : Note C5

Time 2.7604166666666665 : Note A3

Time 2.7604166666666665 : Note C5

Time 2.96875 : Note B3

Time 2.96875 : Note D5

Time 3.0729166666666665 : Note Bb3

Time 3.0729166666666665 : Note B3

Time 3.0729166666666665 : Note D5

Time 3.1770833333333335 : Note Bb3

Time 3.1770833333333335 : Note B3

Time 3.1770833333333335 : Note D5

Time 3.28125 : Note Bb3

Time 3.28125 : Note B3

Time 3.28125 : Note D5

Time 3.4895833333333335 : Note F#4

Time 3.4895833333333335 : Note G4

Time 3.90625 : Note F#4

Time 3.90625 : Note G4

Time 3.90625 : Note G#4

Time 4.010416666666667 : Note F#4

Time 4.010416666666667 : Note G4

Time 4.427083333333333 : Note B3

Time 4.427083333333333 : Note C4

Time 4.427083333333333 : Note E5

Time 4.53125 : Note B3

Time 4.53125 : Note C4

Time 4.53125 : Note C#4

Time 4.53125 : Note E5

Time 4.635416666666667 : Note B3

Time 4.635416666666667 : Note C4

Time 4.635416666666667 : Note E5

Time 4.84375 : Note Bb4

Time 4.84375 : Note B4

Time 4.947916666666667 : Note B4

Time 4.947916666666667 : Note C5

Time 5.15625 : Note D5

Time 5.260416666666667 : Note D5

Time 5.364583333333333 : Note D5

Time 5.46875 : Note D5

Time 5.46875 : Note E5

Time 5.572916666666667 : Note D5

Time 5.572916666666667 : Note E5

Time 5.677083333333333 : Note F#5

Time 5.78125 : Note F#5

Time 5.885416666666667 : Note Bb3

Time 5.885416666666667 : Note B3

Time 5.885416666666667 : Note C4

Time 5.885416666666667 : Note G5

Time 5.989583333333333 : Note Bb3

Time 5.989583333333333 : Note B3

Time 5.989583333333333 : Note G5

Time 6.09375 : Note Bb3

Time 6.09375 : Note B3

Time 6.09375 : Note G5

Time 6.40625 : Note F#4

Time 6.40625 : Note G4

Time 6.40625 : Note G#4

Time 6.510416666666667 : Note F#4

Time 6.510416666666667 : Note G4

Time 6.927083333333333 : Note G4

Time 7.03125 : Note F#4

Time 7.03125 : Note G4

Time 7.447916666666667 : Note A3

Time 7.447916666666667 : Note Bb4

Time 7.447916666666667 : Note B4

Time 7.447916666666667 : Note C5

Time 7.552083333333333 : Note A3

Time 7.552083333333333 : Note B4

Time 7.552083333333333 : Note C5

Time 7.65625 : Note A3

Time 7.65625 : Note Bb3

Time 7.65625 : Note C5

Time 7.96875 : Note D5

Time 8.072916666666666 : Note D5

Time 8.177083333333334 : Note C5

Time 8.177083333333334 : Note D5

Time 8.28125 : Note A3

Time 8.28125 : Note C5

Time 8.28125 : Note D5

Time 8.385416666666666 : Note A3

Time 8.385416666666666 : Note Bb4

Time 8.385416666666666 : Note B4

Time 8.385416666666666 : Note C5

Time 8.489583333333334 : Note B4

Time 8.59375 : Note A3

Time 8.59375 : Note B4

Time 8.697916666666666 : Note A4

Time 8.802083333333334 : Note A4

Time 8.90625 : Note A4

Time 8.90625 : Note Bb4

Time 8.90625 : Note B4

Time 9.010416666666666 : Note G3

Time 9.010416666666666 : Note B4

Time 9.114583333333334 : Note G3

Time 9.114583333333334 : Note B4

Time 9.114583333333334 : Note D5

Time 9.427083333333334 : Note C5

Time 9.53125 : Note G3

Time 9.53125 : Note C5

Time 9.635416666666666 : Note G3

Time 9.635416666666666 : Note Bb4

Time 9.635416666666666 : Note B4

Time 9.635416666666666 : Note C5

Time 9.739583333333334 : Note B4

Time 9.84375 : Note G3

Time 9.84375 : Note B4

Time 9.947916666666666 : Note A4

Time 10.052083333333334 : Note A4

Time 10.15625 : Note G3

Time 10.15625 : Note G4

Time 10.15625 : Note A4

Time 10.260416666666666 : Note G4

Time 10.46875 : Note C#4

Time 10.46875 : Note D4

Time 10.46875 : Note D#4

Time 10.46875 : Note F#4

Time 10.572916666666666 : Note C#4

Time 10.572916666666666 : Note D4

Time 10.572916666666666 : Note F#4

Time 10.572916666666666 : Note D5

Time 10.677083333333334 : Note D4

Time 10.677083333333334 : Note F#4

Time 10.989583333333334 : Note Bb3

Time 10.989583333333334 : Note B3

Time 10.989583333333334 : Note G4

Time 11.09375 : Note Bb3

Time 11.09375 : Note B3

Time 11.09375 : Note F#4

Time 11.09375 : Note G4

Time 11.197916666666666 : Note A4

Time 11.302083333333334 : Note A4

Time 11.40625 : Note A4

Time 11.40625 : Note Bb4

Time 11.40625 : Note B4

Time 11.510416666666666 : Note G3

Time 11.510416666666666 : Note B4

Time 11.614583333333334 : Note F#3

Time 11.614583333333334 : Note G3

Time 11.614583333333334 : Note B4

Time 11.614583333333334 : Note D5

Time 11.71875 : Note F#4

Time 11.71875 : Note G4

Time 11.822916666666666 : Note F#4

Time 11.822916666666666 : Note G4

Time 11.927083333333334 : Note C#4

Time 11.927083333333334 : Note D4

Time 11.927083333333334 : Note B4

Time 12.03125 : Note C#4

Time 12.03125 : Note D4

Time 12.03125 : Note D#4

Time 12.03125 : Note B4

Time 12.03125 : Note D5

Time 12.135416666666666 : Note C#4

Time 12.135416666666666 : Note D4

Time 12.135416666666666 : Note D#4

Time 12.135416666666666 : Note G#4

Time 12.135416666666666 : Note A4

Time 12.135416666666666 : Note Bb4

Time 12.135416666666666 : Note B4

Time 12.135416666666666 : Note D5

Time 12.239583333333334 : Note D4

Time 12.239583333333334 : Note A4

Time 12.34375 : Note D4

Time 12.34375 : Note A4

Time 12.447916666666666 : Note C#3

Time 12.447916666666666 : Note D3

Time 12.447916666666666 : Note D#3

Time 12.447916666666666 : Note A4

Time 12.552083333333334 : Note C#3

Time 12.552083333333334 : Note D3

Time 12.552083333333334 : Note D#3

Time 12.552083333333334 : Note A4

Time 12.552083333333334 : Note E6

Time 12.65625 : Note C#3

Time 12.65625 : Note D3

Time 12.65625 : Note D#3

Time 12.65625 : Note B3

Time 12.65625 : Note C4

Time 12.65625 : Note C#4

Time 12.65625 : Note A4

Time 12.65625 : Note C5

Time 12.760416666666666 : Note D3

Time 12.760416666666666 : Note B3

Time 12.760416666666666 : Note C4

Time 12.760416666666666 : Note C#4

Time 12.760416666666666 : Note A4

Time 12.760416666666666 : Note C5

Minuet in G Major (Real-World)

This recording of Minuet in G Major is faster than the synthesized recording, and includes real-world issues of noise, reverberation, and varying note articulation.

Our program processed the first eight measures of this piece to produce the image below, where yellow blocks indicate detected notes. Lower-frequency detected notes are significantly lengthened in time compared to the synthesized recording, owing to the effects of reverberation in the recording space and within the piano itself. Besides reverberation effects, our program detected notes very similarly to the synthesized recording.

Raw Data

Our program generated the following note detections for the first eight measures of the piece. As in synthesized recording, some peaks are wide enough that they are detected as multiple adjacent notes.

Time 5.15625 : Note Bb3

Time 5.15625 : Note B3

Time 5.15625 : Note C4

Time 5.15625 : Note D5

Time 5.260416666666667 : Note Bb3

Time 5.260416666666667 : Note B3

Time 5.260416666666667 : Note C4

Time 5.260416666666667 : Note D4

Time 5.260416666666667 : Note G4

Time 5.260416666666667 : Note D5

Time 5.364583333333333 : Note F#3

Time 5.364583333333333 : Note G3

Time 5.364583333333333 : Note B3

Time 5.364583333333333 : Note G4

Time 5.364583333333333 : Note D5

Time 5.46875 : Note F#3

Time 5.46875 : Note G3

Time 5.46875 : Note B3

Time 5.46875 : Note D4

Time 5.46875 : Note G4

Time 5.572916666666667 : Note Bb3

Time 5.572916666666667 : Note B3

Time 5.572916666666667 : Note G4

Time 5.677083333333333 : Note G4

Time 5.78125 : Note G4

Time 5.885416666666667 : Note G4

Time 5.885416666666667 : Note A4

Time 5.989583333333333 : Note A4

Time 6.09375 : Note A3

Time 6.09375 : Note B4

Time 6.197916666666667 : Note G#3

Time 6.197916666666667 : Note A3

Time 6.197916666666667 : Note Bb3

Time 6.302083333333333 : Note G#3

Time 6.302083333333333 : Note A3

Time 6.302083333333333 : Note Bb3

Time 6.40625 : Note G#3

Time 6.40625 : Note A3

Time 6.40625 : Note Bb3

Time 6.40625 : Note C5

Time 6.510416666666667 : Note G#3

Time 6.510416666666667 : Note A3

Time 6.510416666666667 : Note Bb3

Time 6.510416666666667 : Note C5

Time 6.614583333333333 : Note A3

Time 6.614583333333333 : Note Bb3

Time 6.614583333333333 : Note B3

Time 6.614583333333333 : Note C4

Time 6.614583333333333 : Note D5

Time 6.71875 : Note Bb3

Time 6.71875 : Note B3

Time 6.71875 : Note C4

Time 6.71875 : Note D5

Time 6.822916666666667 : Note Bb3

Time 6.822916666666667 : Note B3

Time 6.822916666666667 : Note D5

Time 6.927083333333333 : Note B3

Time 6.927083333333333 : Note C4

Time 6.927083333333333 : Note D5

Time 7.03125 : Note Bb3

Time 7.03125 : Note B3

Time 7.03125 : Note C4

Time 7.03125 : Note D5

Time 7.135416666666667 : Note G4

Time 7.239583333333333 : Note G4

Time 7.34375 : Note Bb3

Time 7.34375 : Note B3

Time 7.34375 : Note C4

Time 7.34375 : Note G4

Time 7.447916666666667 : Note Bb3

Time 7.447916666666667 : Note B3

Time 7.447916666666667 : Note C4

Time 7.447916666666667 : Note G4

Time 7.552083333333333 : Note Bb3

Time 7.552083333333333 : Note B3

Time 7.552083333333333 : Note G4

Time 7.552083333333333 : Note G#4

Time 7.65625 : Note G4

Time 7.760416666666667 : Note G4

Time 7.864583333333333 : Note Bb3

Time 7.864583333333333 : Note B3

Time 7.864583333333333 : Note C4

Time 7.864583333333333 : Note G4

Time 7.96875 : Note Bb3

Time 7.96875 : Note B3

Time 7.96875 : Note C4

Time 7.96875 : Note G4

Time 8.072916666666666 : Note C4

Time 8.072916666666666 : Note C5

Time 8.177083333333334 : Note C4

Time 8.177083333333334 : Note C5

Time 8.28125 : Note B3

Time 8.28125 : Note C4

Time 8.28125 : Note C#4

Time 8.28125 : Note C5

Time 8.28125 : Note E5

Time 8.385416666666666 : Note C5

Time 8.489583333333334 : Note B4

Time 8.59375 : Note C5

Time 8.697916666666666 : Note C4

Time 8.697916666666666 : Note C5

Time 8.802083333333334 : Note D5

Time 8.90625 : Note D5

Time 9.010416666666666 : Note D5

Time 9.114583333333334 : Note D5

Time 9.114583333333334 : Note E5

Time 9.21875 : Note F#5

Time 9.322916666666666 : Note F#5

Time 9.427083333333334 : Note F#5

Time 9.53125 : Note Bb3

Time 9.53125 : Note B3

Time 9.53125 : Note C4

Time 9.53125 : Note F#5

Time 9.635416666666666 : Note Bb3

Time 9.635416666666666 : Note B3

Time 9.635416666666666 : Note C4

Time 9.635416666666666 : Note F#5

Time 9.739583333333334 : Note Bb3

Time 9.739583333333334 : Note B3

Time 9.739583333333334 : Note F#5

Time 9.739583333333334 : Note G5

Time 9.84375 : Note Bb3

Time 9.84375 : Note B3

Time 9.84375 : Note C4

Time 9.84375 : Note F#5

Time 9.84375 : Note G5

Time 9.947916666666666 : Note Bb3

Time 9.947916666666666 : Note B3

Time 9.947916666666666 : Note C4

Time 9.947916666666666 : Note G4

Time 9.947916666666666 : Note G#4

Time 10.052083333333334 : Note B3

Time 10.052083333333334 : Note G4

Time 10.15625 : Note Bb3

Time 10.15625 : Note B3

Time 10.15625 : Note G4

Time 10.260416666666666 : Note Bb3

Time 10.260416666666666 : Note B3

Time 10.260416666666666 : Note C4

Time 10.364583333333334 : Note Bb3

Time 10.364583333333334 : Note B3

Time 10.364583333333334 : Note C4

Time 10.46875 : Note B3

Time 10.46875 : Note G4

Time 10.572916666666666 : Note G4

Time 10.677083333333334 : Note G4

Time 10.78125 : Note C5

Time 10.885416666666666 : Note B4

Time 10.885416666666666 : Note C5

Time 10.989583333333334 : Note G#3

Time 10.989583333333334 : Note A3

Time 10.989583333333334 : Note Bb3

Time 10.989583333333334 : Note C5

Time 11.09375 : Note G#3

Time 11.09375 : Note A3

Time 11.09375 : Note Bb3

Time 11.09375 : Note C5

Time 11.197916666666666 : Note G#3

Time 11.197916666666666 : Note A3

Time 11.197916666666666 : Note Bb3

Time 11.302083333333334 : Note G#3

Time 11.302083333333334 : Note A3

Time 11.302083333333334 : Note Bb3

Time 11.40625 : Note A3

Time 11.40625 : Note Bb3

Time 11.40625 : Note D5

Time 11.510416666666666 : Note A3

Time 11.510416666666666 : Note Bb3

Time 11.510416666666666 : Note D5

Time 11.614583333333334 : Note A3

Time 11.614583333333334 : Note Bb3

Time 11.614583333333334 : Note D5

Time 11.71875 : Note C5

Time 11.71875 : Note D5

Time 11.822916666666666 : Note A3

Time 11.822916666666666 : Note C5

Time 11.927083333333334 : Note B4

Time 12.03125 : Note B4

Time 12.135416666666666 : Note A4

Time 12.239583333333334 : Note A4

Time 12.34375 : Note B4

Time 12.447916666666666 : Note G3

Time 12.447916666666666 : Note G4

Time 12.447916666666666 : Note B4

Time 12.447916666666666 : Note D5

Time 12.552083333333334 : Note F#3

Time 12.552083333333334 : Note G3

Time 12.552083333333334 : Note G4

Time 12.65625 : Note F#3

Time 12.65625 : Note G3

Time 12.65625 : Note G4

Time 12.760416666666666 : Note G3

Time 12.760416666666666 : Note G4

Time 12.864583333333334 : Note C5

Time 12.96875 : Note C5

Time 13.072916666666666 : Note B4

Time 13.177083333333334 : Note B4

Time 13.28125 : Note A4

Time 13.385416666666666 : Note A4

Time 13.489583333333334 : Note G4

Time 13.59375 : Note G4

Time 13.697916666666666 : Note G4

Time 13.802083333333334 : Note D4

Time 13.802083333333334 : Note F#4

Time 13.90625 : Note F#4

Time 14.010416666666666 : Note F#4

Time 14.114583333333334 : Note C#4

Time 14.114583333333334 : Note D4

Time 14.114583333333334 : Note D#4

Time 14.21875 : Note Bb3

Time 14.21875 : Note B3

Time 14.21875 : Note C4

Time 14.21875 : Note G4

Time 14.322916666666666 : Note Bb3

Time 14.322916666666666 : Note B3

Time 14.322916666666666 : Note C4

Time 14.322916666666666 : Note G4

Time 14.427083333333334 : Note B3

Time 14.427083333333334 : Note C4

Time 14.427083333333334 : Note G4

Time 14.427083333333334 : Note A4

Time 14.53125 : Note B3

Time 14.53125 : Note A4

Time 14.635416666666666 : Note A4

Time 14.739583333333334 : Note G3

Time 14.739583333333334 : Note G4

Time 14.739583333333334 : Note B4

Time 14.739583333333334 : Note D5

Time 14.84375 : Note G3

Time 14.84375 : Note B3

Time 14.84375 : Note G4

Time 14.947916666666666 : Note G3

Time 14.947916666666666 : Note G4

Time 15.052083333333334 : Note G4

Time 15.15625 : Note D4

Time 15.15625 : Note B4

Time 15.15625 : Note D5

Time 15.260416666666666 : Note D4

Time 15.260416666666666 : Note B4

Time 15.260416666666666 : Note D5

Time 15.364583333333334 : Note D4

Time 15.364583333333334 : Note G#4

Time 15.364583333333334 : Note A4

Time 15.364583333333334 : Note Bb4

Time 15.364583333333334 : Note B4

Time 15.364583333333334 : Note D5

Time 15.46875 : Note D4

Time 15.46875 : Note A4

Time 15.572916666666666 : Note D4

Time 15.572916666666666 : Note A4

Time 15.677083333333334 : Note C3

Time 15.677083333333334 : Note C#3

Time 15.677083333333334 : Note D3

Time 15.677083333333334 : Note D#3

Time 15.677083333333334 : Note A4

Time 15.78125 : Note C#3

Time 15.78125 : Note D3

Time 15.78125 : Note D#3

Time 15.78125 : Note A4

Hedwig's Theme (Carillion)

A carillion is a bell tower which can be played like a piano. University of Michigan's North Campus has such a carillon, and the team intended to test their program on the carillon before time constraints and adverse weather forced a change of plans. The team expected this piece to be very challenging for the program to parse, and chose it to demonstrate areas for future improvement in the program.

Our program processed the first eight measures (between t=19 and t=28 seconds) of this piece to produce the image below, where yellow blocks indicate detected notes. This piece was, as expected, very challenging for our program. Detected notes are stretched out in time due to the bells ringing for a long time. 

The haunting melody is partially present, but is buried by other notes' undertones and reverberations. The undertone of the piece, D# (f=650), maintains a very strong presence throughout the piece due to sympathetic resonance, which is where sound from one bell cause other bells to resonate as well. Since the piece is in the key of D# minor, most notes create sympathetic resonance with the D# bell, causing it to sustain sound even when not being actively played.

Due to the intensity of the D# undertone at f=650, all other D# notes (f=1200, f=1800, etc.) are stripped from the spectrum by the team's harmonic rejection filter. The team experimented with different levels of harmonic rejection for this piece, but none produced a prominent, clearly-visible melody.

Very low-frequency noise is visible throughout the piece. The recording was taken outdoors, and the low-frequency noise is the sound of wind blowing across the microphone. The team considered rejecting all notes below some frequency, but decided against this because there might be legitimate low-frequency notes in other pieces.

Raw Data

Our program generated the following note detections for the first eight measures of the piece. Note detections were complicated by the fact that the carilon was not 'in-tune' with regular piano frequencies. Instead, all notes that the carillon played were slightly higher-pitched that piano notes. Detected notes are therefore often a half-step sharp (ex: an "A" would be detected as an "A#"). The low note "C3" was detected frequently due to low-frequency noise due to wind. 

Time 19.322916666666668 : Note C3

Time 19.427083333333332 : Note C3

Time 19.53125 : Note C3

Time 19.739583333333332 : Note C3

Time 19.84375 : Note C3

Time 19.947916666666668 : Note C3

Time 20.052083333333332 : Note B5

Time 20.052083333333332 : Note C#6

Time 20.052083333333332 : Note D6

Time 20.15625 : Note C#6

Time 20.15625 : Note D6

Time 20.260416666666668 : Note D6

Time 20.364583333333332 : Note C#6

Time 20.364583333333332 : Note D6

Time 20.46875 : Note D#5

Time 20.46875 : Note E5

Time 20.46875 : Note C#6

Time 20.46875 : Note D6

Time 20.46875 : Note G6

Time 20.46875 : Note C7

Time 20.572916666666668 : Note D#5

Time 20.572916666666668 : Note E5

Time 20.572916666666668 : Note C7

Time 20.677083333333332 : Note D#5

Time 20.677083333333332 : Note E5

Time 20.677083333333332 : Note D6

Time 20.78125 : Note C3

Time 20.78125 : Note D#5

Time 20.78125 : Note E5

Time 20.78125 : Note C#6

Time 20.78125 : Note D6

Time 20.885416666666668 : Note C3

Time 20.885416666666668 : Note D6

Time 20.989583333333332 : Note D#5

Time 20.989583333333332 : Note E5

Time 21.09375 : Note C3

Time 21.09375 : Note D#5

Time 21.09375 : Note E5

Time 21.09375 : Note C#6

Time 21.09375 : Note D6

Time 21.09375 : Note F#6

Time 21.09375 : Note G6

Time 21.09375 : Note A6

Time 21.09375 : Note Bb6

Time 21.197916666666668 : Note D#5

Time 21.197916666666668 : Note E5

Time 21.197916666666668 : Note D6

Time 21.197916666666668 : Note G6

Time 21.197916666666668 : Note A6

Time 21.197916666666668 : Note Bb6

Time 21.302083333333332 : Note D#5

Time 21.302083333333332 : Note E5

Time 21.302083333333332 : Note F#6

Time 21.302083333333332 : Note G6

Time 21.302083333333332 : Note A6

Time 21.302083333333332 : Note Bb6

Time 21.302083333333332 : Note C7

Time 21.40625 : Note D#5

Time 21.40625 : Note E5

Time 21.40625 : Note D6

Time 21.40625 : Note F#6

Time 21.40625 : Note G6

Time 21.40625 : Note A6

Time 21.40625 : Note Bb6

Time 21.40625 : Note C7

Time 21.510416666666668 : Note D#5

Time 21.510416666666668 : Note E5

Time 21.510416666666668 : Note C#6

Time 21.510416666666668 : Note D6

Time 21.510416666666668 : Note G#6

Time 21.510416666666668 : Note A6

Time 21.510416666666668 : Note Bb6

Time 21.510416666666668 : Note C7

Time 21.614583333333332 : Note D#5

Time 21.614583333333332 : Note E5

Time 21.614583333333332 : Note F#6

Time 21.614583333333332 : Note G6

Time 21.614583333333332 : Note G#6

Time 21.614583333333332 : Note A6

Time 21.614583333333332 : Note Bb6

Time 21.71875 : Note D#5

Time 21.71875 : Note E5

Time 21.71875 : Note A6

Time 21.822916666666668 : Note D#5

Time 21.822916666666668 : Note E5

Time 21.822916666666668 : Note A6

Time 21.927083333333332 : Note D#5

Time 21.927083333333332 : Note E5

Time 22.03125 : Note D#5

Time 22.03125 : Note E5

Time 22.135416666666668 : Note D#5

Time 22.135416666666668 : Note E5

Time 22.239583333333332 : Note D#5

Time 22.239583333333332 : Note E5

Time 22.34375 : Note D#5

Time 22.34375 : Note E5

Time 22.447916666666668 : Note C3

Time 22.447916666666668 : Note D#5

Time 22.447916666666668 : Note E5

Time 22.447916666666668 : Note Bb5

Time 22.447916666666668 : Note B5

Time 22.447916666666668 : Note C7

Time 22.552083333333332 : Note C3

Time 22.552083333333332 : Note D#5

Time 22.552083333333332 : Note E5

Time 22.552083333333332 : Note Bb5

Time 22.552083333333332 : Note B5

Time 22.65625 : Note D#5

Time 22.65625 : Note E5

Time 22.65625 : Note Bb5

Time 22.65625 : Note B5

Time 22.760416666666668 : Note C3

Time 22.760416666666668 : Note D#5

Time 22.760416666666668 : Note E5

Time 22.760416666666668 : Note Bb5

Time 22.760416666666668 : Note B5

Time 22.864583333333332 : Note D#5

Time 22.864583333333332 : Note E5

Time 22.864583333333332 : Note Bb5

Time 22.864583333333332 : Note B5

Time 22.864583333333332 : Note C7

Time 22.96875 : Note C3

Time 22.96875 : Note D#5

Time 22.96875 : Note E5

Time 22.96875 : Note A5

Time 22.96875 : Note Bb5

Time 22.96875 : Note B5

Time 22.96875 : Note C7

Time 23.072916666666668 : Note C3

Time 23.072916666666668 : Note D#5

Time 23.072916666666668 : Note E5

Time 23.072916666666668 : Note A5

Time 23.072916666666668 : Note Bb5

Time 23.072916666666668 : Note B5

Time 23.072916666666668 : Note C7

Time 23.177083333333332 : Note D#5

Time 23.177083333333332 : Note E5

Time 23.177083333333332 : Note A5

Time 23.177083333333332 : Note Bb5

Time 23.177083333333332 : Note B5

Time 23.177083333333332 : Note C7

Time 23.28125 : Note C3

Time 23.28125 : Note D#5

Time 23.28125 : Note E5

Time 23.28125 : Note Bb5

Time 23.28125 : Note B5

Time 23.28125 : Note C7

Time 23.385416666666668 : Note C3

Time 23.385416666666668 : Note D#5

Time 23.385416666666668 : Note E5

Time 23.385416666666668 : Note A5

Time 23.385416666666668 : Note Bb5

Time 23.385416666666668 : Note B5

Time 23.385416666666668 : Note C7

Time 23.489583333333332 : Note D#5

Time 23.489583333333332 : Note E5

Time 23.489583333333332 : Note A5

Time 23.489583333333332 : Note Bb5

Time 23.489583333333332 : Note B5

Time 23.489583333333332 : Note C7

Time 23.59375 : Note C3

Time 23.59375 : Note D#5

Time 23.59375 : Note E5

Time 23.59375 : Note Bb5

Time 23.59375 : Note B5

Time 23.697916666666668 : Note D#5

Time 23.697916666666668 : Note E5

Time 23.697916666666668 : Note Bb5

Time 23.697916666666668 : Note B5

Time 23.802083333333332 : Note D#5

Time 23.802083333333332 : Note E5

Time 23.802083333333332 : Note Bb5

Time 23.802083333333332 : Note B5

Time 23.90625 : Note D#5

Time 23.90625 : Note E5

Time 23.90625 : Note Bb5

Time 23.90625 : Note B5

Time 24.010416666666668 : Note D#5

Time 24.010416666666668 : Note E5

Time 24.010416666666668 : Note Bb5

Time 24.010416666666668 : Note B5

Time 24.114583333333332 : Note C3

Time 24.114583333333332 : Note D#5

Time 24.114583333333332 : Note E5

Time 24.114583333333332 : Note B5

Time 24.21875 : Note D#5

Time 24.21875 : Note E5

Time 24.21875 : Note F#5

Time 24.21875 : Note Bb5

Time 24.21875 : Note B5

Time 24.322916666666668 : Note C3

Time 24.322916666666668 : Note D#5

Time 24.322916666666668 : Note E5

Time 24.322916666666668 : Note F5

Time 24.322916666666668 : Note F#5

Time 24.322916666666668 : Note Bb5

Time 24.322916666666668 : Note B5

Time 24.427083333333332 : Note D#5

Time 24.427083333333332 : Note E5

Time 24.427083333333332 : Note F5

Time 24.427083333333332 : Note F#5

Time 24.427083333333332 : Note B5

Time 24.53125 : Note C3

Time 24.53125 : Note D#5

Time 24.53125 : Note E5

Time 24.53125 : Note F#5

Time 24.635416666666668 : Note C3

Time 24.635416666666668 : Note D#5

Time 24.635416666666668 : Note E5

Time 24.635416666666668 : Note F5

Time 24.635416666666668 : Note F#5

Time 24.635416666666668 : Note B5

Time 24.739583333333332 : Note D#5

Time 24.739583333333332 : Note E5

Time 24.739583333333332 : Note F5

Time 24.739583333333332 : Note F#5

Time 24.739583333333332 : Note Bb5

Time 24.739583333333332 : Note B5

Time 24.84375 : Note D#5

Time 24.84375 : Note E5

Time 24.84375 : Note F5

Time 24.84375 : Note F#5

Time 24.947916666666668 : Note C3

Time 24.947916666666668 : Note D#5

Time 24.947916666666668 : Note E5

Time 24.947916666666668 : Note F5

Time 24.947916666666668 : Note F#5

Time 25.052083333333332 : Note C3

Time 25.052083333333332 : Note F5

Time 25.052083333333332 : Note F#5

Time 25.15625 : Note C3

Time 25.15625 : Note D#5

Time 25.15625 : Note E5

Time 25.15625 : Note F5

Time 25.15625 : Note F#5

Time 25.260416666666668 : Note C3

Time 25.260416666666668 : Note D#5

Time 25.260416666666668 : Note E5

Time 25.260416666666668 : Note F5

Time 25.260416666666668 : Note F#5

Time 25.364583333333332 : Note D#5

Time 25.364583333333332 : Note E5

Time 25.364583333333332 : Note C7

Time 25.46875 : Note D#5

Time 25.46875 : Note E5

Time 25.572916666666668 : Note D#5

Time 25.572916666666668 : Note E5

Time 25.677083333333332 : Note D#5

Time 25.677083333333332 : Note E5

Time 25.78125 : Note D#5

Time 25.78125 : Note E5

Time 25.885416666666668 : Note D#5

Time 25.885416666666668 : Note E5

Time 25.989583333333332 : Note D#5

Time 25.989583333333332 : Note E5

Time 25.989583333333332 : Note F#6

Time 25.989583333333332 : Note G6

Time 25.989583333333332 : Note A6

Time 25.989583333333332 : Note Bb6

Time 25.989583333333332 : Note C7

Time 26.09375 : Note D#5

Time 26.09375 : Note E5

Time 26.09375 : Note G6

Time 26.09375 : Note A6

Time 26.09375 : Note Bb6

Time 26.09375 : Note C7

Time 26.197916666666668 : Note D#5

Time 26.197916666666668 : Note E5

Time 26.197916666666668 : Note A6

Time 26.197916666666668 : Note Bb6

Time 26.197916666666668 : Note C7

Time 26.302083333333332 : Note D#5

Time 26.302083333333332 : Note E5

Time 26.302083333333332 : Note F#5

Time 26.302083333333332 : Note Bb6

Time 26.302083333333332 : Note C7

Time 26.40625 : Note D#5

Time 26.40625 : Note E5

Time 26.40625 : Note F5

Time 26.40625 : Note F#5

Time 26.40625 : Note G#6

Time 26.40625 : Note A6

Time 26.40625 : Note Bb6

Time 26.40625 : Note C7

Time 26.510416666666668 : Note D#5

Time 26.510416666666668 : Note E5

Time 26.510416666666668 : Note F5

Time 26.510416666666668 : Note F#5

Time 26.510416666666668 : Note G#6

Time 26.510416666666668 : Note A6

Time 26.510416666666668 : Note Bb6

Time 26.510416666666668 : Note C7

Time 26.614583333333332 : Note D#5

Time 26.614583333333332 : Note E5

Time 26.614583333333332 : Note A6

Time 26.71875 : Note D#5

Time 26.71875 : Note E5

Time 26.71875 : Note A6

Time 26.822916666666668 : Note D#5

Time 26.822916666666668 : Note E5

Time 26.822916666666668 : Note A6

Time 26.927083333333332 : Note D#5

Time 26.927083333333332 : Note E5

Time 27.03125 : Note D5

Time 27.03125 : Note D#5

Time 27.03125 : Note E5

Time 27.03125 : Note F#5

Time 27.135416666666668 : Note D5

Time 27.135416666666668 : Note D#5

Time 27.135416666666668 : Note E5

Time 27.135416666666668 : Note F#5

Time 27.239583333333332 : Note D5

Time 27.239583333333332 : Note D#5

Time 27.239583333333332 : Note E5

Time 27.239583333333332 : Note F#5

Time 27.34375 : Note D#5

Time 27.34375 : Note E5

Time 27.34375 : Note F5

Time 27.34375 : Note G6

Time 27.34375 : Note G#6

Time 27.447916666666668 : Note D#5

Time 27.447916666666668 : Note E5

Time 27.447916666666668 : Note F5

Time 27.447916666666668 : Note G6

Time 27.447916666666668 : Note G#6

Time 27.552083333333332 : Note D5

Time 27.552083333333332 : Note D#5

Time 27.552083333333332 : Note E5

Time 27.552083333333332 : Note F5

Time 27.552083333333332 : Note G6

Time 27.552083333333332 : Note G#6

Time 27.65625 : Note D5

Time 27.65625 : Note D#5

Time 27.65625 : Note E5

Time 27.65625 : Note F5

Time 27.65625 : Note F#5

Time 27.65625 : Note G#6

Time 27.760416666666668 : Note D#5

Time 27.760416666666668 : Note E5

Time 27.760416666666668 : Note F5

Time 27.760416666666668 : Note Bb5

Time 27.760416666666668 : Note B5

Time 27.760416666666668 : Note F#6

Time 27.864583333333332 : Note C#6

Time 27.864583333333332 : Note D6

Time 27.96875 : Note D6