Skip to content
C++ Audio and Music DSP Library
Branch: master
Clone or download
Latest commit 2d61e0d Jan 16, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
libs fixing bad use of commas in destructors Nov 20, 2017
maximilianTest.xcodeproj refined old envelopes Dec 14, 2016
maximilianTestWindowsVS2015 removing more binaries Oct 2, 2015
maximilian_examples fixed maxiRecorder with OS multithreading APIs Oct 16, 2016
openFrameworks same fix as main Maximilian Jan 16, 2019
.gitignore
README Update README Nov 5, 2016
RtAudio.cpp rtaudio mods Aug 25, 2011
RtAudio.h maximillian basic examples Aug 23, 2011
RtError.h maximillian basic examples Aug 23, 2011
beat2.wav maximillian basic examples Aug 23, 2011
bigFiles.txt 2017 Oct 6, 2017
blip.wav fixed the triangle waveform generator. Added some samples to test the… Oct 22, 2011
main.cpp 2017 Oct 6, 2017
maximilian.cpp Update maximilian.cpp Nov 27, 2018
maximilian.h Add maxiFractionalDelay Dec 6, 2017
player.cpp more work for kadenze mooc Sep 22, 2015
player.h maximillian basic examples Aug 23, 2011
portaudio.h maximillian basic examples Aug 23, 2011
snare.wav fixed the triangle waveform generator. Added some samples to test the… Oct 22, 2011
stb_vorbis.c Some initial changes that are long overdue part 1 Jul 26, 2015
stb_vorbis.h "added ogg vorbis support also did some minor bug fixes for windows a… Apr 7, 2012

README

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

::::::::::::::::::::::::::What's Maximilian?

Maximilian is an audio synthesis and signal processing library written in C++. It's cross-platform compatible with MacOS, Windows, Linux and IOS systems.  The main features are:

- sample playback, recording and looping
- read from 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
- realtime music information retrieval functions: spectrum analysis, spectral features, octave analysis, Bark scale analysis, and MFCCs
- example projects for Windows and MacOS, using command line and OpenFrameworks environments


:::::::::::::::::::::::::::BASIC EXAMPLES

You can choose between using RTAudio and PortAudio drivers in player.h by uncommenting the appropriate line.  To use PortAudio, you will need to compile the portAudio library from http://http://www.portaudio.com/ and link it with your executable.

Examples demonstrating different features can be found in the maximilian_examples folder.  To try them, replace the contents of main.cpp with the contents of a tutorial file and compile.


:::MAC OSX XCODE PROJECT

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


::WINDOWS VISUAL STUDIO 2010 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 MACOSX

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

> ./maximilian


::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

then:
> ./maximilian



:::::::::::::::::::::::::::OPENFRAMEWORKS

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.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.