Minim is an audio library that uses the
JavaSound API
, a bit of Tritonus, and Javazoom’s
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.

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.
  • FFT: perform a Fourier Transform on audio data to generate a frequency spectrum.
  • BeatDetect: a class for doing beat detection.
  • A real-time synthesis framework based around unit generators, which we call UGens.

If you are using Processing 2.0 you’ve already got Minim! So feel free to peruse
this documentation and start playing with examples. If you prefer Javadocs,
we got those too!
Bear in mind, however, that the version of Minim included with Processing 2.0
is not the most recent version. We recommend using Processing 3.0 so that you can
easily install the latest version of the library to take advantage of all the
latest bug fixes and additions.

In Processing 3.0 you can install Minim from the Contribution Manager.
Open the manager using the Sketch menu. Choose Import Library and then Add Library.
In the Libraries tab of the Contribution Manager, type Minim in the Filter box,
select the library from the list, and click Install.

If you are not using Processing,
you can still use Minim! We provide a constructor for the Minim class
that takes a plain Object and you simply need to
define two methods
that we will find using reflection.

The download includes Processing examples and source code.
Minim is licensed under the
GNU Lesser General Public License (LGPL),
a copy of which is included with the distribution.

Minim 2.2.2 Zip or visit the
Github 2.2.2 release page

If you have any questions about using the library you can start by
checking the Processing forum
or send me a private message there.
If you find bugs, please report them on the
Github issues page.

If you’d like to contribute to the development of Minim, simply
fork the project on Github
and send pull requests when you’ve got code you’d like us to consider
for inclusion in the library. Enjoy!