The chromatic scale, represented by ℤ/12ℤ, has four generators, which come in positive/negative pairs: chromatic motion (±1 = ∓11) and the circle of fifths (±5 = ∓7). Melodic motion is all about chromatic closeness, but harmonic motion is flips it around and half steps are harmonically distant whereas thirds and fifths are closer. With this project I want to explore mapping this harmonic to colors, and what better way than by intercalating a chromatic spectrum around the circle of fifths.
Unfortunately, the way that computers represent colors is not perceptually uniform, so it is difficult to find a balanced chromatic palette. So that is a work in progress.
In order to map the notes to the circular shape, I use shepard tones, which create the illusion of continuously ascending or descending scales by phasing octaves in and out. (Read the Wikipedia article for more!) The way I created them is not the best so this part is also a work in progress.
Play notes by clicking on segments of the chromatic circles!
The sustain option mimics the sustain pedal to leave notes playing so they overlap. If you leave it off, only the last note played will sustain. The silence button will silence that too.
The little slices inside the segments will swap colors schemes, from melodic to harmonic (with left/right mirror).
You can play shepard scales by dragging the “play scale” slider to select the chromatic interval between each note (0 will stop it). You can adjust the scale speed with the slider below it. It starts at the last note played.
The next three sliders will rotate notes and colors around the wheel. They are momentary so they reset back to center when you release them.
You can choose new colors by changing them on the color picker, courtesy of iro.js.
Share the colors by copying the URL of this page, which will include the colors you chose!
Table of volumes (0.0–1.0) for each note pitch (rows 0–11) and octave (columns 0–8).
CSV data of each MIDI note number and its volume