Building the World’s Smallest Violin
Asthetec built this device that plays actual violin music when someone does the "smallest violin" finger-rubbing gesture above it.
If you’re ever sad about something and work up the courage to speak about it, there is a roughly 50 percent chance that a middle-aged man will emerge from the woodwork to wiggle his fingers and make fiddle noises with his mouth. That “world’s smallest violin” gag is a favorite of older generations and meant to poke fun at melodramatic people. But at this point, the joke is so tired that it is in danger of falling asleep at the wheel. To give it new life for today’s youth, Asthetec made a “tiny violin” that actually emits sound of its own — no mouth noises needed.
The supposed humor in the “world’s smallest violin” joke is two-fold. First is the sarcasm inherent in implying that the situation is so sad that it warrants a background of sad violin music. Second is the absurd idea that there is a violin—it is just so small that it can’t be seen. Asthetec’s project is all about enhancing that second bit. When a person rubs their index finger and thumb together (the traditional technique for playing tiny violins), actual violin music starts playing — assuming those fingers are directly above the device that Asthetec built.
For that to work, Asthetec needed to give that device the ability to detect the finger movement and to play music when it sees that movement. To sell the effect convincingly, Asthetec had to ensure that the music starts and stops immediately in response to the finger movement. After a few different prototypes, Asthetec settled on hardware consisting of a DFRobot Beetle board, a DFRobot DFPlayer mini MP3 player, and a TPA64 breakout board for the Panasonic AMG8833 thermopile array.
That last component, the TPA64, is basically a thermal camera. It only has a resolution of 8×8 and most things are unrecognizable at that scale, but Asthetec didn’t need it to make sense of what it was seeing. He only needed it to detect motion, like the eye of a t-rex. For this use case, the low resolution is actually a good thing. If it sees significant changes between frames, it is safe to say that warm things are moving nearby (probably fingers). When it sees motion, the Beetle Board tells the DFPlayer to play the queued-up violin track. When the motion stops, the Beetle Board immediately tells the DFPlayer to pause.
Those components sit inside a laser-cut box with a helpful identification plate on the front. If someone starts getting all “woe is me,” some finger movement above the box will put them in their place.