Entre 2 Mondes at Elektra

For the last month, I’ve been working on the audio portion of an installation for the Elektra Festival in Montréal along with Mickaël Lafontaine. The installation, designed by Mickaël, is an interactive touchscreen experience that is a meta-installation about Cycloïd-E, which is a “kinetic polyphonic installation” also being shown at Elektra. Mickaël had elementary and high school students watch video and listen to recordings of Cycloïd-E and then write short poems about it. These poems have been split into four “thematic spaces” where people can reconstruct the poems by dragging words into place. Each “thematic space” has a theme and a unique soundscape that evokes different aspects of Cycloïd-E. The soundscapes are constructed out of bits of recordings of Cycloïd-E, recordings of the kids reading their poems, and procedurally generated audio. I used the new UGen Framework in Minim to create all of the effects and do real-time mixing and parameter control, some of which is tied directly to touchscreen input.

If you are in Montréal, you can see the installation at the Elektra Festival for free. It’s currently installed in the lobby of Usine C and can be viewed starting from 5pm, through May 7. More details are available at the Elektra site: http://www.elektramontreal.ca/2011/#/program/ENTRE_2_MONDES/

Sound Byte: Granulizer Patch

This Sound Byte gives you control over a reasonably complex UGen chain. The meat of it is a UGen I’ve called Granulizer, which takes sample data and, based on some parameters, randomly chooses short sections of the data to loop before jumping to a different short section. This sketch gives you mouse control over the size of the sections that are looped, as well as how many times they are looped. There are also keyboard commands for controlling some effects that the Granulizer is being patched through, such as a double delay, a resonant filter, a sample repeater, a bit crusher, and a playback rate controller. The controls are outlined on the applet page, so check it out!

I never really got into using max/msp or pd, but now that I’ve got these UGens to play around with in Minim, I’m finally discovering the joy of patching!

Sound Byte: Melodizer

These settings sound a bit like bad bluesy music from a 90s video game.

The Melodizer is a variation on the Beat Generator. It will constantly generate a tune with a “melody” and a “bass line” by looking at the settings every measure and generating a measure with those settings. Each big slider represents a 16th note in a one bar loop. The value of each slider is the probability that the program will choose to generate a note on that 16th note when it generates a measure. The actual pitch it chooses for the note is determined by the current key and scale, as well as what the previously generated pitch was. If you look in the Scales.pde file you’ll see that for each pitch in a scale, I’ve encoded which steps in the scale are legal next notes. It’s a pretty crude melody building algorithm, but it does give the output a little bit more musicality. The drum beat is always the same, but there are three toggles that let you turn off the parts of the drum loop you don’t want to hear.

Some other things you can adjust are: tempo, shuffle (how much it “swings”), the waveforms used for the melody and bass lines, the volume of the melody and bass lines, and of course there is a button for randomizing the note probabilities.

Try it out!

Sound Byte: Noise Shaper

What started out as simply curiosity about what it would sound like to run a Noise UGen through a TickRate UGen and slow it way down, turned into this interesting sound generating sketch. I’m using modulated Noise to drive a WaveShaper. The waveform being used in the WaveShaper is a sustained chord from a Rhodes, but you’ll never quite be able to hear that. Essentially what this Sound Byte lets you do is scrub through small sections of the recording in random ways (since there is noise involved). Experiment with lots of different slider settings, there is surprising amount of variety that can be obtained. Have a look at the code to see exactly what you are controlling. Try out the settings in the screenshot above for a reasonably mellow sweeping formant sound with a really mesmerizing waveform.

Play with it!

Sound Byte: String of Pearls

I had a cool idea about controlling a filter bank of bandpass filters, so I coded up this simple sketch. Each white pearl in this string of pearls represents a band pass filter. The horizontal position of each pearl controls the center frequency and the vertical position controls the bandwidth. You can click and drag around any of the pearls, including the red ones, which are simply anchor points for the string. The song is Lonely Rolling Star from the Katamari Damacy soundtrack.

Try it out.

Comments closed in the Minim Manual

I’ve decided to close comments on all of the Minim Manual pages because it just doesn’t feel like a good place to answer questions regarding particular sketches that people are working on. If you have questions about how to accomplish something, particularly if it involves interactivity, please take those questions to the Processing forum. I try to visit every now and again, but there’s a good chance that people who visit more regularly will be able to answer your question much more quickly than I! If you find an honest-to-goodness bug, please create an issue for it at the Processing Google Code page. I will try to get to it as quickly as I can.

Sound Byte: Glitch Generator

I’ve been working on this one for a few days. It follows the same principle as the beat generator from my previous post: whether or not a note is added to the generated sequence at a given step is determined by a probability. However, unlike the beat generator, this one doesn’t sequence distinct sounds. Instead, it is essentially generating timed control changes for effects on two sound files that are continually playing.

The first file is the vocal track from Half Life by Imogen Heap. Its playback rate is adjusted to the chosen tempo and “notes” in the sequence for it are turning on a sample-repeat effect. For each trigger of the effect, the length of the sampled audio is determined randomly based on the settings in the Vox Glitch range.

The second file is a loop from the beginning of Hydra Remix By Koen Groeneveld. The notes in the sequence for that track are setting loop points in a looping FilePlayer, though the resulting sound is the exact same kind of thing going on with the vocals. Once again, the length of the repeated audio is determined based on the settings in the Perc Glitch range. You can also specify whether you want each triggered glitch to fade in over its duration or not, which is kind of a nice effect.

Finally, you can choose to have a steady kick drum play underneath all the glitching to give yourself a good reference point. I’ve had a lot of fun playing with different settings, it’s like endless minimal, glitchy remixes of Imogen Heap. Try it out!

Sound Byte: Beat Generator

Probably the coolest Sound Byte yet, this one will generate drum beats based on probabilities for each sixteenth note in a measure. The sound-set is basic: kick, snare, hat, plus a chime loop that is overlaid for a little melodic flavor. You can tweak the probability of all the steps independently, or just click a button to set them all to new random values. Two “modes” allow you to specify whether you want the kick and snare to ever play at the same time and some simple rules are used to determine the amplitude of each note. I considered putting in panning of some kind, but decided it could go in a later iteration. I may do a bassline generator along the same lines at some point. Check it out!

BOOMBOX

The boombox dude hanging out on a platform.

I’ve been working on a music game on and off for the past month for the TIGSource A Game By Its Cover compo. It’s inspired by this fake game cartridge:

You control a character in a 2D side-scrolling world and collect Jams, which you can then play to build up a sweet tune. There are other boombox dudes in the world who will jam with you when you are playing what they want to hear. The goal is to simply collect all the jams in the level and then just jam out with them.

CHECK IT

Credits:

Amanda Williams – Environment Art
Damien Di Fede – Music, Design, Programming
Kevin Bennett – Music, SFX
Oscar Garza – Animation
Sean McIntosh – Environment Art, Character Design