/SpiralMusic_Teensy

A hardware device for visualizing music in a spiral

Primary LanguageC++GNU Lesser General Public License v2.1LGPL-2.1

SpiralMusic_Teensy

A hardware device for visualizing music in a spiral. Uses a teensy with audio sheild, and WS2812 pixels for display.

For a python only PC version see here: https://github.com/mechatronicsguy/SpiralMusic_python

Who is this software for?

Anyone (like me) that likes music, but becomes confused by the notation.

e.g. Take this picture: Are these three different chords, or are they actually the same chord, but voiced in three different ways?

Musical notation

I could stare at it for a couple of minutes and still not be 100% sure.

But after seeing this I could tell immediately that they are the same:

Same Musical notation in spiral GIF form

Features:

  • Simple hardware & low cost
  • Synthesis is entirely onboard, does not use PC sound
  • Teensy hooks up to PC as a generic MIDI output device, and will play and visualize any data the PC sends to it.
  • Teensy also has an internal USB host port. This is setup to accepts Standard MIDI devices, such as keyboards, any notes played are visualized and heard
  • Both MIDI host and MIDI slave work in tandem. You can play a file from the computer and play along on your keyboard.

Features of the visualizing method:

  • You can see an entire orchestra "Cooperating" to make a chord, wtihout having to read 6 sets of sheet music.
  • Makes it extremely easy to see transpositions (just rotations)
  • Melodic inversion is just a mirror flip
  • Notes played stay visible for a time as a 'histogram'. Key signature can be inferred from this
  • Different instruments (midi channels) are different colours. Can see contributions of each instrument to the whole

All chords have very simple and recognizable shapes, regardless of key:

Chord shapes

Spiral.video.compressed.v02.mp4

(Full video here: https://youtu.be/7xVirr0APKk )

Setup on desk

Hardware overview

Can also work for non-spiral layouts (e.g. Euler's Tonnetz, Accordion, Jancko, etc.) : Hex layout video

More videos with examples here:

https://www.youtube.com/watch?v=H3ucHiadx2w

https://www.youtube.com/watch?v=Z-b77PsKRJo

https://www.youtube.com/watch?v=iqt4l5bo5yQ