Minim is an audio library that uses the JavaSound API, a bit of Tritonus, and Javazoom’s MP3SPI to provide an easy to use audio library for people developing in the Processing environment. The philosophy behind the API is to make integrating audio into your sketches as simple as possible while still providing a reasonable amount of flexibility for more advanced users. There are no callbacks and you do not ever need to directly manipulate sample arrays, all of the dirty work is handled for you. The download comes in two flavors: (1) just the jar files needed to use Minim and (2) a full distribution that includes the javadocs, examples, and source code. Minim is licensed under the GNU Lesser General Public License (LGPL), a copy of which is included with both distributions. Users of Minim 1.1 should peruse the Javadocs to see what’s changed (hint: not much has changed, but there a couple nice new things).
Download: Minim 2.0.2 full distro | Minim 2.0.2 library only
Minim 2.1.0 Beta
The next version of Minim is currently available as a Beta build. The big new feature is a music programming framework built around the concept of a unit generator (UGen). This framework makes it possible intuitively create synthesis chains and schedule notes to be played with these chains. You can read about the framework beginning in the Minim Manual at the Music Programming Intro section. You can also peruse the Javadocs for the Beta build online at http://code.compartmental.net/minim-beta/javadoc/. The package ddf.minim.ugens contains all of the new music programming classes.
Download: Minim 2.1.0 BETA (new UGen Framework)
Installation
To install either distribution, unzip the file into the libraries folder in your sketchbook. Create this directory if it doesn’t exist. The zip should extract a directory named minim.
Here are some of the features of Minim:
- AudioPlayer: Mono and Stereo playback of WAV, AIFF, AU, SND, and MP3 files.
- AudioMetaData: An object filled with metadata about a file, such as ID3 tags.
- AudioRecorder: 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.
Planned Features:
- More AudioEffects like reverb, delay, phasing, ring modulation, and bit crushing.
- Better filters using frequency domain filtering techniques.
To start using Minim, you can take a look at the Quickstart Guide or dive right into the Javadocs. If you have any questions, or find any bugs, you can contact me through my website, or through the Processing forum.
You can also contribute to the development of Minim by forking the project on Github: http://github.com/ddf/Minim
Enjoy!
-
Pingback from head(banger)phones part 2 | LEESEAN.NET on December 6, 2008 at 8:11 pm
-
Pingback from Ian Bartholomew » Blog Archive » pixelOSC on December 14, 2008 at 12:35 pm
-
Pingback from Processing 1.0 « Mawords’s Blog on January 10, 2009 at 9:42 am
-
Pingback from C:Art:Media testsite · automatic bai chans on January 13, 2009 at 2:51 am
-
Pingback from Mandelbrot Player « Computational Artwork on February 11, 2009 at 9:10 pm
-
Pingback from OSC + iphone = explosion | coding nature on March 1, 2009 at 1:52 pm
-
Pingback from john locke » Blog Archive » iggy wave on March 6, 2009 at 8:12 pm
-
Pingback from AVERT AIDS Challenge Game | Fuck DanCe Let’S ARt on April 1, 2009 at 7:16 am
-
Pingback from Maestro Development Blog » ProMIDI Problem on April 8, 2009 at 5:35 am
-
Pingback from Processing sound lib problems on April 15, 2009 at 3:55 pm
-
Pingback from Processing sound libs problems #2 on April 18, 2009 at 4:32 am
-
Pingback from z3255862’s blog » Multimedia Authoring - Week 07 on May 6, 2009 at 6:13 pm
-
Pingback from Virtual Desk | elalande.com on May 13, 2009 at 1:36 pm
-
Pingback from Pitch Detection at STARDRIVE on May 20, 2009 at 10:28 pm
-
Pingback from Cascade on Wheels » 8million IDs on August 19, 2009 at 9:28 am
-
Pingback from Code Log · Minim 2.0.2 Released! on October 4, 2009 at 6:21 pm
-
Pingback from Code & form » New Processing sound lib: Minim on October 4, 2009 at 7:47 pm
-
Pingback from Processing 1.0.8 released | Ramoonus.nl on October 25, 2009 at 9:37 am
-
Pingback from Audio Painting pt 1 « Draconian Solo on C on November 12, 2009 at 3:06 pm
-
Pingback from ?Processing? ??????? « Chocopi Factory on November 13, 2009 at 10:48 pm
-
Pingback from Learning from Projects « refract.me on December 5, 2009 at 3:02 pm
-
Pingback from Fight the Code » Blog Archive » Absence on January 4, 2010 at 9:42 pm
-
Pingback from ChalkNoise | DroneStudios on January 6, 2010 at 2:09 pm
-
Pingback from Processing links | BLOG.KAZAH on February 7, 2010 at 1:22 am
-
Pingback from Blog de Maestria en AE on April 5, 2010 at 6:03 pm
-
Pingback from sketch-a-kvetch » Sketch AddListener 2 on April 10, 2010 at 7:20 am
-
Pingback from Sound control (Arduino + Processing) : SAI on April 21, 2010 at 2:00 pm

63 comments
Comments feed for this article
Trackback link: http://code.compartmental.net/tools/minim/trackback/