Arduino based Harmonic Clock project
Thursday 27/10/2011, Filip (Zambari)
Filip Tomaszewski aka Zambari is an audiovisual artist, working in the fields of live video, experimental electronic music, and creating workflows and tools for live and studio performers, including programming and custom hardware creations, including projects like EQ-AV (av show+software) AV-BRAIN (hardware), Harmonic Clock (hardware), TC24 (workflow), VJ loops on Archive.org and others
zambari (at) gmail dot com
http://zambari.info
The Harmonic Clock listens to incoming MIDI note commands and for the duration of the note lits up a line starting in the center and angled proportionally to its frequency ratio to the starting note (typically C but can be adjusted). That operation translates frequency intervals into angles – so one semitone equals to 30′, a fifth equals to 150′, a tritone equals to 90′ etc. This means that each chord is represented by a unique visual pattern on the face of the analyzer.
As a self-made electronic musician, I didn’t undergo a proper musical education, I know a thing or two but I would often feel that some insight into harmonic structure of a song could be useful, and not having too much spare time to spend on learning to play the classics, to build up muscle memory of intervals, I decided to try a workaround. 12-hour clock analogy came from observation that even though the mainstream music system / notation divides each octave on the keyboard into seven white notes and five black shar/flat notes for a reason, the actual math behind it calls for a simpler representation, after all the distances between each two semitones are equal on a logarithmic scale (or a bit off in some tunings but still following logarithmic order). In most wester music a 12 step division of an octave is used, after each cycle the frequency is doubled, two same notes played in different octaves will always sound good together, with most of their harmonic content overlapping, so in harmonic analysis the octave part can often be discarded.
I started with writing it as proof-of-concept software in Processing, and when I had the prototype working I realized that it would be great to build a hardware one, as hardware tends to always be around, in view, always available to be turned on, unilike software, for which you have to remember to run it, and sacrafice some screen estate and cpu/memory resources. I went to Brick Lane market the following sunday and sound a suitable metal chassis in form of an actual clock. I drilled holes for the LEDs in its face and soldered three 8-output serial-in parallel-out chips on the stripboard to serve as drivers for the LEDs. Other than a transoptor and a diode for the MIDI-in part that was the only electrical design part I had to make. The rest was just wiring all the LEDs into drilled holes (I went for two for each hour to make the line metaphore more clear). an Arduino board can be connected and disconnected easily (my stripboard serves as an Arduino shell). Software and design are open source and available at http://eq-av.com/hacl
Harmonic Clock can be used in realtime while plaing on the MIDI keyboard as a visual feedback mechanism or for reviewing recorded midi events, channel selection button on the side allows for indivitual MIDI channel selection.