This tutorial is about building a hat that sends Chirp audio messages when you touch the brim.
In 2018, I was delighted to attend Abbey Road's first-ever hackathon! There were tons of people building awesome things with audio, and I resolved to integrate Archimedes (my AI shoulder owl) with Chirp (a machine-to-machine audio communication system). Fortunately, the Chirp team were there as well, so I was able to pester them constantly until my stuff worked! Integrating Archie didn't happen until the next week, though, and that'll be another tutorial...
My partner in crime was Neel Le Penru, who was/is doing a degree in design technology. So cool.
Huge shout-out to Tom Fox, who brought the Vulpestruments crew with a ton of useful tools and materials – as well as their own audio gadgetry! Bare Conductive donated a bunch of hardware for them to bring along, which is where I got the Touch Board.
With strong encouragement from Maggi, Dan and I wanted to integrate Archie with Chirp signals. I decided I needed a controller that would transmit audio signals to the owl, and trigger one of a set of animations with his motors. This would mean I could make him look happy or sad, or dance, or stand up straight for photos. Much better than unplugging him each time!
In the Chirp system, one device takes a text input and encodes it, and the other one listens for an audio data stream, then decodes it back into regular text. Since it's doing Unicode, we discovered later on that this works fine with emoji!
It turned out that this is fairly simple! Follow these instructions to install the Chirp SDK. Then, write a command like this to generate a.wav file with your payload:
chirp-audio-write --network-config -u "🦉😄" ~/Downloads/abbeyroad/happy.wav
Since there are a few different audio configurations, the "--network-config" flag means that it will choose whichever one you have selected in the online interface (while logged in).
After that, you need to convert it to an mp3 to store on the Touch Board. I used the free, open-source software Audacity for this; converting to mp3 may require you to install a driver, but after that, it's a quick and easy process.
This step was also pretty simple, which is great because we had just 24 hours! I followed the documentation here to swap out the mp3s. All I had to do was rename my files and drop them onto the board, which shows up as a USB flash drive. The default Arduino sketch on the board will play one file per touch point.
Then I soldered a long piece of hookup wire to each of the 11 contacts, and plugged in a little standalone speaker I'd brought along. A small 3.7v LiPo battery was enough to run the Touch Board itself.
I wanted something that would look awesome as well as being functional, so I took a late-night trip to a nearby costume shop. I really wanted a bowler hat, but they were out... so I got the closest thing they had, a wide-brimmed round hat.
The Vulpestruments crew had a roll of adhesive-backed aluminum tape, which was perfect except that it's hard to solder to. I cut out triangles and arranged them around the brim of the hat.
I attached the Touch Board to the inside of the hat using double-sided foam tape (one of my favorite maker tools!). The hat was just deep enough to accommodate the board and speaker while still perching atop my head. The wires were long enough to spiral around to various points on the brim, and I poked them through the elastic headband (a bit of strain relief), then soldered them to the points of the triangles.
With everything assembled, it was time to test the hat!
Despite being muffled inside the hat, the speaker was loud enough that the signal was clearly audible by my phone from outside. Cool!
We didn't get Archimedes to respond to it at the event, but I was very happy with the outcome. A week or so later, I returned to London, and Dan and I built the robot integration at the Chirp office... but that's another tutorial! :)
As a bonus hack, Neel integrated a couple of Chirps into a song he'd written. Our idea included eventually using ultrasonically transmitted Chirps overlaid over a tune, so that Archie could dance along to human-inaudible cues embedded in the track. Unfortunately, something about that integration wasn't quite ready yet, so that'll have to happen another time! The song does sound quite nice, though.