Archive for the ‘Processing’ Category

Minim: An Audio Library for Processing

Tuesday, March 27th, 2007

It’s here, the first release of my audio library for Processing: Minim.

Here are some of the cool features:

  • Released under the GPL, source is included in the full distribution.
  • AudioFileIn: Mono and Stereo playback of WAV, AIFF, AU, SND, and MP3 files.
  • AudioFileOut: Mono and Stereo audio recording either buffered or direct to disk.
  • AudioInput: Mono and Stereo input monitoring.
  • AudioOutput: Mono and Stereo sound synthesis.
  • AudioSignal: A simple interface for writing your own sound synthesis classes.
  • Comes with all the standard waveforms, a pink noise generator and a white noise generator. Additionally, you can extend the Oscillator class for easy implementation of your own periodic waveform.
  • AudioEffect: A simple interface for writing your own audio effects.
  • Comes with low pass, high pass, band pass, and notch filters. Additionally, you can extend the IIRFilter class for easy implementation of your own IIR filters.
  • Easy to attach signals and effects to AudioInputs and AudioOutputs. All the mixing and processing is taken care of for you.
  • Provides an FFT class for doing spectrum analysis.
  • Provides a BeatDetect class for doing beat detection.

Visit the download page, then take a look at the Quickstart Guide or dive right into the Javadocs.

Prototype: Cannon Fodder (v03)

Monday, March 19th, 2007

Cannon Fodder (v03) is the third iteration on a prototype for a game inspired by the barrel cannons in Donkey Kong Country. I recently downloaded DKC for my Wii and was reminded of how much fun the levels that use the cannons are. The point of this prototype was to get the rotation and movement of cannons working and to see how much fun it is to just shoot the comet around. The only controls are the space bar, which fires a cannon once it’s loaded (sometimes the comet sticks, just keep pressing!). My idea is to keep that as the only player input and simply work in a lot of variety in the level design: moving cannons, rotating cannons, auto-fire cannons, maybe surfaces with different amounts of bounce.

Heather thought that it was kind of boring because sometimes you have to wait a long time for the comet to intersect with a cannon. But I find it pretty interesting to just watch the comet bounce around the stage. It is sometimes a bit like listening to one of Steve Reich’s phase pieces: the comet will get into a bouncing loop that encloses the moving cannon but the period of the loop is not the same as the period of the moving cannon and the shape of the loop is slowing changing. It’s possible to watch an interaction like that occur and then start guessing how many more loops it will take before the comet intersects the cannon.

Drum Machine

Sunday, March 18th, 2007

Drum Machine is a sketch I made to test out the AudioSample class in the audio library I’m working on. It is a really simple grid-style drum machine. There are three rows of sixteen buttons each. The rows are, from top to bottom: hi-hat, snare, and kick drum. The buttons correspond to sixteenth notes. So, you only get one measure to make your sick-ass beat. You can change the tempo by clicking in the BPM box and dragging the mouse up and down. It does a pretty good job staying in tempo, even though I didn’t do anything particularly fancy to calculate beat length.

Unfortunately, there is no way to load or save beats that you make and also no way to choose different samples. Perhaps these features will be added in a future version. For now, it’s just a fun little sketch to play with.