Skip to content

Patchable DSP addon/library for audio synthesis and generative music

License

Notifications You must be signed in to change notification settings

AlbertJean/ofxPDSP

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ofxPDSP

ofxPDSP is an audio DSP addon/library for openFrameworks. 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.
  • Thread-safe methods for metering and control.
  • Lazy evaluated DSPs. DSP units are recursively processed in chunks big as the audio buffer size, CPU cycles are spared by not processing Units if the actual state of the system make their results irrelevant and by switching between routines running at audio rate (process every sample) and control rate (once every buffer) on the fly. PDSP is coded optimizing the instruction for this kind of branching and shows a low I1 cache miss rate. DSPs are also coded using SIMD instructions when possible.
  • Cross-platform code: works on Linux, 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, delays, noise generators, a sampler and a graincloud module, biquad equalizers (normal and 2x oversampled), units 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.

You can find an overview of the modules here. Also be sure to check out all the included examples, starting from the basics. It is requires with the latest stable release of openFrameworks (0.9.8).

Requires ofxMidi, ofxSIMDFloats. and ofxOsc.

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

Nicola Pisanti, MIT License 2016-2017.
For FFT the AudioFFT wrapper is used, Copyright (c) 2013 HiFi-LoFi.
For loading audio file on OSX libaudiodecoder is used, Copyright (c) 2010-2012 Albert Santoni, Bill Good, RJ Ryan.

About

Patchable DSP addon/library for audio synthesis and generative music

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 86.8%
  • Makefile 10.6%
  • C 2.0%
  • Other 0.6%