← Back to posts

Making funky little things ❤️

Published: 7/26/2024

The last two weeks I've been putting a lot of time into one of my music-related side projects. For a few years on/off I've been building tools and devices that change the way an analog synth presents its sound and its modulation outwardly.

This week I made an Arduino program that operates a row of four LEDs lights that respond to CV and gate signals output from my synthesizer.

I'll share my code and wiring below in case anyone is looking for help with a similar project. (Goodness knows I've found much help from random websites and blogs about other people's programming and hardware projects.)

AI was a valuable resource in writing the code, but it's taken a bit of tinkering to get it working exactly the way I hoped.

It works by recording a value from the CV signal if/when it sees the Gate signal cross a certain threshold. It then stores the 4 most recent values in an array, and copies that array into another array sorted by magnitude. It uses that sorted array to determine which LED(s) should receive an output signal, prefering to keep a given signal mapped to whatever LED most recently had a signal closest to it. This is great for arpeggios and patterns. It maps up and downward motion well, too. after playing a sequence of four notes a few times, it will "learn" that pattern and sort it to a sequence of LEDs that track the up/ down movement of those pitches.

The code works well- and it's proven to be surprisingly flexible! I've experimented with changing the input sources from Gate/CV to other patch points on my Moog Grandmother, and each seems to respond in a unique and responsive way- I'm excited to try preforming with this!

Operating LED lights is not my end goal for this project, but it's a good proof of concept, and it's pretty cool in it's own right!