Paint It Reactive
We set out to create an interactive paint installation that fuses art and sound. Keep reading to hear how we did it and what we learned.
To produce the best for our clients, we always conduct internal experiments to learn more and push the boundaries of our industry. The reactive paint piece was one such project, which we were able to to gain knowledge and experience from to elevate our offerings for clients and to have some fun with a new innovation.
ART COMES TO LIFE
Our goal? To build something we’d never attempted before and make it durable, easy to use and interactive. We used key players, including Bare Conductive Paint, Bare Conductive Pi Cap, Python and a Raspberry Pi, to bring this idea to life. Ultimately, this was going to be a prominent art piece in our office, so we were motivated to create something that could be shared with coworkers and visitors.
THE BUILD
To start, we needed to settle on what medium the experience would live on. We initially thought canvas was our best option, but because of its woven nature it wasn’t as durable as we needed it to be. The material kept stretching, which made the paint crack and chip (not ideal). We also had to fix a metal surface to the front in order for the paint to conduct, which was difficult to do on a surface like canvas. Our solution was to use a thin piece of plywood to paint on, making our foundation durable and easy to maintain.
After settling on a medium, we ran a technical demo to figure out the best way of layering different paints onto the surface. We went through multiple applications and used a multimeter to measure the result. At first, it seemed as though we were unsuccessful because there was no conductivity detected in the multimeter, but we ended up testing directly on the Pi Cap. To our surprise, it was still working after several layers of paint, but the signal was so subtle that the multimeter wasn’t catching it. Our final method of application involved multiple steps that made sure the paint and screws were able to sync up with the system. Vinyl stencils were used to transfer the design (created in house) in two stages so that we could layer conductive paint into/under elements, while ensuring the cleanest look possible.
We wanted to conceal the technical nature of the project and make it look as if it was just a regular piece of art. Flat head screws were countersunk through the surface of the board to bring the touch data from the front side of the board to the microcontroller in the back. These screws sit flush with the surface of the board, so they’re more discreet and not visible once filled and painted over.
THE SYSTEM
The surface of the install was raised off the wall to allow for flexibility in wiring the system up, while maintaining a clean look. This setup also makes future maintenance easier for us to manage. On the backside of the board, wires were attached to the screws, connected to the Pi Cap and the Raspberry Pi (essentially a small computer). A small, light speaker was also installed on the back of the board. We wrote the code in PyGame (which contains a multi-mixing sound library) and organized eight channels of precomposed music to play simultaneously. These channels were initialized with their volume at zero and were all loaded into memory on boot up.
Triggering one of the capacitive pads painted on the board will fade a corresponding channel from silent to full volume and back to silent five seconds after the last touch. Instead of just triggering SFX on a touch, this “fading” strategy ensures the audio channels are always in sync with each other and sound great together. We made sure that the input system for musical composition was built for everyone, making it approachable for a variety of musicians and music lovers and ensuring that it sounds good.
LEARNINGS
Throughout this project, we experienced an accelerated learning curve. Along the way, we hit roadblocks that we resolved by testing out alternative options. The medium, application of paint, composition of sounds, maintenance considerations and ease of interaction all had to be considered.
With concern to the paint, we had a “should-have-read-the-fine-print” moment and realized that it needed to be finished and protected, as it can smudge with any moisture contact. To make this work, we used spray acrylic sealant on the Bare Conductive Paint. We also learned that, although the Bare Conductive Paint is expensive, you don’t have to use much to create a great result.
To make sure the sounds worked together, we organized the system in a way to not overcomplicate the composition. We created twelve touch points and twelve sounds, which play simultaneously. Each of the twelve touch points represents a sound, which will increase in volume and be made more prominent when a user touches a corresponding spot. This takes all timing considerations out of the interaction, which allows anyone to make something that sounds great.
Maintaining the installation and its durability remained top of mind for us throughout the project. Keeping things minimal, like hanging it with french cleats, was a good idea that we’d recommend and implement again. All of the pieces are extremely light, making it easy to mount to the back of the plywood without weighing it down. The code is also easy to maintain and reorganize because we can access it remotely via SSH without taking it off the wall.
WHAT’S NEXT
Now that we’ve tackled this challenge, we’re looking at ways to utilize the installation. We’ve come up with ideas on how to enjoy the experience within our own office, which can be translated on a bigger scale for our brand partners. Options such as connecting to our office’s Sonos library, creating custom sounds via a web interface and to manipulate CMS to change sounds are all things we want to test out in the near future.
As is with most things in our industry, there’s no limit to where tech can take us. We look forward to pushing the boundaries of what we can do in this space and hope our efforts contribute to elevating tech, as well as inspire others to do the same.