Skip to content
openFrameworks addon for audio synthesis and generative music
C++ Makefile Other
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
arduino_init minor bugfixes Sep 20, 2017
doxygen separates pdsp::Parameter functionality between itself and pdsp::Valu… Sep 18, 2018
example_analysis clarify input ID use in examples Jun 12, 2019
example_android another way to fix CI Jul 9, 2019
example_audio_input clarify input ID use in examples Jun 12, 2019
example_basics1_patching now SIMD operations are included May 12, 2019
example_basics2_control now SIMD operations are included May 12, 2019
example_basics3_gui now SIMD operations are included May 12, 2019
example_basics4_modules now SIMD operations are included May 12, 2019
example_basics5_channels now SIMD operations are included May 12, 2019
example_data_to_wave
example_external_addons_wrap now SIMD operations are included May 12, 2019
example_graincloud now SIMD operations are included May 12, 2019
example_init now SIMD operations are included May 12, 2019
example_ios another way to fix CI Jul 9, 2019
example_midi_polysynth now SIMD operations are included May 12, 2019
example_midi_seq_out fixes serial and midi out examples Sep 14, 2019
example_osc_input now SIMD operations are included May 12, 2019
example_osc_input_sender refactoring sequencer Jun 14, 2018
example_osc_output now SIMD operations are included May 12, 2019
example_sequencing1 minor fixes Sep 14, 2019
example_sequencing2_masterplan fixes seq 2 example again Sep 14, 2019
example_sequencing3_wolfram_dub wolfram dub tweaks Sep 14, 2019
example_sequencing4_passing_data reviewed seq 4 example Sep 14, 2019
example_serial_arduino fixes serial and midi out examples Sep 14, 2019
example_song_player
example_wavesynth_pc_keys
extra 0.1 Feb 4, 2016
libs/audiofft removing libaudiodecoder Oct 7, 2018
src adds toggle mode to computer keyboard Oct 9, 2019
.appveyor.yml fixing appveyor again Jul 9, 2019
.gitignore updated gitignore Dec 19, 2018
.travis.yml another way to fix CI Jul 9, 2019
README.md added donation link to readme Jul 9, 2019
addon_config.mk updates addon_config.mk and removes some legacy flags May 17, 2019
license.md 0.1 Feb 4, 2016
ofxaddons_thumbnail.png minor tweaks Feb 17, 2016

README.md

ofxPDSP

Build status Build status

ofxPDSP is an openFrameworks addon for audio synthesis and generative music. It is based on those design principles:

  • Native c++, made to be tightly integrated into c++ projects.
  • Class design mimics modular synthesizers, where inputs and outputs are patched with the >> operator.
  • Sample accurate timing for the included sequencer.
  • Thread-safe, lock-free methods for metering and control.
  • Lazy evaluated DSPs. DSP units are recursively processed in chunks big as the audio buffer size, DSPs switch between routines running at audio rate (process every sample) and control rate (once every buffer) on the fly when the result is the same. DSPs are also coded using SIMD instructions when possible.
  • Cross-platform code: works on Linux (x86/ARM), OSX, Windows, iOS, Android (only on ARM processors with NEON instructions).

It includes a good selection of modules ready to be used, like antialiasied oscillators and VA filters, an FFT convolver, analog-sounding envelopes, a delay, a noise generator, a sampler and a graincloud module, biquad equalizers (normal and 2x oversampled), modules for dynamic processing, units for oversampling/downsampling and a framework for writing and sequencing generative music. On top of that some other classes that uses openFrameworks for adding midi and OSC in/out, serial output, sequencer monitoring, waveform plotting and scopes, other audio addon wrapping and ofParameter-compatible control.

Documentation

Here is the reference page for a selection of the most high level classes and function (probably you won't ever need more than that).
To learn how to use ofxPDSP also be sure to check out all the included examples, starting from the basics.

Dependencies

ofxPDSP requires the latest stable release of openFrameworks (0.10.1) or the master release, ofxMidi, ofxAudioFile and ofxOsc.

Donate

I support you, you support me!
If you find this code useful, consider fueling me with coffee!

Examples

Check out the videos of some included examples:

ofxPDSP example-scoring4-wolfram-dub

ofxPDSP example-graincloud

ofxPDSP example-midi_polysynth

ofxPDSP example-scoring3-masterplan

ofxPDSP example-serial-arduino

ofxPDSP example-data-to-wave

License

Nicola Pisanti, MIT License 2016-2018.
For FFT the AudioFFT wrapper is used, Copyright (c) 2013 HiFi-LoFi.

You can’t perform that action at this time.