The Ukulelelelele

is a collaboration with Jacob Surovsky created with the goal of visualizing differences in how we play the Ukulele (our favorite little instrument). The visualization was created with Arduino, PHP, Processing and p5.js. 



Each graphic represents one Song 'snapshot'. Click on any to enlarge the image.

Currently, the colors in Ukulelelelele correlate to the fretboard pressure sensors. This is a rough representation of the different chords and notes being played. The width of center bar is affected by our Piezo sensor on the body of the Uke, we're using this to approximate volume. The jagged field along the bottom of the display corresponds to our 'strum' pressure sensor. Imagine this like the bouncing ball indicating rhythm.

The Ukulele

Here are some close up shots of showing the Arduino wiring and sensor layout.

In it's current iteration, Ukulelelelele features 5 pressure sensors: two on the 1st and 3rd frets (where most of the action happens), and one just below the tone hole to register aggressive strumming. Our 6th sensor is a piezoelectric buzzer sensing acoustic reverberations in the body of the uke (we're pretending that this is amplitude or volume).

Data Handling


Sensors on the ukulele send data through an Arduino Uno through the serial port. The serial output is the sent into a Processing sketch to be parsed into useable values. The input.php takes the parsed data from Processing and pushes it to a database. In this iteration we make an entry every 50 millis. From there some more php pulls the entries off the database and double checks formatting. Thats when we get to have all the fun in p5.js p5.js is a javascript library created in the tradition of processing, for producing interactive and generative visual graphics, but optimized for use on the web.

Live Demonstration!

Here's a video play-through of the Ukulelelelele and an explanation of the code. Unfortunately I wasnt available at the time of recording but nonetheless a big thanks to my collaborator Jacob for giving a great demonstration. 

Next Steps

Ukulelelelele is still in development! In future iterations of the project Jacob and I looking to implement more sensors, in such a way that they dont affect the playability of the instrument. To capture parts of the performance we can't currently, we'll be adding microphones, and accelerometers. We're also planning on implementing a 'live playback' feature, where visualizations are made in realtime with performances. With the addition of new hardware we're looking to fine tune our visual output, so stay tuned for project updates!

Thank for taking a look, we hope you enjoyed our work!