Skip to content

PureData external for basic physical modelling synthesis

Notifications You must be signed in to change notification settings

basilegraf/delayfbck

Repository files navigation

DelayFbck

Delay line with feedback

delayfbckis an external written in C for the music patcher program Pure Data. It's purpose is to experiment with basic physical modelling synthesis, a maybe somewhat dated way of creating sound, but definitelly a fun one to fiddle with. The code is in a working state but certainly needs some further improvements and testing.

For now, delayfbck includes:

  1. Delay line with linear or cubic interpolation tap
  2. Feedback with selectable saturating nonlinearity and settable filters
  3. Envelope detector: A rectifier and lowpass allow to measure the resonance amplitude
  4. Amplitude controller: The feeback gain can be continuousely adjusted by a proportional-integral controller. This allows to stabilize the resonnance without necessarily hitting too hard in the saturation
  5. Pitch and Gain correction: the delay length and feedback gain can be corrected by taking the filters phase and magnitude at the expected resonance frequency into account. Pitch correction allows to create the really intended pitch. Works well on high pitches, not so well on lower pitches for some reasons. Gain correction allows damping to be independent from the feedback filters.
  6. Plucked string: Pluck the delay line à la Karplus-Strong with a triangular "string" shape.

Sound sample at https://youtu.be/t_nbeB5ekew

To learn how to write PD externals, check https://github.com/pure-data/externals-howto

To help you build (compile) externals, check https://github.com/pure-data/pd-lib-builder

About

PureData external for basic physical modelling synthesis

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published