Singing Fish On The Wall

Posted: May 7, 2017


A while ago I got one of these SparkFun Audio-Sound Breakout boards for the heck of it. I made a small circuit for it around an MSP430 and made it play some sound files but nothing too interesting. Then one day while I was picking up lunch (tuna salad) and thinking about the Cyborg Chicken project, the idea popped into my head: a singing fish on the wall. Well, not just a singing fish on the wall like everyone else has, but I wanted to use a real fish. I quickly wrote and recorded my own (stupid) song for it and later added circuitry to drive a couple servos and wrote new software to play the song and move the motors.


A video of the fish.


I wanted to use (and was able to get) a fish that was past its expiration date so I wasn't wasting food (or a fish). Infact, this fish's sell-by date was one month expired. I actually feel kind of bad about doing this to a fish so I haven't posted it anywhere. The fish was pretty disgusting to work with and smelled pretty bad. Other than the song, this was not a fun project and I kind of regret it :(. If I did have the chance to redo this I would have put a longer arm on the servo so that the it pulled on the fish a bigger distance and the fishing line that went into the fish's mouth would have have went over the fish more so it would pull its head more forward instead of down.

As for the song, it was just the stupidest thing I could throw together in a short amount of time. I started out with just a stupid drum beat using Drums++. The source code for the song is: singing_fish.dpp. The "compiled" .mid version of the song was imported into Apple's Garage Band. The bass and the rhythm guitar were both recorded line direct. The guitar solo was recorded using a DigiTech RP-55 and mic'd with a Shure SM-57. I purposely made the vocals cartoonish... the only effects added to them were some reverb. The sound plays with a SparkFun WTV020SD board

An mp3 of the just the song is here: singing_fish.mp3

The source code below is written in Java and needs to be first compiled with javac and then compiled into MSP430 assembly with Java Grinder It can then be assembled with naken_asm.

Related Projects

Artwork: LED Pumpkin Candle, XOR Gate, Motion Eyes, Clay Figures, WS2812 LED, LED Panel, Half Adder, Gingerbread House, Cyborg Chicken, Electric Cat Fight, Iced Electronics

Source code

Copyright 1997-2024 - Michael Kohn