Microcontroller-based projects don’t have to be fancy to be fantastic. Case in point: [r0d0t]’s “Musicomatic: the random jazz machine“. Clever programming and a nice case can transform a few servos and a microcontroller into something delightful.
Hardware-wise, there’s really nothing to see here; a speaker and some servos are hooked up to an ATmega328. We think it’s cute to have the microcontroller control its own power supply through a relay, but honestly a MOSFET in place of the relay or better still using the AVR’s shutdown sleep mode would be the way to go.
Nope, where this project shines is the programming. Technically, it might make some of you cringe — full of blocking delays and other coding “taboos”. But none of that matters, because [r0d0t] put his work in where it counts: the music. You simply must hear it for yourself in the clip after the break.
The basis of making music that humans like is rhythm, so [r0d0t] doesn’t leave this entirely to chance. The array “rhythms” has seven beat patterns that get randomly selected. The other thing humans like is predictability and repetition, so choruses and “improvs” repeat as well. All of the random notes are constrained to the pentatonic scale, which keeps it from ever sounding too bad. (The secret sauce of Kenny G.)
In short, [r0d0t] packs a lot of basic music theory into a very basic device, and comes up with something transcendent. We’re a bit reminded of the Yellow Drum Machine robot, and that’s high praise. Both projects are testaments to building something simple and then investing the time and effort into the code to make the project awesome.
For another slice of [r0d0t]’s excellent minimalist pie, check out his take on the classic Snake game: Twisted Snake.
Continue reading “Tiny Robot Jazz”
Unless you’ve been up close and personal with a guitar, it’s easy to miss that the fretboard (where a guitar player presses on the strings) is not flat. There is a slight curve, the amount of which varies with the type and brand of guitar. There are even guitars with fretboards that have a compound radius that changes from one end to the other.
[Mike] is a guitar builder and needed a way to radius his own fretboards. He did what any other DIYer would, he designed and built a tool to do exactly what he needed. The fretboard radius cutting fixture consists of a new large router base that has a curved bottom. This base rests on two metal pipes and can slide both back and forth in addition to along the new base’s curve. The flat fretboard blank is secured to the fixture below the router and is slowly nibbled away at using a standard straight flute router bit. A little sanding later and [Mike] will be able to keep moving forward on his guitar builds.
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.”
Continue reading “Making Music with Clojure and Bananas”
He started off making an AVR synthesized guitar, but [Erix] ended up with much more: a complete six-voice AVR wavetable synthesis song machine that’ll run on an ATMega328 — for instance, on an Arduino Uno.
If you’re an AVR coder, or interested in direct-digital synthesis or PWM audio output, you should have a look at his code (zip file). If you’d just like to use the chip to make some tunes, have a gander at the video below the break.
Continue reading “Slick Six-Voice Synth for AVRs”
In this session of Logic Noise, we’ll combine a bunch of the modules we’ve made so far into an autonomous machine noise box. OK, at least we’ll start to sequence some of these sounds.
A sequencer is at the heart of any drum box and the centerpiece of any “serious” modular synthesizer. Why? Because you just can’t tweak all those knobs and play notes and dance around at the same time. Or at least we can’t. So you gotta automate. Previously we did it with switches. This time we do it with logic pulses.
Continue reading “Logic Noise: Sequencing in Silicon”
Anyone into audio recording knows that recording drums is a serious pain. Mic setup and positioning can make or break a recording session. One particular hurdle is getting a great sound out of the bass drum. To overcome this, [Mike] has built a microphone using an 8″ woofer in an attempt to capture the low-end frequencies of his bass drum. Using a speaker as a microphone isn’t a new idea and these large diaphragm bass drum mics have taken commercial form as the DW Moon Mic and the now-discontinued Yamaha SubKick.
The project is actually quite simple. The speaker’s positive terminal is connected to Pin 2 of a 3-pin XLR microphone connector. The speaker’s negative terminal is connected to the connector’s Pin 1. [Mike] made a bracket to connect the woofer to a mic stand, which in turn was cut down to position the woofer at bass drum height. The setup is then plugged into a mixer or pre-amp just like any other regular microphone.
[Mike] has since made some changes to his mic configuration. It was putting out way too hot of a signal to the preamp so he added an attenuation circuit between the speaker and XLR connector. Next, he came across an old 10″ tom shell and decided to transplant his speaker-microphone from the open-air metal rack to the aesthetically pleasing drum shell. Check out [Mike’s] project page for some before and after audio samples.
[Kirk Kaiser] isn’t afraid to admit his latest project a bit strange, being a plant-controlled set of robotic bongos. We don’t find it odd at all. This is the kind of thing we love to see. His project’s origins began a month ago after taking a class at NYC Resistor about creating music from robotic instruments. Inspired to make his own, [Kirk] repurposed a neighbor’s old wooden dish rack to serve as a mount for solenoids that, when triggered, strike a couple of plastic cowbells or bongo drums.
A Raspberry Pi was originally used to interface the solenoids with a computer or MIDI keyboard, but after frying it, he went with a Teensy LC instead and never looked back. Taking advantage of the Teensy’s MIDI features, [Kirk] programmed a specific note to trigger each solenoid. When he realized that the Teensy also had capacitive touch sensors, he decided to get his plants in on the fun in a MaKey MaKey kind of way. Each plant is connected to the Teensy’s touchRead pins by stranded wire; the other end is stripped, covered with copper tape, and placed into the soil. When a plant’s capacitance surpasses a threshold, the respective MIDI note – and solenoid – is triggered. [Kirk] quickly discovered that hard-coding threshold values was not the best idea. Looking for large changes was a better method, as the capacitance was dramatically affected when the plant’s soil dried up. As [Kirk] stood back and admired his work, he realized there was one thing missing – lights! He hooked up an Arduino with a DMX shield and some LEDs that light up whenever a plant is touched.
We do feel a disclaimer is at hand for anyone interested in using this botanical technique: thorny varieties are ill-advised, unless you want to play a prank and make a cactus the only way to turn the bongos off!
Continue reading “Play Robotic Bongos using your Household Plants”