SyFaLa
Synthétiseur Faible Latence sur FPGA
Low-Latency Synthesizer on FPGA
Synthétiseur Faible Latence sur FPGA
Low-Latency Synthesizer on FPGA
About SyFaLa
Overview
SyFaLa aims at facilitating the programming of FPGA platforms for real-time audio Digital Signal Processing applications through the use of the Faust programming language. This project gathers the strengths of GRAME-CNCM and CITI Lab at INSA Lyon and is funded by the Fédération Informatique de Lyon (FIL).
Background
Embedded systems for audio and multimedia are increasingly used in the arts and culture (e.g., interactive systems musical instruments, virtual and augmented reality, artistic creation tools, musical composition and performance, etc.). However, programming them can be out of reach of artists, creators, or non-specialized engineers. In parallel with the emergence of the "maker culture," progress have been made to make these types of systems more accessible, bringing more flexibility in digital approaches to artistic creation. Domain Specific programming Languages (DSL) such as Faust facilitated the implementation of real-time audio Digital Signal Processing (DSP) algorithms.
However, many limitations remain, especially for real-time applications where latency plays a crucial role (e.g., efficient active control of sound where audio processing should be faster than the propagation of sound, digital musical instruments playability, digital audio effects, etc.). While latency can be potentially reduced on "standard" computing platforms such as personal computers based on a CPU (Central Processing Unit), going under the "one millisecond threshold" is usually impossible due to buffering.
FPGAs (Field Programmable Gate Arrays) can help to solve this problem as well as most of the limitations of traditional computing platforms used for musical and artistic applications. These chips are known for their high computational capabilities and very low-latency performances. They also provide a large number of GPIOs (General Purpose Inputs and Outputs) which can be exploited to implement modern real-time multi-channel processing algorithms (e.g., sound fields capture using a very large number of digital microphones, active sound control over a large spatial region, etc.).
But FPGAs remain extremely complex to program, even with state-of-the-art high-level tools, making them largely inaccessible to musicians, digital artists and makers communities. FPGAs are configured/programmed using a Hardware Description Language (HDL) such as VHDL or Verilog. The learning curve and the electrical engineering skills required to master these types of environments make them out of reach of the real-time audio DSP community. Solutions exist to program FPGAs at a higher level (i.e., LabVIEW, Vivado HLS, etc.), but none of them is specifically dedicated nor adapted to real-time audio DSP.
The goal of Syfala is to design an FPGA-based platform for multichannel ultra-low-latency audio Digital Signal Processing programmable at a high-level with Faust and usable for various applications ranging from sound synthesis and processing to active sound control and artificial sound field/room acoustics.
Tools
The SyFaLa toolchain is freely accessible on GitHub: https://github.com/inria-emeraude/syfala.
Partners/Team
This project gathers the strengths of GRAME-CNCM and CITI Lab at INSA Lyon and is funded by the Fédération Informatique de Lyon (FIL).
GRAME-CNCM
Grame is a ``Centre National de Création Musicale'' (CNCM) organized in three departments: music production, transmission/mediation, and computer music research. Grame's research department has been leading the development of the Faust programming language since its creation in 2004. It has expertise in computer science (compilation), audio DSP, digital lutherie, HCI (Human Computer Interaction) in general, and music representation. Thanks to the proximity of all three departments at Grame, research outcomes can easily find their way to professional musical productions and be shared with a general public through the organization of workshops and tight collaborations with the French ministry of education.
CITI Lab
CITI is an academic laboratory associated with INSA Lyon and INRIA. The CITI Laboratory develops research activities bringing together computer science, networking, and digital communications to address the challenging issues related to the development of Internet. This world scale network offers a seamless communication path between heterogeneous nodes (persons, objects, sensors, phones, etc.) in an heterogeneous architecture including wireless access, offering mobility, ubiquity and adaptability. Cutting-edge technologies are expected in various fields to provide seamless, self-adaptive and secured solutions fitting with the specific constraints of many applicative frameworks. The full cross-layer expertise the CITI acquired during the past ten years makes it a very original, challenging and almost unique place in France.