Categories
Audio Channel

Functional Programming

BarCampMadison This is a session by Dan from MadCamp (aka BarCampMadison the 4th) titled “Functional Programming: Why Should You Care?”

You can also download an MP3 file if you’d like. (And for our freedom loving friends, enjoy an Ogg file.)

Also, if you want to get all of the audio automagically downloaded podcasting style, subscribe to the feed.

Categories
Audio Channel

How to Hustle

Steve Faulkner - How to Hustle
Photo by tronathan

BarCampMadison This is Steve Faulkner’s session from MadCamp (aka BarCampMadison the 4th) titled “How to Hustle.” I missed this session when Steve did it, but he also did a really short version during the Lightning Talks. It’s worth a listen.

You can also download an MP3 file if you’d like. (And for our freedom loving friends, enjoy an Ogg file.)

Also, if you want to get all of the audio automagically downloaded podcasting style, subscribe to the feed.

Categories
Uncategorized

Turntable.fm

Turntable.fm

Damn… this turntable.fm thing is a bit addictive!

Dave provided a fistful of awesome when he posted about it, and it probably helps that we were in bands together and liked a lot of the same stuff.

Turntable.fm uses Flash (urgh) and the search isn’t that great, but you and some friends who are into the same genres can have a good time taking turns “spinning discs” as it were.

Fun times!

Categories
Uncategorized

Processing Audio

I got into Processing when I saw that it was a way to interface my desktop computer with an Arduino. Since then I’ve been exploring Processing more and seeing what it can do.

The latest excursion has been into audio, and I found a library called minim to play with. Download it, unzip it, and drop the ‘minim’ folder into your ‘libraries’ folder in your Processing folder, and you’re ready to go. Here’s my first experiment.

There’s an example for AudioInput which shows audio waveforms, so I grabbed the example and modified it slightly, I mainly twiddled the numbers a bit for a larger display.

Audio Waveform

Here’s the (slightly modified) code. (1280×800 being the screen size of my MacBook.)

/*
 * WavyLines.pde
 */

import ddf.minim.*;

Minim minim;
AudioInput in;

void setup()
{
  size(1280, 800, P3D);
  minim = new Minim(this);
  minim.debugOn();
  in = minim.getLineIn(Minim.STEREO, 1280);
}

void draw()
{
  background(0);
  stroke(0,255,0);
  // draw the waveforms
  for(int i = 0; i < in.bufferSize() - 1; i++)
  {
    line(i, 250 + in.left.get(i)*150, i+1, 250 + in.left.get(i+1)*150);
    line(i, 550 + in.right.get(i)*150, i+1, 550 + in.right.get(i+1)*150);
  }
}

void stop()
{
  // always close Minim audio classes when you are done with them
  in.close();
  minim.stop();
  super.stop();
}

This code (at least on Mac OS X) runs and expects the sound input to be the built-in mic on the MacBook. This is pretty fun, and my daughter (who plays the trumpet) had a good time making all sorts of strange noises and watching the waveforms that were generated. If you export it from Processing as an application, you can run it full screen with no menubar, etc.

While the mic input is fun, you can also build yourself a little audio visualizer that reacts to what audio your computer is playing. There’s a bit in the manual about Setting the System Mixers, but I just went the Soundflower route here.

Once you’ve got Soundflower installed, you can set up your audio routing…

Sound Out
Sound In

Here’s my sound output and sound input settings in System Preferences.

Fire up Soundflowerbed, and then choose a song in iTunes and our “WavyLines” application should respond appropriately.

Waveform

Here’s what you should get… well, depending on the audio playing. Maybe I can team up with the guys in the Handmade Music Group at the Milwaukee Makerspace and come up with some ways to enhance this into something even cooler.

Categories
Uncategorized

Circuit-Bending with the Easy Button

Easy Button

I’ve had an easy button lying around the house for a few years now, and remembered reading about how “easy” it was to do a little circuit-bending with it, so I finally got around to doing that…

I did a quick search for some details and found this Easy! blog post, read the bit about a 1Meg pot and figured I’d give it a try. I didn’t have a 1Meg pot on hand (I’m sure the Milwaukee Makerspace probably has a boatload of potentiometers and other parts I could have used, but I built this thing at home) so I ended up going to Radio Shack, and while they don’t have breadboards or much other stuff, they do have a few electronic components on hand.

Once you open the Easy Button (screws are under the rubber feet) you can see the main resistor, right under the rubber switch. (It’s in the center in the photo below.)

Easy Open

Take that resistor out and then solder in the wires for the potentiometer. That should be about it for the electrical part of it… (I know, you also see a push-button switch in the top photo, I’ll get to that in a minute.)

Since I tend to just start on these things without any real thought as to how they will be finished—I fly by the seat of my pants a lot—it’s always a learning experience. I had a plan to mount the pot onto the big red button, so I Dremeled the heck out of one of the legs on the bottom side of the button to make it fit, and I then realized it just wouldn’t fit, so I thought I could mount it on the inside plastic housing with a hot glue gun, this worked well, but I took out the piece of metal to do this, and, well the metal piece is what makes the button pop back up, so when I reassembled it, the button didn’t work, as it got stuck. Oh, I also built it wrong, with the button turned 180 degrees, so things didn’t line up, so I Dremeled some more, and that contributed to making the button more useless, even though I tried to put half of the metal shield thing back in. (Hacksawing that thing was a nightmare!)

I had started to document the whole thing with photos, but when it was apparent I did so many things wrong, I abandoned the plan… that said, I’m pretty confident that if I did it again, I’d get it all right the second time. Despite all that, I came up with the idea of putting in the push-button switch, which worked great, as it is much easier to push, and you can use it while twiddling the knob. From the outside you really can’t tell that things didn’t work out the way I planned, so I’ll call that a win.

Here’s a video (Vimeo) of the Easy Button in action… It’s a challenge to get the knob in just the right position, so it’s become a game at our house to see who can get the best sound (or longest bend) out of it.

If you’re totally new to circuit-bending, the Easy Button is a simple project to start with… if you are totally clueless, swing on down to the Milwaukee Makerspace for one of their Electronics and Programming Nights when non-members are welcome, and I’m sure someone there can help you get started.