Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/micknoise/Maximilian
C++ Audio and Music DSP Library
https://github.com/micknoise/Maximilian
Last synced: about 2 months ago
JSON representation
C++ Audio and Music DSP Library
- Host: GitHub
- URL: https://github.com/micknoise/Maximilian
- Owner: micknoise
- License: mit
- Created: 2011-08-23T12:22:17.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2024-02-07T12:26:27.000Z (4 months ago)
- Last Synced: 2024-04-16T00:47:38.988Z (2 months ago)
- Language: C++
- Homepage: http://www.maximilian.strangeloop.co.uk
- Size: 156 MB
- Stars: 1,523
- Watchers: 95
- Forks: 270
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Lists
- awesome-cpp - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
- awesome-cpp - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
- fucking-awesome-cpp - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
- awesome-cpp - Maximilian - C++音频和音乐数字信号处理库. [MIT] (音频)
- awesome-cpp - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
- awesome-cpp - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
- awesome-cpp - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
- awesome-cpp-completed - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
- awesome-cpp - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
- awesome-stars - micknoise/Maximilian - C++ Audio and Music DSP Library (C++)
- awesome-cpp - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
- awesome-cpp - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
- awesome-cpp - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
- awesome-cpp - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
- awesome-android-cpp - micknoise/Maximilian - C++ Audio and Music DSP Library (TODO scan for Android support in followings)
- my-awesomes-stars - Maximilian - C++ Audio and Music DSP Library (C++)
- awesome-cpp - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
- awesome-cpp-completed - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
- awesome-cpp - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
- awesome-cpp - Maximilian - C++ Audio and Music DSP Library. [MIT] (Audio)
README
```
_____ _____ ___ __ _ _____ __ __ __ ____ ____
/ \\_ \\ \/ / |/ \| | | | \_ \/ \
| Y Y \/ /_ \> <| | Y Y \ | |_| |/ /_ \ Y \
|__|_| (___ /__/\__\__|__|_| /__|____/__(___ /__| /
\/ \/ \/ \/ \/
```
![version](https://img.shields.io/badge/version-2.4-red)
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/mimic-sussex/eppEditor/blob/master/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, Pi Pico)### Documentation
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 ..
make
./maximilian
```### 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](https://github.com/Louismac/maximilian-js-local).
### 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> ./maximilian
### Command Line Compilation in Linux
With OSS:
> g++ -Wall -D__LINUX_OSS__ -o maximilian main.cpp RtAudio.cpp player.cpp maximilian.cpp -lpthreadWith ALSA:
> g++ -Wall -D__LINUX_ALSA__ -o maximilian main.cpp RtAudio.cpp player.cpp maximilian.cpp -lasound -lpthreadWith Jack:
> g++ -Wall -D__UNIX_JACK__ -o maximilian main.cpp RtAudio.cpp player.cpp maximilian.cpp `pkg-config --cflags --libs jack` -lpthreadthen:
> ./maximilian### 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)