Category Archives: Minim

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

Sound Byte: Loop Chopper

This Sound Byte gives you sliders to control the parameters of a GranulateSteady UGen, which allows you chop up a sound as it plays. I’ve created a loop from the song Again and Again by The Bird and The Bee, which will hopefully get annoying enough that you’ll want to chop it into indiscernibility. The buttons along the side let you set the range of the sliders from quite small, to a full second.

Minim in the Wild.

From the pingbacks, a post about 3D Soundclash:

In February 2010, the Red Bull Music Academy prompted Warp Records and Ninja Tune for a Soundclash on a 3D sound system, staged in the Loading Bay of the Royal Albert Hall. FIELD developed a generative real-time application especially for this event, which motion designers Quayola and Thomas Traum used to design and perform soundreactive visuals for the sets of Plaid, Clark, Mira Calix and many more.

Further down in the article it mentions that the application was built with Processing and uses Minim for the “sound interaction”.

Sound Bytes: Oscil as a looping sampler

Eventually, we plan to add a UGen to Minim that will allow you to control the generating speed of any other UGen, but that got me thinking about how you might do something similar with existing components. So, I struck upon the idea of using an Oscil as a looping sampler by using an audio file as the Waveform and setting the frequency of the Oscil to be very low. The fun thing about this is that if you set the Oscil to a negative frequency, the sound will play in reverse. Additionally, I thought it’d be fun to be able to automate the changing of the frequency by having an LFO control the frequency of each Oscil (left and right channels of the original audio file). So here’s a sketch that lets you play with this setup:

Screenshot of the sample_oscil sketch.

Sound Byte: Mass-Spring-Damper System

I’m picking my way through Real Sound Synthesis for Interactive Applications by Perry R. Cook (one of the authors of the STK) and decided to start making small apps to demonstrate the different kinds of synthesis he covers in the book. This first one let’s you set the variables of a mass-spring-damper system and then trigger it, which is exactly the same as setting the coefficients of a two-pole IIR filter and sending an impulse into it (as it turns out). Check it:

Sceenshot of the mass-spring-damper applet.

Minim 2.1.0 BETA

I am happy to announce the arrival of Minim 2.1.0 BETA.

This is a beta build of the next release, which contains the new UGen framework developed by myself and Anderson Mills through his project at Numediart. There are still a few loose ends to clean up, primarily documentation related, but we expect to have everything wrapped by the end of June. Until then, feel free to give this build a whirl and see how you like the new real-time synthesis capabilities made possible by the UGen framework.

At this time, all of the documentation is in the form of Javadocs, which are included with the download. I hope that you find the docs for the UGen framework clear enough to get started. If not, there are also quite a few new examples included in the download that demonstrate how to use many of the UGens and how to programmatically sequence sound.

To install this release, you will simply unzip the archive into a folder named libraries in your sketch folder. This folder may already exist if you’ve installed other libraries not included with the Processing download; create the folder if it doesn’t exist. By installing this release in your sketchbook’s libraries folder, you will make Processing use this release instead of the release included with Processing. All of your existing sketches should still work. If you find one that doesn’t, please create an Issue on Github.

Have fun!

Minim Beta Build and Other News

Things have been quiet around here, but hands have not been idle.

Anderson Mills has been hard at work on features for the next release of Minim. His project at Numediart to build a Unit Generator framework for Minim has made fantastic progress. On Tuesday, we plan to merge these changes back into the main Minim repository and release a Beta build. As usual, documenting is the hardest part of the job and we wanted to give people the chance to work with the new music programming features while we chew through that.

Meanwhile, I’ve created an app for the iPhone with Heather Kelley and Amanda Williams that is currently part of an art show in Hong Kong called Technosexual Bodies. The app is called Body Heat and I will be posting more news about that soon, I hope.

Finally, as hinted at in my previous post, I started work on a C++ port of Minim. It’s only in the beginning stages and it’s only functional enough to be useful for the iPhone app, but you are welcome to have a look at the repository. I’m making no promises about when the port will be finished, only saying that it will be finished at some point. If you’d like contribute to the port, make a fork at Github and have at it!