For these demonstrations, the program was put into real-time mode while music was played. The program ran on a teammate's laptop and used the laptop's microphone.
The team collaborated with two students from the University of Michigan School of Music: Max Crandell (pianist) and Spencer VanDellen (vocalist). These students played complex, beautiful music while the chord detection program did its best to keep up. We ran three recordings with different parameters for Max Crandell's piano sample, and two recordings with different parameters for Spencer VanDellen's vocal samples.
Our first data collection was with Max Crandell. For Max's piano recordings, we made several errors in data collection:
Pipe-lining terminal output directly to a file. In the video you will NOT see notes printing to terminal, but you will see some other program output For all other recordings we changed our program so that real-time chords would appear in the video.
The laptop microphone sensitivity was too high, likely causing clipping/saturation in the audio. For all other recordings we tested microphone setting to ensure audio was clear.
Our program's "-w" command-line option is supposed to capture the entire real time signal and save it to a WAV file. This feature was bugged for Max's recordings, so we did not save the raw audio as the microphone detected it.
Different chords were slowly played on a piano while the program output to terminal.
All chords were correctly detected, and most false-positives were a result of a note in a chord being briefly undetected.
t= 2.23260729112863 Detected notes: ['E']
t= 2.345985975935886 Detected chords: [<Chord: C>]
t= 2.724028428936221 Detected chords: [<Chord: Em(no5)/G>]
t= 2.9507857985507333 Detected notes: ['G']
t= 3.0641644833579895 Detected chords: [<Chord: Em(no5)>]
t= 3.1775431681652457 Detected chords: [<Chord: C>]
t= 3.290921852972502 Detected chords: [<Chord: Cno5>]
t= 4.214545016386071 Detected notes: ['C', 'D']
t= 4.327923701193328 Detected notes: ['C', 'C#', 'E']
t= 4.441302386000584 Detected notes: ['C', 'C#']
t= 4.55468107080784 Detected notes: ['C', 'C#', 'E']
t= 4.822231134319522 Detected notes: ['C', 'C#', 'D#', 'E']
t= 4.935609819126778 Detected notes: ['C', 'C#', 'D#', 'E']
t= 5.0489885039340345 Detected notes: ['C', 'C#', 'D#', 'E']
t= 5.162367188741291 Detected notes: ['C', 'C#', 'D#', 'E']
t= 5.275745873548547 Detected notes: ['C', 'C#', 'D#', 'E']
t= 5.389124558355803 Detected notes: ['C', 'C#', 'D#', 'E']
t= 5.502503243163059 Detected notes: ['C', 'C#', 'D#', 'E']
t= 5.615881927970316 Detected notes: ['C', 'C#', 'D#', 'E']
t= 6.309041188147063 Detected chords: [<Chord: C>]
t= 8.177195870687092 Detected notes: ['C']
t= 8.290574555494347 Detected notes: ['C']
t= 8.403953240301604 Detected notes: ['C', 'C#', 'E']
t= 8.51733192510886 Detected notes: ['C', 'C#', 'E']
t= 8.918411096477724 Detected notes: ['C', 'C#', 'E']
t= 9.031789781284981 Detected notes: ['C', 'C#', 'D#', 'E']
t= 9.145168466092237 Detected notes: ['C', 'C#', 'D#', 'E']
t= 9.258547150899494 Detected notes: ['C', 'C#', 'D#', 'E']
t= 9.37192583570675 Detected notes: ['C', 'C#', 'D#', 'E']
t= 9.485304520514006 Detected notes: ['C', 'C#', 'D#', 'E']
t= 9.598683205321262 Detected notes: ['C', 'C#', 'D#', 'E']
t= 9.712061890128519 Detected notes: ['C', 'C#', 'D#', 'E']
t= 10.076401633740552 Detected notes: ['F#', 'G', 'A']
t= 10.18978031854781 Detected chords: [<Chord: Gno5>]
t= 12.657725342276956 Detected notes: ['G']
t= 12.920378049755312 Detected chords: [<Chord: G>]
t= 13.03375673456257 Detected notes: ['D']
t= 13.147135419369825 Detected chords: [<Chord: D5>]
t= 14.931515535259463 Detected chords: [<Chord: Bdim>]
t= 16.984472116375187 Detected notes: ['B', 'F']
t= 18.05449684515021 Detected chords: [<Chord: Bdim>]
t= 18.167875529957467 Detected chords: [<Chord: Bm(no5)>]
t= 18.281254214764722 Detected notes: ['B']
t= 18.394632899571977 Detected notes: ['B']
t= 19.058593591594914 Detected notes: ['C', 'A', 'C#', 'E']
t= 19.17197227640217 Detected notes: ['C#']
t= 19.285350961209424 Detected chords: [<Chord: C#m(no5)>]
t= 21.205017091465646 Detected chords: [<Chord: C#m(no5)>]
t= 23.164027294063786 Detected chords: [<Chord: A>]
t= 23.27740597887104 Detected chords: [<Chord: A>]
t= 24.84850844450278 Detected notes: ['C', 'C#', 'E']
t= 24.961887129310036 Detected chords: [<Chord: A>]
t= 25.17155249967597 Detected chords: [<Chord: AM7/G#>]
t= 25.284931184483224 Detected chords: [<Chord: AM7/G#>]
t= 26.78669755258798 Detected notes: ['B', 'C', 'G']
t= 26.900076237395236 Detected chords: [<Chord: C>]
The following commentary is split into sections based on the chord being played.
C-Major (0-8 seconds): C-major chords (made up of the notes C, E, and G) were correctly detected at terminal timestamps t=2.34, 3.177, and 6.31.
Em(no5) chords (E and G) were detected at terminal timestamps t=2.72 and t=3.06 because the note "C" had not yet been detected at those times. A C(no5) chord (C and E) was detected at terminal timestamp t=3.29 because the note "G" was not detected at that point. In both of these cases, the full C-major chord was detected once the missing note was detected again.
The notes "C#" and "D#" were not played, but the program detected them while C chords were being played. This was caused by the DFT threshold being too low, leading to these frequency peaks being wide enough that they registered as adjacent notes. This is the same issue that plagued Minuet in G-Major in the "WAV File Analysis" section.
G-Major (9-13 seconds): G-major chords (G, B, and D) were correctly detected at terminal timestamps t=10.19 and t=12.92. At t=13.147 a D5 chord (D and G) was detected because the program failed to detect the note "B" at that time.
B-Diminished (13-17 seconds): B-Diminished chords (B, D, and F) were correctly detected at terminal timestamps t=14.92, t=18.05, and t=18.17. At t=16.99 the note "D" was missed, leading to only the notes "B" and "F" being detected.
A-Major (17-25 seconds): A-major chords (A, C#, and E) were correctly detected at terminal timestamps t=23.16, t=23.28, and t=24.96. C#m(no5) chords (C# and E) were detected at terminal timestamps t=19.29 and t=21.21 because the note "A" had not yet been detected. Once the note "A" was detected, the full A-major chord was detected.
At the very end of the video, two "AM7/G#" chords were detected, implying detection of a G# note. This was probably due to the note "A" becoming wide enough in the frequency spectrum that it became detected as the adjacent "G#". This issue could be resolved by increasing the DFT threshold or attenuating the sound as long as it did not prevent real notes from being detected.
We asked Max Crandell, SMTD student, to play his piano for us. We were impressed when he told us it was all improvisation!
For this take, the program was executed with a moving noise gate which had an infinitely long window backwards. That is, the noise gate would remember the loudest sound for the duration of the program's execution.
t= 1.7138672740010716 Detected notes: ['C']
t= 2.167382013230097 Detected notes: ['C']
t= 2.620896752459122 Detected notes: ['C']
t= 3.237793368817457 Detected notes: ['G', 'G#', 'Bb']
t= 3.351172053624713 Detected notes: ['G']
t= 3.4645507384319694 Detected notes: ['G']
t= 3.5779294232392256 Detected notes: ['C#', 'D', 'D#']
t= 3.691308108046482 Detected notes: ['C#', 'D']
t= 3.804686792853738 Detected notes: ['C#', 'D']
t= 3.9180654776609947 Detected chords: [<Chord: Bbno5/D>]
t= 4.258201532082763 Detected chords: [<Chord: Csus2>, <Chord: Gsus4/C>]
t= 4.3715802168900195 Detected notes: ['G']
t= 4.484958901697276 Detected chords: [<Chord: G5/D>]
t= 4.598337586504532 Detected notes: ['G']
t= 4.711716271311788 Detected chords: [<Chord: G5/D>]
t= 4.825094956119044 Detected notes: ['G']
t= 5.144230922603824 Detected notes: ['A']
t= 5.370988292218336 Detected chords: [<Chord: Gm/D>]
t= 5.4843669770255925 Detected chords: [<Chord: D5>]
t= 5.824503031447361 Detected notes: ['Bb']
t= 5.937881716254617 Detected chords: [<Chord: Bbno5/D>]
t= 6.278017770676386 Detected notes: ['D']
t= 6.391396455483642 Detected notes: ['C#', 'D']
t= 6.731532509905411 Detected notes: ['F']
t= 6.844911194712667 Detected notes: ['F']
t= 6.958289879519923 Detected notes: ['Bb']
t= 7.229342540645816 Detected notes: ['D', 'A', 'Bb']
t= 7.342721225453072 Detected notes: ['D', 'A', 'Bb']
t= 7.4560999102603285 Detected notes: ['A', 'Bb']
t= 7.569478595067585 Detected notes: ['F']
t= 7.682857279874841 Detected notes: ['A']
t= 8.363129388718377 Detected notes: ['Bb']
t= 8.93002281275466 Detected notes: ['D#']
t= 9.043401497561916 Detected notes: ['D', 'D#', 'E']
t= 9.106438239956118 Detected notes: ['A', 'Bb', 'B']
t= 9.219816924763375 Detected notes: ['A', 'Bb']
t= 9.33319560957063 Detected notes: ['A', 'Bb', 'B']
t= 9.446574294377887 Detected chords: [<Chord: D#5>]
t= 9.559952979185143 Detected notes: ['D#']
t= 9.6733316639924 Detected notes: ['D#']
t= 9.786710348799655 Detected notes: ['F']
t= 9.900089033606912 Detected notes: ['F']
t= 10.013467718414168 Detected notes: ['F']
t= 10.126846403221425 Detected notes: ['A', 'Bb', 'D#', 'F']
t= 10.24022508802868 Detected notes: ['G']
t= 10.353603772835937 Detected notes: ['G']
t= 10.466982457643192 Detected notes: ['G']
t= 10.58036114245045 Detected notes: ['F']
t= 10.693739827257705 Detected notes: ['F', 'G', 'Bb']
t= 10.807118512064962 Detected notes: ['F', 'G']
t= 10.920497196872219 Detected notes: ['F', 'G']
t= 11.215496143245913 Detected notes: ['F']
t= 11.32887482805317 Detected notes: ['F']
t= 11.442253512860425 Detected notes: ['C#', 'D', 'F']
t= 11.555632197667682 Detected notes: ['C#', 'D', 'D#', 'F']
t= 11.669010882474938 Detected notes: ['D', 'A', 'Bb', 'B', 'F']
t= 11.89576825208945 Detected notes: ['D#', 'E']
t= 12.122525621703963 Detected notes: ['F']
t= 12.23590430651122 Detected notes: ['F']
t= 12.349282991318475 Detected notes: ['A', 'Bb']
t= 12.462661676125732 Detected notes: ['Bb']
t= 12.689419045740244 Detected notes: ['A', 'Bb']
t= 12.8027977305475 Detected notes: ['A', 'Bb', 'F']
t= 13.029555100162014 Detected notes: ['E', 'F']
t= 13.018085559749819 Detected notes: ['F']
t= 13.131464244557076 Detected notes: ['E', 'F']
t= 13.244842929364331 Detected notes: ['D', 'D#']
t= 13.358221614171589 Detected chords: [<Chord: C5>]
t= 13.471600298978844 Detected notes: ['C', 'C#', 'D#']
t= 13.584978983786101 Detected notes: ['D#']
t= 13.698357668593356 Detected notes: ['G', 'G#', 'Bb']
t= 13.811736353400613 Detected notes: ['G']
t= 14.038493723015126 Detected notes: ['B', 'C']
t= 14.151872407822381 Detected notes: ['B', 'C', 'D#']
t= 14.378629777436894 Detected chords: [<Chord: G5>]
t= 14.49200846224415 Detected chords: [<Chord: G5>]
t= 14.605387147051406 Detected notes: ['Bb', 'D#', 'A']
t= 14.718765831858663 Detected chords: [<Chord: D#5/Bb>]
t= 14.83214451666592 Detected notes: ['B', 'C']
t= 15.13691926164692 Detected notes: ['B', 'C', 'Bb']
t= 15.250297946454175 Detected notes: ['B', 'C']
t= 15.590434000875945 Detected chords: [<Chord: G5>]
t= 15.7038126856832 Detected chords: [<Chord: G5>]
t= 15.930570055297713 Detected notes: ['C#', 'D']
t= 16.04394874010497 Detected notes: ['C#', 'D']
t= 16.157327424912225 Detected notes: ['C#', 'D', 'B']
t= 16.27070610971948 Detected notes: ['G']
t= 16.38408479452674 Detected notes: ['G']
t= 16.497463479333994 Detected notes: ['G']
t= 16.61084216414125 Detected notes: ['G']
t= 16.724220848948505 Detected notes: ['G']
t= 16.837599533755764 Detected notes: ['D']
t= 17.010932048702458 Detected notes: ['D']
t= 17.237689418316968 Detected chords: [<Chord: C5/G>]
t= 17.351068103124224 Detected notes: ['G']
t= 17.577825472738738 Detected notes: ['Bb']
t= 17.691204157545993 Detected chords: [<Chord: Gm(no5)>]
t= 18.031340211967763 Detected notes: ['A']
t= 18.144718896775018 Detected notes: ['A']
t= 18.258097581582273 Detected notes: ['F']
t= 18.371476266389532 Detected notes: ['C', 'C#']
t= 18.484854951196787 Detected notes: ['B', 'C']
t= 18.598233636004043 Detected chords: [<Chord: Am(no5)/C>]
t= 18.711612320811298 Detected notes: ['F']
t= 18.824991005618557 Detected notes: ['F']
t= 19.038234790706852 Detected notes: ['C']
t= 19.151613475514107 Detected notes: ['Bb']
t= 19.264992160321363 Detected notes: ['B', 'C']
t= 19.378370845128618 Detected notes: ['B', 'C', 'A']
t= 19.491749529935877 Detected notes: ['A']
t= 19.605128214743132 Detected chords: [<Chord: Fno5>]
t= 19.718506899550388 Detected notes: ['F']
t= 19.945264269164902 Detected chords: [<Chord: Fno5>]
t= 20.058642953972157 Detected notes: ['B', 'C', 'A']
t= 20.172021638779412 Detected notes: ['B', 'C', 'F', 'A']
t= 20.398779008393927 Detected notes: ['G']
t= 20.512157693201182 Detected notes: ['G']
t= 20.625536378008437 Detected notes: ['G']
t= 20.738915062815693 Detected notes: ['D#', 'A', 'Bb']
t= 20.85229374762295 Detected notes: ['A', 'Bb', 'G']
t= 21.056367000484684 Detected notes: ['A', 'Bb', 'B', 'G']
t= 21.16974568529194 Detected notes: ['Bb']
t= 21.283124370099195 Detected notes: ['D#']
t= 21.50988173971371 Detected notes: ['D#', 'A', 'Bb', 'G']
t= 21.623260424520964 Detected notes: ['A', 'Bb']
t= 21.73663910932822 Detected notes: ['A', 'Bb']
t= 21.850017794135475 Detected notes: ['D#', 'A', 'Bb']
t= 21.963396478942734 Detected notes: ['G']
t= 22.07677516374999 Detected notes: ['G']
t= 22.190153848557244 Detected notes: ['G']
t= 22.3035325333645 Detected notes: ['G', 'G#', 'A']
t= 22.41691121817176 Detected notes: ['G', 'A']
t= 22.530289902979014 Detected notes: ['G', 'A']
t= 22.64366858778627 Detected notes: ['G', 'A']
t= 22.757047272593525 Detected notes: ['C#', 'D']
t= 22.870425957400784 Detected notes: ['C#', 'D']
t= 23.065134128475407 Detected notes: ['C', 'C#', 'D']
t= 23.178512813282662 Detected notes: ['C#', 'D', 'D#']
t= 23.291891498089917 Detected notes: ['C#', 'D']
t= 23.745406237318942 Detected chords: [<Chord: G5/D>]
t= 23.858784922126198 Detected notes: ['A', 'Bb']
t= 23.972163606933456 Detected notes: ['A', 'Bb', 'B']
t= 24.085542291740712 Detected notes: ['A', 'Bb', 'G']
t= 24.198920976547967 Detected notes: ['C#', 'D']
t= 24.312299661355222 Detected notes: ['C#', 'D']
t= 24.539057030969737 Detected notes: ['Bb']
t= 24.765814400584247 Detected notes: ['A', 'Bb']
t= 24.879193085391506 Detected notes: ['C']
t= 25.03845032110236 Detected notes: ['C']
t= 25.151829005909615 Detected notes: ['E']
t= 25.83210111475315 Detected notes: ['B', 'C']
t= 25.94547979956041 Detected notes: ['B', 'C']
t= 26.058858484367665 Detected notes: ['B', 'C']
t= 26.17223716917492 Detected chords: [<Chord: Fno5/A>]
t= 26.285615853982176 Detected notes: ['G#', 'A']
t= 26.398994538789434 Detected chords: [<Chord: F/A>]
t= 26.51237322359669 Detected chords: [<Chord: Fno5/A>]
t= 26.7391305932112 Detected notes: ['B', 'C']
t= 26.85250927801846 Detected chords: [<Chord: F5/C>]
t= 27.064292987728336 Detected chords: [<Chord: F5/C>]
t= 27.177671672535592 Detected chords: [<Chord: Dm(no5)/F>]
t= 27.291050357342847 Detected notes: ['F', 'C', 'D']
t= 27.404429042150102 Detected notes: ['C']
t= 28.08470115099364 Detected notes: ['E', 'F']
t= 28.198079835800897 Detected notes: ['F']
t= 28.311458520608152 Detected notes: ['F']
t= 28.42483720541541 Detected notes: ['E', 'F']
t= 28.65159457502992 Detected notes: ['F']
t= 28.764973259837177 Detected notes: ['A']
t= 28.878351944644436 Detected notes: ['E', 'F']
t= 29.05976971044562 Detected notes: ['A', 'Bb', 'B', 'F']
t= 29.173148395252877 Detected notes: ['F', 'G']
t= 29.286527080060132 Detected notes: ['F', 'G']
t= 29.399905764867388 Detected notes: ['F', 'G']
t= 29.513284449674646 Detected notes: ['G']
t= 29.626663134481902 Detected notes: ['A', 'G']
t= 29.740041819289157 Detected notes: ['A', 'Bb', 'G']
t= 30.193556558518182 Detected notes: ['D#']
t= 30.420313928132696 Detected notes: ['D#']
t= 30.53369261293995 Detected notes: ['D#']
t= 30.647071297747207 Detected notes: ['G']
t= 30.760449982554462 Detected notes: ['G']
t= 30.87382866736172 Detected notes: ['G']
t= 31.089776119137028 Detected notes: ['G']
t= 31.203154803944283 Detected notes: ['G', 'A']
t= 31.31653348875154 Detected notes: ['G', 'A']
t= 31.656669543173308 Detected notes: ['F']
t= 32.11018428240233 Detected notes: ['C#', 'D', 'D#']
t= 32.22356296720959 Detected notes: ['C#', 'D', 'F']
t= 32.33694165201685 Detected notes: ['C#', 'D']
t= 32.4503203368241 Detected notes: ['F']
t= 32.56369902163136 Detected notes: ['F']
t= 32.67707770643862 Detected notes: ['D', 'E']
t= 32.79045639124587 Detected notes: ['Bb']
t= 32.90383507605313 Detected notes: ['D', 'C']
t= 33.07013519659064 Detected notes: ['C']
t= 33.29689256620515 Detected notes: ['F']
t= 33.41027125101241 Detected notes: ['F']
t= 33.75040730543418 Detected notes: ['F']
t= 33.86378599024143 Detected notes: ['D#']
t= 33.97716467504869 Detected notes: ['D#']
t= 34.09054335985594 Detected notes: ['D#']
t= 34.2039220446632 Detected notes: ['E', 'F']
t= 34.31730072947046 Detected notes: ['F']
t= 34.43067941427771 Detected notes: ['F']
t= 34.54405809908497 Detected notes: ['F']
t= 34.65743678389223 Detected notes: ['G']
t= 34.77081546869948 Detected notes: ['G']
t= 34.88419415350674 Detected notes: ['G']
t= 35.09215362920783 Detected notes: ['G', 'A']
t= 35.20553231401508 Detected notes: ['G', 'A']
t= 35.31891099882234 Detected notes: ['G']
t= 35.4322896836296 Detected notes: ['G', 'A']
t= 35.54566836843685 Detected notes: ['G']
t= 35.65904705324411 Detected notes: ['G', 'A']
t= 35.77242573805137 Detected notes: ['G', 'A']
t= 35.88580442285862 Detected notes: ['D#']
t= 35.99918310766588 Detected notes: ['D#']
t= 36.22594047728039 Detected notes: ['D', 'D#']
t= 36.4526978468949 Detected notes: ['F']
t= 36.56607653170216 Detected notes: ['E', 'F']
t= 36.67945521650942 Detected notes: ['F#', 'G', 'G#']
t= 36.79283390131667 Detected notes: ['F']
t= 36.90621258612393 Detected notes: ['F']
t= 37.09688814535163 Detected notes: ['G', 'G#']
t= 37.21026683015888 Detected notes: ['G#', 'A', 'F']
t= 37.32364551496614 Detected notes: ['G#', 'D#', 'E']
t= 37.4370241997734 Detected notes: ['D', 'D#']
t= 37.55040288458065 Detected notes: ['D#']
t= 37.66378156938791 Detected notes: ['D#']
t= 37.77716025419517 Detected notes: ['D#', 'F']
t= 37.89053893900242 Detected notes: ['A', 'Bb']
t= 38.00391762380968 Detected notes: ['A']
t= 38.23067499342419 Detected notes: ['C#', 'D']
t= 38.34405367823145 Detected notes: ['C#', 'D']
t= 38.4574323630387 Detected notes: ['C#', 'D']
t= 38.57081104784596 Detected notes: ['C#', 'D']
t= 38.684189732653216 Detected notes: ['C', 'C#', 'D']
t= 38.79756841746047 Detected notes: ['C#', 'D']
t= 38.91094710226773 Detected notes: ['C#', 'D']
t= 38.92934616460822 Detected notes: ['D']
t= 39.04272484941547 Detected notes: ['D']
t= 39.15610353422273 Detected notes: ['D']
t= 39.26948221902999 Detected notes: ['D']
t= 39.38286090383724 Detected chords: [<Chord: DmM7/C#>]
t= 39.4962395886445 Detected chords: [<Chord: D5>]
t= 39.60961827345176 Detected notes: ['A']
t= 40.74340512152432 Detected notes: ['C', 'C#']
The following is commentary on the program's performance in this demonstration. Chords were transcribed by the team. The program began execution about 3 seconds before Max began playing. There were a frustrating number of 'near-misses' in this demonstration, where just one more note needed to be detected to complete the chord. The team suspects that decreasing microphone sensitivity would have helped this issue tremendously.
(0:01 - 0:04) G-Minor
The program detected G-type chords between terminal timestamps t=4.25-5.37. G5 chords were detected at first, implying failure to detect the note Bb. At t=5.37 the program successfully registers the chord G-Minor.
(0:04 - 0:06) F
The program frequently detected the notes F, A, and D multiple times during this period. However, the program did not detect all three at once, and thus never declared it had detected an F-chord.
(0:09 - 0:11) Bb/D
The program did not detect this chord very well. The constituent notes are occasionally represented in terminal output, but are overwhelmed by other notes.
(0:11 - 0:13) C-Minor
During this period the chord "G5" was detected multiple times, representing the notes G and D simultaneously. G is a member of the C-chord, but D is not. It is likely that D was detected from the overlying melody being played.
(0:13 - 0:16) G-Minor
G, D, and Bb were all detected frequently during this period, and the G-Minor chord was successfully detected at terminal timestamp t=17.69.
(0:16 - 0:18) F
The individual notes F, A, and C were again detected frequently in this period. At terminal timestamps t=19.61 and t=19.95 the chord "Fno5" was detected, meaning that F and A had been simultaneously detected, but C was missing.
(0:18 - 0:20) Eb
"G", the minor third note in an Eb chord, was frequently detected during this time. The remaining notes of the chord, Eb and Bb, were not detected very frequently.
(0:21 - 0:22) G-Minor
The chord "G5" was detected at terminal timestamp t=23.75, meaning that only the note "Bb" was needed to complete the full chord. Bb was frequently detected in this time, but the full chord was unfortunately not detected.
(0:23 - 0:24) F/A
This chord was well-detected by the program between terminal timestamps t=26.17 and t=t=27.18. The chord was detected in several forms, including "F/A" (correct), "Fno5" (missing C), and "F5" (missing A). A "D-Minor no 5" chord was detected in this time, meaning that only the note "C" was missing for the F chord to be detected.
(0:25 - 0:26) Bb
This chord passed very quickly, and was therefore not well detected by our program. The constituent note "F" was detected for a brief time, but the team considers this chord to be missed.
(0:27 - 0:29) G-Minor/Eb
This chord was not detected well either. The notes "D#" and "G" appears in the terminal for a bit, but the other notes of the chord are missing.
(0:29 - 0:31) Bb/F
The notes "F" and "D" are frequently detected in this section, but the note "Bb" is not detected and no chords are detected.
(0:31 - 0:33) Bbsus4/F
This chord is composed of the notes "Bb", "Eb", and "F". F is well-detected in this time-range, and Eb is detected as well (printed as the equivalent D#). The note "F" is missing from the terminal, however, and thus the chord is missed.
(0:33 - 0:35) Bb7sus4
This is a complicated chord made up of the notes "Bb", "Eb", "F", and "C". F is again well-detected and Eb is present, but the notes "Bb" and "C" are poorly represented in terminal output. Therefore, this ambitious chord is missed.
(0:36 - 0:38) Bb
The chord "DmM7" is detected at terminal timestamp t=39.38. This chord is made up of the notes D, F, A, and C#. "D" and "F" are also members of the Bb chord, so it's possible that the Bb chord was nearly detected. The notes "A" and "C#" were most likely detected from the melody being played near the end of the recording.
Max improvised again. This time, our program ran with a moving noise gate filter which had a finite window length. This meant that our program would adapt its volume sensitivity to recent audio.
t= 2.272712794020603 Detected notes: ['C']
t= 2.4994701636351158 Detected notes: ['C', 'C#']
t= 2.612848848442372 Detected chords: [<Chord: Dm(no5)>]
t= 2.726227533249628 Detected notes: ['C', 'C#', 'F']
t= 2.8396062180568844 Detected notes: ['C', 'C#', 'F']
t= 2.9529849028641406 Detected notes: ['C']
t= 3.066363587671397 Detected notes: ['C', 'C#']
t= 3.179742272478653 Detected notes: ['C#']
t= 3.4064996420931655 Detected notes: ['C', 'C#']
t= 3.4843846167566555 Detected notes: ['C', 'C#']
t= 3.5977633015639117 Detected notes: ['C#']
t= 5.071686204058243 Detected notes: ['Bb', 'B']
t= 5.185064888865499 Detected notes: ['F#', 'G', 'Bb']
t= 5.683848461055972 Detected notes: ['C#', 'D']
t= 5.7972271458632285 Detected notes: ['C#', 'D']
t= 5.910605830670485 Detected notes: ['C#', 'D']
t= 6.137363200284997 Detected notes: ['G', 'C#', 'Bb']
t= 6.250741885092253 Detected notes: ['G']
t= 6.36412056989951 Detected notes: ['G']
t= 6.704256624321278 Detected notes: ['C#', 'D']
t= 6.817635309128534 Detected notes: ['Bb']
t= 6.931013993935791 Detected chords: [<Chord: Gm(no5)>]
t= 7.044392678743047 Detected chords: [<Chord: Dsus4>, <Chord: Gsus2/D>]
t= 7.271150048357559 Detected chords: [<Chord: Bbno5/D>]
t= 7.3845287331648155 Detected chords: [<Chord: Gm(no5)>]
t= 7.497907417972072 Detected notes: ['C']
t= 7.420542480183297 Detected notes: ['F']
t= 7.533921164990553 Detected notes: ['F']
t= 7.7606785346050655 Detected notes: ['F']
t= 7.874057219412322 Detected notes: ['E']
t= 7.987435904219578 Detected notes: ['F']
t= 8.100814589026834 Detected notes: ['F']
t= 8.327571958641347 Detected notes: ['F']
t= 8.667708013063114 Detected notes: ['G']
t= 8.781086697870371 Detected notes: ['F', 'G']
t= 8.894465382677627 Detected notes: ['G']
t= 9.343637546444155 Detected notes: ['G']
t= 9.457016231251412 Detected notes: ['F']
t= 9.570394916058667 Detected notes: ['F']
t= 9.683773600865925 Detected notes: ['D', 'D#']
t= 9.79715228567318 Detected notes: ['G']
t= 9.910530970480437 Detected chords: [<Chord: Gm(no5)/Bb>]
t= 10.023909655287692 Detected chords: [<Chord: Gm(no5)/Bb>]
t= 10.250667024902205 Detected notes: ['D#']
t= 10.477424394516717 Detected notes: ['F#', 'G']
t= 10.590803079323974 Detected notes: ['G']
t= 10.70418176413123 Detected notes: ['G']
t= 10.817560448938487 Detected notes: ['G']
t= 10.930939133745742 Detected notes: ['G']
t= 11.044317818552999 Detected notes: ['G']
t= 11.157696503360256 Detected notes: ['F#', 'G']
t= 11.343183597469546 Detected notes: ['G']
t= 11.456562282276803 Detected notes: ['G']
t= 11.683319651891315 Detected notes: ['C', 'F', 'D']
t= 11.79669833669857 Detected notes: ['F']
t= 12.817106499963877 Detected notes: ['F']
t= 13.04386386957839 Detected notes: ['Bb']
t= 13.157242554385647 Detected notes: ['C']
t= 13.782742266752281 Detected notes: ['C', 'D', 'D#', 'E']
t= 13.896120951559539 Detected notes: ['C', 'D#', 'F#', 'G']
t= 14.009499636366794 Detected notes: ['C', 'C#', 'D#']
t= 14.122878321174051 Detected chords: [<Chord: C5>]
t= 14.236257005981306 Detected notes: ['G']
t= 14.349635690788563 Detected notes: ['G']
t= 14.463014375595819 Detected notes: ['C', 'F#', 'G', 'G#', 'Bb', 'F']
t= 14.576393060403076 Detected notes: ['D#']
t= 14.689771745210331 Detected chords: [<Chord: Cm(no5)>]
t= 14.803150430017588 Detected notes: ['D#']
t= 15.0299077996321 Detected notes: ['D#', 'D']
t= 15.143286484439358 Detected notes: ['D#']
t= 15.338139614010073 Detected notes: ['D#']
t= 15.45151829881733 Detected notes: ['B', 'C']
t= 15.564896983624585 Detected notes: ['B', 'C', 'D#']
t= 15.678275668431843 Detected notes: ['D#']
t= 15.791654353239098 Detected notes: ['D#']
t= 15.905033038046355 Detected notes: ['D#']
t= 16.01841172285361 Detected notes: ['F#', 'G', 'G#', 'D']
t= 16.131790407660866 Detected notes: ['G']
t= 16.35854777727538 Detected notes: ['C#', 'D']
t= 16.471926462082635 Detected notes: ['C#', 'D']
t= 16.58530514688989 Detected notes: ['C#', 'D']
t= 16.69868383169715 Detected notes: ['F#', 'G']
t= 16.812062516504405 Detected notes: ['G']
t= 16.92544120131166 Detected notes: ['G']
t= 17.038819886118915 Detected notes: ['G']
t= 17.152198570926174 Detected notes: ['G']
t= 17.328392108822086 Detected notes: ['G']
t= 17.555149478436597 Detected notes: ['F#', 'G', 'Bb']
t= 17.78190684805111 Detected chords: [<Chord: G5/D>]
t= 17.895285532858367 Detected notes: ['G']
t= 18.008664217665622 Detected notes: ['G']
t= 18.122042902472877 Detected notes: ['D', 'F#', 'G']
t= 18.34880027208739 Detected notes: ['F']
t= 18.462178956894647 Detected notes: ['F']
t= 18.575557641701902 Detected notes: ['B', 'C']
t= 18.68893632650916 Detected notes: ['B', 'C']
t= 18.802315011316416 Detected notes: ['B', 'C', 'A']
t= 18.91569369612367 Detected notes: ['F']
t= 19.029072380930927 Detected notes: ['F']
t= 19.142451065738186 Detected notes: ['F']
t= 19.47066712541645 Detected chords: [<Chord: F5/C>]
t= 19.584045810223706 Detected chords: [<Chord: F5/C>]
t= 19.697424495030962 Detected notes: ['F']
t= 19.81080317983822 Detected notes: ['F']
t= 19.924181864645476 Detected notes: ['F']
t= 20.03756054945273 Detected notes: ['A']
t= 20.150939234259987 Detected notes: ['F']
t= 20.264317919067246 Detected notes: ['B', 'C', 'A']
t= 20.3776966038745 Detected notes: ['G']
t= 20.491075288681756 Detected notes: ['G']
t= 20.60445397348901 Detected notes: ['G']
t= 20.71783265829627 Detected notes: ['G']
t= 20.831211343103526 Detected notes: ['A', 'Bb', 'F#', 'G']
t= 20.94459002791078 Detected notes: ['A', 'Bb', 'G']
t= 21.057968712718036 Detected chords: [<Chord: Gm(no5)/Bb>]
t= 21.171347397525295 Detected notes: ['D#']
t= 21.32769068136237 Detected notes: ['D#']
t= 21.441069366169625 Detected chords: [<Chord: Gm(no5)/Bb>]
t= 21.781205420591395 Detected notes: ['G']
t= 21.89458410539865 Detected notes: ['G']
t= 22.007962790205905 Detected notes: ['G']
t= 22.12134147501316 Detected notes: ['G']
t= 22.23472015982042 Detected notes: ['G']
t= 22.348098844627675 Detected notes: ['G', 'A']
t= 22.46147752943493 Detected notes: ['D', 'F#', 'G']
t= 22.574856214242185 Detected notes: ['C#', 'D']
t= 22.688234899049444 Detected notes: ['C#', 'D']
t= 22.8016135838567 Detected notes: ['C#', 'D']
t= 22.914992268663955 Detected notes: ['C#', 'D']
t= 23.02837095347121 Detected notes: ['C#', 'D', 'G']
t= 23.36697634115241 Detected notes: ['F#', 'G']
t= 23.480355025959664 Detected notes: ['C#', 'D']
t= 23.59373371076692 Detected notes: ['A']
t= 23.707112395574175 Detected notes: ['A', 'Bb', 'B']
t= 23.820491080381434 Detected notes: ['Bb']
t= 23.93386976518869 Detected notes: ['Bb', 'A']
t= 24.047248449995944 Detected notes: ['Bb', 'G', 'A']
t= 24.1606271348032 Detected notes: ['G']
t= 24.27400581961046 Detected notes: ['Bb']
t= 24.387384504417714 Detected notes: ['Bb']
t= 24.50076318922497 Detected notes: ['A', 'Bb']
t= 24.614141874032224 Detected notes: ['B']
t= 24.727520558839483 Detected notes: ['C', 'E', 'F']
t= 24.84089924364674 Detected notes: ['F']
t= 24.954277928453994 Detected notes: ['B', 'C']
t= 25.181035298068508 Detected notes: ['F']
t= 25.354645332241276 Detected notes: ['F']
t= 25.46802401704853 Detected notes: ['F']
t= 25.581402701855787 Detected notes: ['F']
t= 25.694781386663042 Detected notes: ['B', 'C']
t= 25.8081600714703 Detected notes: ['B', 'C']
t= 25.921538756277556 Detected notes: ['B', 'C']
t= 26.03491744108481 Detected chords: [<Chord: F5/C>]
t= 26.148296125892067 Detected notes: ['F']
t= 26.261674810699326 Detected notes: ['F']
t= 26.60181086512109 Detected notes: ['F']
t= 26.71518954992835 Detected notes: ['B', 'C']
t= 26.828568234735606 Detected chords: [<Chord: Cm(no5)>]
t= 26.94194691954286 Detected notes: ['G']
t= 27.055325604350116 Detected notes: ['G']
t= 27.69070394887946 Detected notes: ['F']
t= 28.144218688108484 Detected notes: ['F']
t= 28.25759737291574 Detected notes: ['F']
t= 28.48435474253025 Detected notes: ['C']
t= 28.59773342733751 Detected notes: ['C']
t= 28.711112112144765 Detected notes: ['C']
t= 29.16462685137379 Detected notes: ['F']
t= 29.278005536181045 Detected notes: ['F']
t= 29.3913842209883 Detected notes: ['F']
t= 29.50476290579556 Detected notes: ['F']
t= 29.45063471956318 Detected notes: ['F']
t= 29.564013404370435 Detected notes: ['F']
t= 29.67739208917769 Detected notes: ['F']
t= 29.79077077398495 Detected notes: ['F']
t= 29.904149458792205 Detected notes: ['F']
t= 30.01752814359946 Detected notes: ['F']
t= 30.130906828406715 Detected notes: ['F']
t= 30.244285513213974 Detected notes: ['C']
t= 30.35766419802123 Detected notes: ['C']
t= 30.471042882828485 Detected chords: [<Chord: F5>]
t= 31.037936306864765 Detected notes: ['F#', 'G', 'D']
t= 31.151314991672024 Detected notes: ['G']
t= 31.344268878841618 Detected notes: ['G']
t= 31.457647563648873 Detected notes: ['A', 'Bb', 'B']
t= 31.57102624845613 Detected notes: ['A', 'Bb', 'B']
t= 31.684404933263384 Detected notes: ['C#', 'D', 'D#']
t= 31.797783618070643 Detected notes: ['C#', 'D']
t= 31.911162302877898 Detected notes: ['C#', 'D']
t= 32.02454098768516 Detected notes: ['F']
t= 32.13791967249241 Detected notes: ['F']
t= 32.25129835729967 Detected notes: ['F']
t= 32.36467704210692 Detected notes: ['D', 'C']
t= 32.47805572691418 Detected notes: ['C']
t= 32.59143441172144 Detected notes: ['C']
t= 32.70481309652869 Detected chords: [<Chord: Bb5/F>]
t= 32.81819178133595 Detected chords: [<Chord: Bb5/F>]
t= 32.93157046614321 Detected notes: ['F']
t= 33.04494915095046 Detected notes: ['F']
t= 33.15832783575772 Detected notes: ['C#', 'D']
t= 33.35769852056525 Detected chords: [<Chord: Dm(no5)>]
t= 33.4710772053725 Detected notes: ['F']
t= 33.58445589017976 Detected notes: ['C#', 'D']
t= 33.81121325979427 Detected notes: ['E', 'F']
t= 33.92459194460153 Detected notes: ['F']
t= 34.03797062940879 Detected notes: ['F']
t= 34.15134931421604 Detected notes: ['F']
t= 34.2647279990233 Detected notes: ['F']
t= 34.37810668383055 Detected notes: ['F']
t= 35.05837879267409 Detected notes: ['F']
t= 35.353478034877995 Detected notes: ['F']
t= 35.466856719685246 Detected notes: ['F']
t= 35.580235404492505 Detected notes: ['F']
t= 35.693614089299764 Detected notes: ['F']
t= 35.920371458914275 Detected notes: ['F']
t= 36.033750143721534 Detected notes: ['F']
t= 36.147128828528786 Detected notes: ['F']
t= 36.373886198143296 Detected notes: ['F']
t= 36.487264882950555 Detected notes: ['F']
t= 36.94077962217958 Detected notes: ['G#', 'A']
t= 37.054158306986835 Detected notes: ['A']
t= 37.167536991794094 Detected chords: [<Chord: A5>]
t= 37.38662727727912 Detected notes: ['A']
t= 37.50000596208637 Detected notes: ['A']
t= 37.61338464689363 Detected notes: ['A']
t= 37.72676333170089 Detected notes: ['A']
t= 37.84014201650814 Detected notes: ['C#', 'D']
t= 37.9535207013154 Detected notes: ['C#', 'D']
t= 38.06689938612266 Detected notes: ['C#', 'D']
t= 38.18027807092991 Detected notes: ['C#', 'D']
t= 38.40703544054442 Detected notes: ['F']
t= 38.52041412535168 Detected notes: ['F']
t= 38.63379281015894 Detected notes: ['F']
t= 38.86055017977345 Detected notes: ['B', 'C', 'C#']
t= 38.97392886458071 Detected notes: ['B', 'C']
t= 39.08730754938796 Detected notes: ['B', 'C']
t= 39.20068623419522 Detected notes: ['B', 'C', 'D']
t= 39.36064346685431 Detected notes: ['C#', 'D']
t= 39.474022151661565 Detected notes: ['A', 'Bb']
t= 39.587400836468824 Detected notes: ['F']
t= 39.70077952127608 Detected notes: ['B', 'C', 'D']
t= 39.814158206083334 Detected notes: ['B', 'C']
t= 39.92753689089059 Detected notes: ['C', 'C#', 'D', 'F', 'Bb']
t= 40.04091557569785 Detected notes: ['C']
t= 40.154294260505104 Detected chords: [<Chord: Dm(no5)>]
t= 40.26767294531236 Detected notes: ['C#', 'D']
t= 40.381051630119615 Detected notes: ['C#', 'D', 'F']
t= 40.49443031492687 Detected notes: ['B', 'C', 'C#', 'D', 'F']
t= 40.60780899973413 Detected notes: ['B', 'C']
t= 40.721187684541384 Detected notes: ['B', 'C']
t= 40.83456636934864 Detected notes: ['B', 'C']
t= 40.9479450541559 Detected notes: ['C']
t= 41.061323738963154 Detected notes: ['F']
t= 41.17470242377041 Detected notes: ['F']
t= 41.38482674016974 Detected notes: ['C#', 'D']
t= 41.498205424976994 Detected notes: ['C#', 'D']
t= 41.61158410978425 Detected notes: ['B', 'C', 'C#', 'D']
t= 41.72496279459151 Detected notes: ['C', 'C#']
t= 41.838341479398764 Detected notes: ['C#', 'D']
t= 41.95172016420602 Detected notes: ['D']
t= 42.06509884901328 Detected notes: ['D']
t= 42.85874964266407 Detected notes: ['E']
t= 42.97212832747133 Detected chords: [<Chord: Cno5>]
t= 43.08550701227858 Detected chords: [<Chord: Cno5>]
t= 43.19888569708584 Detected notes: ['C#', 'D', 'D#', 'E']
t= 43.39452846899054 Detected notes: ['C#']
t= 43.507907153797795 Detected notes: ['C#', 'D']
t= 43.621285838605054 Detected notes: ['D#', 'F', 'F#', 'C#']
t= 43.848043208219565 Detected notes: ['G']
t= 43.961421893026824 Detected notes: ['G#', 'A']
t= 44.07480057783408 Detected notes: ['E', 'D']
t= 44.414936632255845 Detected notes: ['E']
t= 44.64169400187036 Detected notes: ['F', 'F#']
t= 44.86845137148487 Detected notes: ['E']
t= 44.98183005629213 Detected notes: ['E']
t= 45.095208741099384 Detected notes: ['E']
t= 45.20858742590664 Detected notes: ['E']
t= 45.36041553869269 Detected notes: ['D#', 'E']
t= 45.473794223499944 Detected notes: ['F#']
t= 45.5871729083072 Detected notes: ['F#']
t= 45.70055159311446 Detected notes: ['E']
t= 45.81393027792171 Detected chords: [<Chord: C#m(no5)/E>]
t= 45.92730896272897 Detected notes: ['E']
t= 46.04068764753623 Detected notes: ['C#']
t= 46.26744501715074 Detected notes: ['A']
t= 46.38082370195799 Detected notes: ['G', 'G#', 'A']
t= 46.49420238676525 Detected notes: ['F#']
t= 46.60758107157251 Detected chords: [<Chord: Dno5>]
t= 46.72095975637976 Detected chords: [<Chord: F#no5/Bb>]
t= 46.83433844118702 Detected notes: ['F#']
t= 46.94771712599428 Detected notes: ['F#']
t= 47.06109581080153 Detected notes: ['F#']
t= 47.17447449560879 Detected notes: ['F', 'F#']
t= 47.35861500158332 Detected chords: [<Chord: F#m(no5)/A>]
t= 47.58537237119783 Detected notes: ['Bb', 'B']
t= 47.69875105600509 Detected notes: ['A', 'B']
t= 47.81212974081234 Detected notes: ['G#', 'A']
t= 47.9255084256196 Detected notes: ['A', 'Bb', 'B']
t= 48.038887110426856 Detected notes: ['A']
t= 48.15226579523411 Detected notes: ['C#', 'D', 'A']
t= 48.37902316484862 Detected notes: ['A']
t= 48.49240184965588 Detected notes: ['F#', 'G', 'G#', 'B']
t= 48.605780534463136 Detected notes: ['D', 'Bb', 'B']
t= 48.71915921927039 Detected notes: ['Bb', 'B']
t= 48.83253790407765 Detected notes: ['F', 'F#']
t= 48.945916588884906 Detected notes: ['F#']
t= 49.05929527369216 Detected notes: ['F#']
t= 49.172673958499416 Detected chords: [<Chord: B5>]
t= 49.40279587163947 Detected notes: ['C#']
t= 49.51617455644672 Detected notes: ['B', 'D', 'A', 'F#']
t= 49.62955324125398 Detected notes: ['F#']
t= 49.74293192606124 Detected notes: ['F', 'F#', 'A']
t= 49.96968929567575 Detected notes: ['F', 'F#']
t= 50.08306798048301 Detected notes: ['F#']
t= 50.19644666529026 Detected notes: ['E']
t= 50.53658271971203 Detected notes: ['F', 'F#']
t= 50.76334008932654 Detected notes: ['Bb', 'B']
t= 50.8767187741338 Detected notes: ['Bb', 'B']
t= 51.10347614374831 Detected notes: ['E']
t= 51.38958271398566 Detected notes: ['F#', 'E']
t= 51.50296139879291 Detected notes: ['F', 'E']
t= 51.61634008360017 Detected notes: ['G']
t= 51.72971876840743 Detected notes: ['G']
t= 51.95647613802194 Detected notes: ['B']
t= 52.0698548228292 Detected notes: ['B']
t= 52.40999087725096 Detected notes: ['G#', 'A']
t= 52.52336956205822 Detected notes: ['G#', 'A']
t= 52.86350561647999 Detected notes: ['F']
t= 53.0902629860945 Detected notes: ['A']
t= 53.20364167090176 Detected notes: ['A']
t= 53.685162944317945 Detected notes: ['F', 'F#']
t= 53.798541629125204 Detected notes: ['F#']
t= 53.911920313932455 Detected notes: ['F#']
t= 54.025298998739714 Detected notes: ['E']
t= 54.13867768354697 Detected notes: ['E']
t= 54.252056368354225 Detected notes: ['E']
t= 54.365435053161484 Detected notes: ['D#', 'E', 'F#']
t= 54.478813737968736 Detected notes: ['Bb', 'E', 'F#']
t= 54.592192422775994 Detected notes: ['E', 'F#']
t= 54.70557110758325 Detected chords: [<Chord: E5/B>]
t= 54.818949792390505 Detected notes: ['E']
t= 54.932328477197764 Detected notes: ['F', 'F#', 'B', 'E']
t= 55.04570716200502 Detected notes: ['C#', 'D']
t= 55.159085846812275 Detected notes: ['C#', 'D']
t= 55.27246453161953 Detected notes: ['C#', 'D']
t= 54.98089321508429 Detected notes: ['C#', 'D']
t= 55.094271899891545 Detected notes: ['C#', 'D']
t= 55.207650584698804 Detected notes: ['C#', 'D']
t= 55.32102926950606 Detected notes: ['B', 'C#', 'D']
t= 55.434407954313315 Detected notes: ['Bb', 'B', 'D']
t= 55.66116532392783 Detected notes: ['F', 'F#']
t= 55.774544008735084 Detected notes: ['F#', 'G']
t= 55.88792269354234 Detected notes: ['B']
t= 56.001301378349595 Detected notes: ['E']
t= 56.114680063156854 Detected notes: ['C#', 'D', 'E']
t= 56.22805874796411 Detected notes: ['C#', 'D', 'E']
t= 56.341437432771365 Detected notes: ['C', 'F', 'F#', 'D', 'E']
t= 56.45481611757862 Detected notes: ['C', 'F', 'F#', 'D', 'E', 'B']
t= 56.56819480238588 Detected notes: ['C', 'F#', 'G', 'D', 'B']
The chord progression was again transcribed by the team. Since the program started before Max began playing, the terminal timestamps are 'ahead' by about 5 seconds. Many partial chords were detected, with only one note missing from the entire chord. The team believes the high number of partial chords was particularly owing to the microphone saturating.
(0:01 - 0:02) Gm
The chord "Gm(no5)" was detected at terminal timestamp t=6.93 and t=7.38, indicating that only the note "D" was missing from the full chord. The chord "Bb(no5)" was detected at terminal timestamp t=7.38, indicating that the notes "Bb" and "D" were detected simultaneously. Had the note "G" been detected as well, the G-Minor chord would have been successfully detected.
(0:02 - 0:05 ) F
This chord was not detected well. The individual note "F" was frequently detected during this time period, but the other notes of the chord were not detected.
(0:05 - 0:07) Eb
Two G-Minor (no5) chords were detected at terminal timestamps t=9.91 and t=10.02. These indicate that the notes G and Bb were detected. If the note "Eb" had been detected, the full chord would have been successfully detected.
(0:07 - 0:09) Bb
The note "F", which belongs to the Bb chord, was detected several times in this time period. However, the rest of the chord was not detected.
(0:09 - 0:11) Cm
At terminal timestamp t=14.13 the chord "C5" was detected, meaning that the only note missing from the full C-Minor chord was "E". At t=14.69, the chord "Cm(no5)" was detected, meaning only the note "G" was missing from the full chord. This chord was very close to being detected in full.
(0:11 - 0:13) Gm
The chord "G5" was detected at terminal timestamp t=17.78, meaning that the full chord would have been detected if the note "Bb" registered.
(0:13 - 0:16) F
The constituent notes F, A, and C were well represented in the terminal for this chord, and the partial chord "F5" was detected at terminal timestamps t=19.47 and t=19.58.
(0:16 - 0:18) Eb
The G-Minor (no5) chord was detected at terminal timestamps t=21.06 and t=21.44, meaning the notes "G" and "Bb" were detected simultaneously. If the note "Eb" were detected in this time, the full chord would have been detected.
(0:18 - 0:20) Gm
The notes "G" and "Bb" were represented in the terminal briefly, but otherwise this chord was missed.
(0:20 - 0:22) F/A
The partial chord "F5" was detected at terminal timestamp t=26.03. If the note "A" were detected, the full chord would have been registered.
(0:22 - 0:24) Bbsus4
The chord Bbsus4 is composed of the notes "Bb", "Eb", and "F". In this time period, the note "F" was detected many times. Unfortunately the rest of the chord was not detected.
(0:24 - 0:26) Bb
The chord "F5" was registered at terminal timestamp t=30.47. This meant that the notes "D" and "F" were detected. If the note "Bb" were detected as well, the entire Bb chord would have been succesfully detected.
(0:26 - 0:28) Gm7
The Gm7 chord is composed of the notes G, Bb, D, and F. This chord was partially detected in the form of the chord "Bb5". This means that the notes "Bb" and "F" were detected, leaving the notes "D" and "G" undetected.
(0:28 - 0:31) Bb
The chord "Dm(no5)", made up of notes "D" and "F", was detected at terminal timestamp t=33.36. If the note "Bb" had been detected, the full Bb chord would have been successfully registered.
(0:31 - 0:33) Bbsus4
The note "F" was detected frequently for some time, but otherwise this chord was not represented in terminal output.
(0:33 - 0:37) Bb
Like the previous Bb chord, this chord was partially detected as the chord "Dm(no5)" at terminal timestamp t=40.15.
(0:37 - 0:41) D
Besides several detections of the note "D", this chord was not represented in terminal output. Many other notes were detected in this time, suggesting that the melody 'drowned-out' the underlying chord.
(0:41 - 0:45) Gmaj7
The Gmaj7 chord is composed of the notes G, B, D, and F#. The chord "Dno5" was detected at terminal timestamp t=46.61, meaning that the notes "D" and "F#" were detected. The notes "G" and "B" were not detected, and thus the chord was not completed.
The chord "B5" was detected at terminal timestamp t=49.17, meaning that the notes "B" and "F#" were detected. The notes "G" and "D" were not detected simultaneously, though.
(0:45 - 0:47) Em
The constituent notes G, B, and E were well-represented during this time period. The chord "E5", composed of "E" and "B", was detected at terminal timestamp t=54.71 as well. The full Em chord, however, was not itself detected.
(0:47 - 0:50) F#m
The notes "F#" and "A" were frequently detected during this time, but the note "C#" was not detected to complete the chord.
(0:50 - 0:52) Bm
The notes composing this chord (B, D, F#) were not well represented in the terminal output. Many other notes were detected, suggesting that the melody drowned-out the underlying chord.
Spencer VanDellen, STMD vocalist, sang an excerpt from "Ecco Ridente" (from Rossini's Barber of Seville). Let's see if our program can keep up with his vocals! The team expected this to be a very large challenge for the program.
For this demonstration, we evaluated our program based on it's detection of individual notes. Vocalists can't sing entire chords by themselves, after all!
t= 0.6763993109705226 Detected notes: ['C']
t= 0.7897779957777789 Detected notes: ['C']
t= 0.9031566805850351 Detected notes: ['C']
t= 3.1702911902447135 Detected notes: ['F', 'F#', 'G', 'C#', 'D']
t= 3.2836698750519697 Detected notes: ['D']
t= 3.397048559859226 Detected notes: ['F#', 'G', 'C', 'C#', 'D']
t= 3.510427244666482 Detected notes: ['F', 'F#', 'C', 'C#', 'D']
t= 3.8113199080469387 Detected notes: ['C#', 'D', 'F']
t= 3.924698592854195 Detected notes: ['F', 'F#', 'G', 'C', 'C#', 'D', 'D#', 'Bb', 'B']
t= 4.0380772776614515 Detected notes: ['G', 'G#', 'A']
t= 4.264834647275964 Detected notes: ['G#', 'A']
t= 4.37821333208322 Detected notes: ['G#', 'A', 'Bb']
t= 4.491592016890476 Detected notes: ['G#', 'A', 'Bb']
t= 4.604970701697733 Detected notes: ['G#', 'A']
t= 4.872646094990426 Detected notes: ['Bb', 'B', 'C']
t= 4.986024779797682 Detected notes: ['B', 'C']
t= 5.099403464604938 Detected notes: ['G', 'G#', 'A', 'B', 'C']
t= 5.855563720607974 Detected notes: ['B', 'C']
t= 5.9689424054152305 Detected notes: ['Bb', 'B', 'C']
t= 6.082321090222487 Detected notes: ['B', 'C']
t= 6.195699775029743 Detected notes: ['B', 'C', 'C#']
t= 6.5358358294515115 Detected notes: ['B', 'C', 'G#', 'A']
t= 6.649214514258768 Detected notes: ['C', 'C#', 'Bb']
t= 6.830932458782413 Detected notes: ['B', 'C']
t= 6.944311143589669 Detected notes: ['C', 'C#']
t= 7.057689828396925 Detected notes: ['B', 'C', 'C#']
t= 7.171068513204181 Detected notes: ['Bb', 'B', 'C']
t= 7.284447198011438 Detected notes: ['A', 'Bb', 'B', 'C']
t= 8.050859612942823 Detected notes: ['F#']
t= 8.390995667364592 Detected notes: ['F#']
t= 8.617753036979105 Detected notes: ['B', 'C', 'F#']
t= 8.868191322231509 Detected notes: ['F', 'F#']
t= 8.981570007038766 Detected notes: ['C', 'G', 'G#']
t= 9.094948691846021 Detected notes: ['C#', 'D', 'F#']
t= 9.321706061460533 Detected notes: ['B', 'C']
t= 9.548463431075046 Detected notes: ['B', 'C', 'F#', 'G', 'G#']
t= 9.928026994610049 Detected notes: ['Bb', 'B', 'C', 'F#', 'G']
t= 10.041405679417306 Detected notes: ['F#']
t= 10.154784364224561 Detected notes: ['B', 'C', 'C#', 'F', 'F#', 'G']
t= 10.268163049031818 Detected notes: ['B', 'C', 'F#', 'G']
t= 10.381541733839073 Detected notes: ['F', 'F#']
t= 10.49492041864633 Detected notes: ['Bb', 'B', 'C', 'F#']
t= 10.608299103453586 Detected notes: ['Bb', 'B', 'C', 'C#', 'G', 'G#']
t= 11.555403319075534 Detected notes: ['F', 'F#', 'G']
t= 11.668782003882791 Detected notes: ['F', 'F#', 'G', 'G#']
t= 11.95549496068976 Detected notes: ['F']
t= 12.068873645497018 Detected notes: ['F', 'F#', 'G']
t= 12.182252330304273 Detected notes: ['F#', 'G', 'G#']
t= 12.29563101511153 Detected notes: ['F', 'F#', 'G']
t= 12.409009699918785 Detected notes: ['F', 'F#', 'G']
t= 12.749145754340555 Detected notes: ['B', 'C', 'C#']
t= 12.895485719585634 Detected notes: ['C']
t= 14.505785153295989 Detected notes: ['F']
t= 14.619163838103244 Detected notes: ['F#', 'G', 'G#']
t= 14.732542522910501 Detected notes: ['D']
t= 14.99038084402106 Detected notes: ['Bb', 'B', 'E']
t= 15.103759528828316 Detected chords: [<Chord: Cno5/E>]
t= 15.217138213635572 Detected notes: ['E', 'B', 'C']
t= 15.330516898442829 Detected notes: ['B', 'C', 'F#', 'G']
t= 15.443895583250084 Detected notes: ['B', 'C', 'F#']
t= 16.28101865720857 Detected notes: ['C']
t= 16.394397342015825 Detected notes: ['E', 'F', 'C']
t= 16.84791208124485 Detected notes: ['D']
t= 17.46255755911068 Detected notes: ['F#']
t= 17.689314928725192 Detected notes: ['F', 'F#']
t= 18.105917056942204 Detected notes: ['G', 'G#', 'A']
t= 18.21929574174946 Detected notes: ['G#', 'A', 'C']
t= 18.332674426556714 Detected notes: ['G', 'G#', 'C']
t= 18.44605311136397 Detected notes: ['G', 'G#', 'A', 'C']
t= 18.55943179617123 Detected notes: ['G#', 'A', 'C']
t= 18.672810480978484 Detected notes: ['G', 'G#', 'C']
t= 18.78618916578574 Detected notes: ['G#', 'A', 'C']
t= 18.899567850592994 Detected notes: ['G', 'G#', 'A', 'C']
t= 19.076927026653507 Detected notes: ['G#', 'A']
t= 20.537899975873987 Detected notes: ['F#', 'G']
t= 20.651278660681243 Detected notes: ['F', 'F#', 'G']
t= 20.764657345488498 Detected notes: ['G']
t= 20.878036030295753 Detected notes: ['F#', 'G']
t= 21.587701802351038 Detected notes: ['G#', 'A']
t= 21.701080487158293 Detected notes: ['G#', 'A']
t= 21.81445917196555 Detected notes: ['G#', 'A']
t= 21.927837856772804 Detected notes: ['G#', 'A']
t= 22.220562538051823 Detected notes: ['G#', 'A', 'Bb', 'B', 'F#']
t= 22.333941222859078 Detected notes: ['A', 'Bb', 'B']
t= 22.674077277280848 Detected notes: ['B', 'C', 'F#']
t= 22.787455962088103 Detected notes: ['B', 'C', 'G']
t= 22.90083464689536 Detected notes: ['F', 'F#']
t= 23.014213331702614 Detected notes: ['B', 'C', 'F', 'F#', 'G']
t= 23.196419080639103 Detected notes: ['F', 'F#']
t= 23.30979776544636 Detected notes: ['B', 'C']
t= 23.423176450253614 Detected notes: ['B', 'C']
t= 23.649933819868128 Detected notes: ['B', 'C']
t= 23.87669118948264 Detected notes: ['F', 'F#']
t= 23.990069874289894 Detected notes: ['C', 'F#', 'G']
t= 24.189516624355534 Detected notes: ['F#']
t= 24.5296526787773 Detected notes: ['B', 'C']
t= 24.756410048391814 Detected notes: ['F#']
t= 25.472219151974805 Detected notes: ['G', 'G#']
t= 25.58559783678206 Detected notes: ['A', 'Bb', 'B', 'E', 'F']
t= 25.812355206396575 Detected notes: ['G#', 'A', 'E']
t= 25.92573389120383 Detected notes: ['A', 'Bb']
t= 26.039112576011085 Detected chords: [<Chord: B5>]
t= 26.350892068577462 Detected notes: ['F', 'F#']
t= 26.577649438191973 Detected notes: ['D#', 'A', 'Bb', 'B']
t= 0.5375860537531154 Detected notes: ['C']
t= 3.260797587111423 Detected notes: ['F#', 'G', 'C#', 'D']
t= 3.3741762719186794 Detected notes: ['F#', 'C', 'C#', 'D']
t= 3.7636938895227687 Detected notes: ['G', 'F#', 'C#', 'D', 'F']
t= 3.877072574330025 Detected notes: ['F#', 'G', 'C', 'C#', 'D']
t= 3.990451259137281 Detected notes: ['F', 'F#', 'G', 'C', 'C#', 'D']
t= 4.33058731355905 Detected notes: ['G#', 'A']
t= 4.4439659983663065 Detected notes: ['G#', 'A']
t= 4.557344683173563 Detected notes: ['G#', 'A', 'Bb']
t= 4.791680416012027 Detected notes: ['A', 'Bb']
t= 4.905059100819283 Detected notes: ['A', 'Bb']
t= 5.018437785626539 Detected notes: ['A', 'Bb', 'B', 'C']
t= 5.131816470433796 Detected notes: ['B', 'Bb', 'C']
t= 5.245195155241052 Detected notes: ['G#', 'A', 'Bb', 'B', 'C']
t= 5.358573840048308 Detected notes: ['B', 'C', 'C#', 'G', 'G#']
t= 5.5853312096628205 Detected notes: ['A', 'Bb', 'B', 'C', 'F', 'F#']
t= 6.0099586672793714 Detected notes: ['B', 'C']
t= 6.123337352086628 Detected notes: ['B', 'C']
t= 6.236716036893884 Detected notes: ['Bb', 'B', 'C']
t= 6.35009472170114 Detected notes: ['B', 'C']
t= 7.116625869084919 Detected notes: ['B', 'C']
t= 7.230004553892175 Detected notes: ['B', 'C']
t= 7.343383238699431 Detected notes: ['A', 'Bb', 'B']
t= 7.8527332152368805 Detected notes: ['A', 'Bb', 'E', 'F', 'F#']
t= 7.966111900044137 Detected notes: ['F', 'F#']
t= 8.079490584851392 Detected notes: ['A', 'Bb', 'E', 'F']
t= 8.306247954465904 Detected notes: ['F#']
t= 8.646384008887674 Detected notes: ['F', 'F#']
t= 8.943685056400948 Detected notes: ['B', 'C', 'F#', 'G']
t= 9.057063741208204 Detected notes: ['Bb', 'B', 'C', 'F', 'F#']
t= 9.283821110822716 Detected chords: [<Chord: C5>]
t= 9.922860464000918 Detected notes: ['Bb', 'B', 'C', 'F#', 'G']
t= 10.036239148808175 Detected notes: ['Bb', 'B', 'C', 'F', 'F#', 'G']
t= 10.14961783361543 Detected notes: ['A', 'Bb', 'F', 'F#']
t= 10.262996518422687 Detected notes: ['B', 'C', 'F#', 'G']
t= 10.376375203229943 Detected notes: ['Bb', 'B', 'C', 'F', 'F#', 'G']
t= 10.4897538880372 Detected notes: ['A', 'Bb', 'B', 'C', 'F', 'F#']
t= 10.603132572844455 Detected notes: ['B', 'C', 'F#']
t= 10.716511257651712 Detected notes: ['Bb', 'B', 'C', 'F', 'F#']
t= 11.933286985302187 Detected notes: ['F', 'F#', 'G', 'G#']
t= 12.1600443549167 Detected notes: ['F', 'F#', 'G']
t= 12.273423039723957 Detected notes: ['F#', 'G']
t= 12.386801724531212 Detected notes: ['F#']
t= 12.50018040933847 Detected notes: ['F', 'F#', 'G']
t= 13.017754317951852 Detected notes: ['F', 'F#']
t= 13.131133002759107 Detected notes: ['F', 'F#', 'C#', 'D', 'C']
t= 14.699834354880716 Detected notes: ['F#']
t= 15.194021863461622 Detected notes: ['C']
t= 15.307400548268879 Detected notes: ['Bb', 'C']
t= 15.420779233076134 Detected notes: ['E', 'F', 'C']
t= 17.610853836920256 Detected notes: ['F#']
t= 17.72423252172751 Detected notes: ['F#']
t= 17.837611206534767 Detected notes: ['E']
t= 18.28639475774873 Detected notes: ['G#', 'A']
t= 18.513152127363245 Detected notes: ['G#', 'A']
t= 18.6265308121705 Detected notes: ['C', 'G', 'G#', 'A']
t= 18.85328818178501 Detected notes: ['G#', 'A']
t= 21.379414720059522 Detected notes: ['G#', 'A']
t= 21.606172089674036 Detected notes: ['G#', 'A']
t= 21.71955077448129 Detected notes: ['G#', 'A']
t= 21.832929459288547 Detected notes: ['G#', 'A']
t= 21.946308144095802 Detected notes: ['G', 'G#', 'A', 'Bb']
t= 22.690990612890715 Detected notes: ['B', 'C', 'F#', 'G']
t= 22.80436929769797 Detected notes: ['B', 'C', 'F', 'F#', 'G']
t= 22.917747982505226 Detected notes: ['F', 'F#']
t= 23.210716089153507 Detected notes: ['B', 'C']
t= 23.324094773960763 Detected notes: ['Bb', 'B', 'C']
t= 23.437473458768018 Detected notes: ['G#', 'A', 'Bb']
t= 23.550852143575273 Detected notes: ['B', 'C', 'F', 'F#']
t= 23.664230828382532 Detected notes: ['B', 'C', 'F#', 'G']
t= 23.777609513189788 Detected notes: ['F', 'F#']
t= 23.890988197997043 Detected notes: ['F', 'F#']
t= 24.21938522710822 Detected notes: ['Bb', 'B', 'C']
t= 24.332763911915475 Detected notes: ['B', 'C']
t= 24.44614259672273 Detected notes: ['B', 'C', 'C#']
t= 24.672899966337244 Detected notes: ['A', 'Bb', 'B', 'E']
t= 24.7862786511445 Detected notes: ['Bb', 'F', 'F#']
t= 25.376464368534737 Detected notes: ['G#', 'A', 'E']
t= 25.603221738149248 Detected notes: ['G#', 'A', 'D#']
t= 25.716600422956507 Detected notes: ['A', 'Bb', 'E', 'F', 'F#']
t= 25.829979107763762 Detected notes: ['F', 'F#']
t= 25.943357792571017 Detected notes: ['G#', 'A', 'Bb', 'B', 'E', 'F']
t= 26.056736477378273 Detected notes: ['A', 'Bb', 'B', 'E', 'F', 'F#']
The team transposed the notes Spencer sang. There was approximately 3.1 seconds of offset between the video and the terminal output since Spencer started singing shortly after the program had started.
Some notes on this recording:
In the terminal output for the first 3.1 seconds, which is before the singing begins, there is a 'C' note printed, indicating low-frequency noise detection. The moving noise-gate filter compares signal volume to previous volumes. This means that at the beginning of the recording, when only low-volume noise has been recorded, the noise gate permits most background noise. Once the singing begins, the moving noise gate is calibrated to the volume of the singer and no longer permits low-volume noise.
Our vocalist used extensive vibrato, which is pleasant-sounding, rapid variation of pitch. Since the pitch was varied widely about the center pitch, there were many notes detected adjacent to the 'real' note.
Unlike pianos, singers' intonation can drift as they sing. This is not due to a lack of skill, and has to do with flaws in the equal-temperament tuning method. This means that sometimes our program detected the singer as singing a note higher- or lower-than-expected.
Voice has complex, prominent harmonic structures. The team used their harmonic pitch filter to attenuate harmonics of order 2-6, but the effects of overtones remain prominent in terminal output.
The following analysis looks at the output from the "No Noise Filter" video:
First phrase:
(0:00 - 0:01) F#
The note F# was correctly detected, and adjacent pitches F and G were detected due to the singer's vibrato. The third harmonic, C#, was prominently detected, as was it's adjacent frequency (D) due to the singer's vibrato.
(0:01 - 0:02) G#
The note G# was correctly detected, and adjacent pitch A was detected due to the singer's vibrato.
(0:02 - 0:02) Bb
This note was very short, and did not appear in terminal output for long enough to indicate a confident detection.
(0:02 - 0:04) B
The note B was detected, and adjacent pitches B and C# were detected due to the singer's vibrato (terminal timestamp t=5.97).
(0:04 - 0:06) Bb
The note Bb was detected, and adjacent pitches A and B were detected due to the singer's vibrato (terminal timestamp t=7.28).
(0:06 - 0:08) Ornamentation about B
The notes Bb, B, C, and D were sung in quick succession during this time. Terminal output is scattered during this time, as expected, and the team does not reach any conclusion about the program's accuracy during these notes.
Second phrase:
(0:08 - 0:12) F#
The note F was detected, and adjacent pitches F and G# were detected due to the singer's vibrato (terminal timestamp t=11.55 through t=14.62).
(0:11 - 0:11) E
.This was the second note which the singer 'reached up' to. This note was sang only briefly, and has no significant representation in the terminal output.
(0:11 - 0:12) B
The note B, and adjacent notes Bb and C, frequently appeared in the spectrum between terminal timestamps t=14.99 and t=15.44.
(0:12 - 0:14) D#
This note did not register well in terminal output, except for the note "D" being detected at terminal timestamp t=16.85.
(0:14 - 0:17) C#
For this note the singer was slightly flat of equal-temperament tuning, which is perfectly normal (and often skillfully done) for vocalists. The note "C", along with it's third-harmonic "G", are detected frequently between terminal timestamps t=18.22 and t=18.90.
Third phrase:
(0:17 - 0:18) F#
The note F#, and adjacent notes F and G, frequently appeared in the spectrum between terminal timestamps t=20.54 and t=20.87.
(0:18 - 0:18) G#
The note G#, and adjacent note A, frequently appeared in the spectrum between terminal timestamps t=21.59 and t=21.93.
(0:18 - 0:19) Bb
The note Bb, and adjacent notes A and B, appeared in the spectrum between terminal timestamps t=22.22 and t=22.33.
(0:19 - 0:21) B
The note B, and adjacent note C, frequently appeared in the spectrum between terminal timestamps t=22.67 and t=23.65.
(0:21 - 0:23) Bb
This note did not appear well in terminal output.
(0:23 - 0:24) G#
The note B, and adjacent notes Bb and C, frequently appeared in the spectrum between terminal timestamps t=25.47 and t=25.81.