Displaying notes live as they are being played can be a really powerful learning tool, but it’s usually used to learn how to play a specific instrument. This take on the topic is actually a neat way to learn more about music theory — how pitches work together to build the sounds that we hear. The visual tack chosen arranges each of 12 notes into a spiral. As you continue to go up the scale through more octaves, pitches that share the same name line up into a line like a ray projecting out from the sun. So there are 12 rays for the notes in the scale: C, C#/D♭, D, D#/E♭,F, etc.
[mechatronicsguy] built it a few years back but just now got around to documenting it, and we’re sure glad he did. The layout of notes at first looks just like a colorful visualization. But as he mentions in his description, this assigns a shape to each different type of cord. A major cord will have the same shape whether it is played with C, G#, B♭, or any other note as the root. The shape simply rotates around the axis based on that root note. Higher octaves will be shown further out on the radius, but the chord shape will still be the same. Minor, augmented, even modal chords and those with added pitches all have their own unique shape on the display.
You get the best understanding of the visualization by looking at the Python-rendered version in the video below. It’s a nice touch that notes turn grey and fade away after being released so you kind of see where the current chord came from. This isn’t strictly a perk of pre-recordings. While you can feed it MIDI files, you can also play a MIDI instrument and display the visuals live on the hardware version that uses a Teensy with an audio shield.
If you’re looking for examples on how music visualizers are used to teach the instrument, look no further than this Wurlitzer note visualizer replica. Also for those who don’t know, the song being played in the hardware demo (second video below) is Beethoven’s 7th Symphony. Well worth a full listen, it’ll change your life.