MEAP The Library

MOZZI
MEAP The Class
C++ tips
Mozzi Reworks
mOscil
mSample
Generators
mDust
mNoise
mOperator
mSineLFO
mEnvSection
Effects
mBitcrusher
mChorus
mDigitalDelay
mFlanger
mPlateReverb
mSchroederReverb
DSP
mDelayLine
mFeedbackComb
mFeedforwardComb
mFIR
mIIR
mNaturalComb
mOnePoleLPF
mResonz
mRingz
mSchroederAllpass
mInstruments
mDrumRack
mFM4Instrument
mMarimbaInstrument
mPopInstrument
mRompler
mStringInstrument
mStringSynthInstrument
Composition
mMML
mTransitionTable
Utilities
mEventDelayMicros
mRandomDistribution

MEAP The Library


welcome to MEAP. Enjoy your stay!

The MEAP Library is a collection of functions for creating music on the MEAP hardware. It includes low-level DSP classes, building-block sound generation classes like oscillators and envelopes, instruments like FM synths, compositional tools, as well as the infrastructure to connect it all to the MEAP Prototyping Board.

The MEAP Library is built on top of the Mozzi Library, using Mozzi as it’s core engine and in a way acting as an expansion pack, extending its functionality.

While the MEAP Library is specific to the MEAP hardware, if you want to use any of the classes with other hardware, their source files could be copied to any other project running the Mozzi library (which supports a range of hardware) with minimal changes.

I don’t know enough about software licenses to choose a real one so the entirety of the MEAP library is released under the MPL (Mason’s Permissive License), which states that you can use the software for anything you want as long as its not killing anyone or something like that.


MEAP Library Changelog

MEAP 2.0.1 - October 15th, 2025

mOscil and mSample now have a default frequency on object creation.

mSample setSpeed function is added so users don’t need to manually calculate values for setFreq

mOperator now uses sin8192_int16 wavetable by default, setADSR method added.

fixed glitches in mStringSynthInstrument and mStringSynthVoice

MEAP 2.0.0 - September 1, 2025

The first “official” MEAP library version. Refactored a lot of old, sloppy code and began adding support for different MEAP versions. In other words “taking it seriously”

Made public all in-development DSP, Effect, Instrument, etc classes

Odds are, not many people were using these classes previously, so not many people should be effected by the multitude of changes made to get to this first version. If you were affected by it and are having trouble getting your code working, reach out to Mason, he will personally help debug. Future library versions will document item-by-item what changes

The main change that may actually affect users is hardware version control. The library now supports several different revisions of the board, and now you should specify what version you have when declaring your Meap object. If you have the most recent revision of the board Meap 4C, you don’t need to explicitly do this as the library will default to this, but the syntax is as follows

// choose one of the following lines depending on what version of the board you have.
Meap<mMEAP4B> meap;

Meap<mMEAP4C> meap;