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.
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.