Code Quality Rank: L1
Programming language: C++
License: MIT License
Tags: Audio    

Maximilian alternatives and similar libraries

Based on the "Audio" category.
Alternatively, view Maximilian alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Maximilian or a related project?

Add another 'Audio' Library


  _____ _____ ___   __ _  _____  __ __   __ ____  ____
 /     \\_   \\  \/  /  |/     \|  |  | |  \_   \/    \
|  Y Y  \/ /_ \>    <|  |  Y Y  \  |  |_|  |/ /_ \  Y  \
|__|_|  (___  /__/\__\__|__|_|  /__|____/__(___  /__|  /
      \/    \/                \/               \/    \/

version GitHub license

What's Maximilian?

Maximilian is a cross-platform and multi-target audio synthesis and signal processing library. It was written in C++ and provides bindings to Javascript. It's compatible with native implementations for MacOS, Windows, Linux and iOS systems, as well as client-side browser-based applications. Maximilian is self-contained, and compiles without dependencies. The main features are:

  • sample playback, recording and looping
  • support for WAV and OGG files.
  • a selection of oscillators and filters
  • enveloping
  • multichannel mixing for 1, 2, 4 and 8 channel setups
  • controller mapping functions
  • effects including delay, distortion, chorus, flanging
  • granular synthesis, including time and pitch stretching
  • atom synthesis
  • real-time music information retrieval functions: spectrum analysis, spectral features, octave analysis, Bark scale analysis, and MFCCs
  • example projects for Windows and MacOS, susing command line and OpenFrameworks environments
  • example projects for Firefox and Chromium-based browsers using the Web Audio API ScriptProcessorNode (deprecated!)
  • example projects for Chromium-based browsers using the Web Audio API AudioWorklet (e.g. Chrome, Brave, Edge, Opera, Vivaldi)
  • will run on embedded systems (e.g. ESP32)


in [docs/index.html](docs/index.html)

Basic Examples

Examples demonstrating different features can be found in the maximilian_examples folder. Each example is in a subfolder, and can be built as follows using cmake:

cd [example folder]
mkdir build
cd build
cmake ..

Web Audio

A transpiled javascript version of the library is included in this repository, for both Script Processor Nodes and AudioWorklets. Try this out at (https://mimicproject.com/guides/maximJS).

To run this on your on site, locally, or on GitHub Pages, check out this repo.

Mac OS XCode Project

You can run the examples using the 'maximilianTest' XCode 3 project provided.

MS Windows Visual Studio Project

This is in the maximilianTestWindowsVS2010 folder. You will need to install the DirectX SDK, so that the program can use DirectSound.

Command Line Compilation in Mac OS

g++ -Wall -D_MACOSX_CORE_ -o maximilian main.cpp RtAudio.cpp player.cpp maximilian.cpp -framework CoreAudio -framework CoreFoundation -lpthread

For M1 Mac OS

g++ -Wall -D_MACOSX_CORE_ -o maximilian main.cpp RtAudio.cpp player.cpp maximilian.cpp -framework CoreAudio -framework CoreServices -framework AudioToolbox -framework AudioUnit -framework Accelerate -lpthread


Command Line Compilation in Linux

With OSS:

g++ -Wall -D_LINUX_OSS_ -o maximilian main.cpp RtAudio.cpp player.cpp maximilian.cpp -lpthread

With ALSA:

g++ -Wall -D_LINUX_ALSA_ -o maximilian main.cpp RtAudio.cpp player.cpp maximilian.cpp -lasound -lpthread

With Jack:

g++ -Wall -D_UNIX_JACK_ -o maximilian main.cpp RtAudio.cpp player.cpp maximilian.cpp pkg-config --cflags --libs jack -lpthread



OpenFrameworks Project

Maximilian works well with the OpenFrameworks C++ creative coding toolkit (http://www.openframeworks.cc).

In the ofxMaxim directory you will find examples to run in Windows, OSX and iOS, including FFT analysis and granular synthesis.

You can install the ofxMaxim addon by copying the ofxMaxim/ofxMaxim folder into your openframeworks addons directory.

Important: when using Maximilian on OSX, link against the Accelerate framework.

Developer Notes

[see developer_notes.md](developer_notes.md)

*Note that all licence references and agreements mentioned in the Maximilian README section above are relevant to that project's source code only.