Note

This post is intended to provide a brief overview of the PIDS project and its associated implementations. For detailed information on the framework, its workings and applications, refer to the PIDS 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

Since its conception, digital synthesis has significantly influenced the advancement of music, leading to new genres and production styles. Through existing synthesis techniques, one can recreate naturally occurring sounds as well as generate innovative artificial timbres. However, research in audio technology continues to pursue new methods of synthesizing sounds, keeping the transformation of music constant. This research attempts to formulate the framework of a new synthesis technique by redefining the popular Proportional-Integral-Derivative (PID) algorithm used in feedback-based process control. The framework is then implemented as a Python application to study the available control parameters and their effect on the synthesized output. Further, applications of this technique as an audio signal and LFO generator, including its potentiality as an alternative to FM and Wavetable synthesis techniques, are studied in detail. The research concludes by highlighting some of the imperfections in the current framework and the possible research directions to be considered to address them.

PIDS Implementations

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

PIDS Testbench GUI

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

PIDS Testbench GUI

PIDS Testbench GUI

See it working:

PIDS JSFX

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

  • A library that implements core PIDS functionalities. It can be integrated into any other JSFX script.
  • Demo plugins that demonstrate:
    • A 2x-oscillator PIDS synthesizer utilizing the PIDS library.
    • Integrating the PIDEG JSFX library with PIDS to apply PID envelopes on the synthesized sounds.
PIDS JSFX Plugin

PIDS JSFX Plugin

See it working (alongside PIDEG JSFX):