Note

This post is intended to provide a brief overview of the PIDEG project and its associated implementations. For detailed information on the framework, its workings and applications, refer to the PIDEG arXiv paper. Additionally, refer to the README.md file present in the git repository of each implementation to get detailed information for the installation and operation of the same.

Read the Research Paper hosted on arXiv

Abstract

Audio envelopes serve a crucial role in ensuring the versatility of synthesizers in producing timbres. To this end, the Attack, Decay, Release and Sustain (ADSR) envelope generator and its derivatives have been established as a mainstay in modern music. However, there may be merit in exploring alternate techniques to produce envelopes that could not only resemble ADSR but also be used to create novel timbres. Consequently, an attempt is made in this research to formulate the framework of a new envelope generator by redefining the Proportional-Integral-Derivative (PID) algorithm used in feedback-based process control. Additionally, a detailed analysis is made on the modes of operation and the nature of envelopes thus generated to establish it as a potential harbinger of distinctive styles of music.

PIDEG Implementations

All of the following implementations are part of the PIDEG Gitlab Group

PIDEG Testbench GUI

The PID Envelope Generator (PIDEG) Testbench is a QT 5.x based graphical application for understanding, testing and evaluating the PIDEG specification. The testbench is developed parallel to the development of the framework and is extensively used in protoyping it.

PIDEG Testbench GUI

PIDEG Testbench GUI

See it working:

PIDEG Core

The PIDEG Core is an MPL 2.0 licensed, C-based library that can be used to integrate the functionality of the PIDEG specification in other applications. The library is intended to be used for:

  • VST/LV2/AU implementations
  • Adding PIDEG support into existing audio libraries, toolkits & frameworks
  • Incorporating PIDEG functionalities in any other application targetted for desktops and mobiles

PIDEG Core Demonstrations

A simulator to demonstrate audio envelopes generated using the PIDEG Core library. This repo was developed to draft the manuscript of the research paper, and builds over the core PIDEG functionality to provide some additional features. These include:

  • Provision to vary the nature of leader curves (LCs). Available options include inverse-exponential, trapezoidal and ADSR LCs.
  • Toggle for preferentially enabling integral windup phenomenon in the PID algorithm.
  • Facilities to enabling and specifying the Takeover Mechanism.

Ultimately, these features may be integrated into the core library after throrough rounds of testing and validation.

PIDEG JSFX

JesuSonic FX (JSFX) implementations of the PIDEG specification. JSFX scripts can be used for music production in Cockos REAPER & other DAWs. This repository consists of:

  • Library that implements core PIDEG functionalities. It can be integrated into any other JSFX script.
  • A demo plugin that employes the PIDEG library and manipulates incoming MIDI message velocities as per the input parameter values provided by the user. The result is then passed to the succeeding modules of that FX chain.
PIDEG JSFX Plugin

PIDEG JSFX Plugin

See it working (alongside PIDS JSFX):

PIDEG Eurorack Module

Currently developing an ahead-of-time PIDEG Eurorack Module in collaboration with Animal Factory Amplification (AFA), Mumbai.

See the untamed chaos it produces (alongside the AFA Bonesaw & Baron Samedi Modules):