Posts with «banana» label

Making Music with Clojure and Bananas

At this point, the banana piano is a pretty classic hack. The banana becomes a cheap, colorful touch sensor, which looks sort of like a piano key. The Arduino sets the pin as a low-level output, then sets the pin as an input with a pull up resistor. The time it takes for the pin to flip from a 0 to a 1 determines if the sensor is touched.

[Stian] took a new approach to the banana piano by hooking it up to Clojure and Overtone. Clojure is a dialect of Lisp which runs in the Java Virtual Machine. Overtone is a Clojure library that provides tons of utilities for music making.

Overtone acts as a client to the Supercollider synthesis server. Supercollider has been around since 1996, and provides a wide array of sound synthesis functions. Overtone simply tells Supercollider what to do, letting you easily program sounds in Clojure.

The banana piano acts as an input to a Clojure program. This program maps the banana to a musical note, then triggers a note on Overtone’s built-in piano sampler. The result is a nice piano sound played with fruit. Of course, since Overtone and Supercollider are very flexible, this could be used for something much more complex.

After the break, a video of the banana piano playing some “Swedish Jazz.”


Filed under: musical hacks

Fruit piano uses a different circuit than the Makey Makey

[Hasbi Sevinç] is using perishable goods in his electronics project. The orange, tomato, and two apples seen above act as keys for the virtual piano. The concept is the same as the Makey Makey which is often demonstrated as a banana piano. This implementation uses an Arduino to read the sensors and to connect to the computer running the piano program.

You can see there’s a fair amount of circuitry built on the breadboard. Each piece of fruit has its own channel to make it into a touch sensor. The signal produced when your finger contacts the food is amplified by transistors connected in a Darlington pair. That circuit drives the low side of a optoisolator transmitter. The receiving side of it is connected the I/O pin of the Arduino. You can see the schematic as well as a demo clip after the break.

This use of hardware frees up a lot of your microcontroller cycles. That’s because projects like this banana piano use the timers to measure RC decay. [Hasbi's] setup provides a digital signal that at most only needs to be debounced.


Filed under: arduino hacks, peripherals hacks