Audio Programming

Baremetal Csound

I developed the bare-metal build for Csound, enabling it to run directly on embedded systems, including the Daisy platform and AMD Xilinx Zynq 7000 FPGA SoC. This build is available on the 'develop' branch of the official Csound GitHub repository. Example templates demonstrate integration capabilities such as analog, digital, and MIDI I/O with Csound.

Notably, one example is a generative composition showcased at the International Csound Conference in Vienna (2024). Ongoing development focuses on creating a comprehensive Csound FPGA framework to enable FPGA-accelerated hardware-software co-designs directly from Csound (.csd) files.

ModFPGA - Modular Sound Synthesis on FPGA-based SoC

I developed a modular sound synthesis system for the AMD Xilinx Zynq 7000 FPGA SoC. The system comprises standalone, interconnectable IP cores created using C++ and High-Level Synthesis (HLS), each emulating modules found in modular synthesizers. These cores support various synthesis techniques while leveraging FPGA parallelism, low latency, and computational performance.

ModFPGA integrates with the onboard ARM CPU, effectively dividing tasks such as control, coefficient calculation, and communication between the CPU and FPGA fabric. Two complete examples—subtractive and FM synthesis—are provided in both polyphonic and monophonic configurations, including integrated feedback delay network (FDN) reverb processing.

Interactive Audio Software Development

I worked on software development for the interactive audio component of two installations by Asim Waqif: Chaal, showcased at NMACC, Mumbai (2024), and Min Rukam, showcased at IAB25, Jeddah (2025). This involved programming ESP32 microcontrollers to manage musical sequences across both digital and mechanical audio outputs, including stepper motors, DC vibration motors, relay switches, digital audio synthesis, and generative noise synthesis. These components were triggered by various strategically placed sensors such as LIDAR, SONAR, load cells, and LDRs.

Additionally, I developed a Node.js-based Fastify server running on a Raspberry Pi, which served as a gateway between the ESP32 devices and user interaction. This server hosted a React web application allowing users to visualize sensor data, configure sequencer parameters, and design musical patterns. The Raspberry Pi further managed advanced behaviors like trigger-rate regulation, cross-device interactions, and environmental responses based on weather and sensor analysis.

Chaal Installation

Chaal Installation

Min Rukam Installation

Min Rukam Installation

Pitchshifting and Modulated Feedback Delay Module - Daisy

A multi-effects processor module using delay lines for pitchshifting, flanging, and feedback-based effects, developed in C++.