FAST Project

ANR research project on facilitating the programming of FPGA platforms towards ultra-low latency real-time audio signal processing.

Faust Programming Language

Faust is a functional programming language for real-time audio signal processing.

Presentation

The Emeraude team combines the skills of:

to foster the development of new programming tools and signal processing techniques for embedded audio systems.

Programming embedded systems for real-time audio signal processing requires a deep understanding of Digital Signal Processing (DSP), low-level programming, system architecture, etc. Few engineers (whether they are on the DSP or the programming side), "makers," artists, etc. fully master all these domains. One of the main assumption of Emeraude is that Domain Specific Languages (DSLs) are a major technical evolution to facilitate and enable audio programming on emerging embedded systems.

Emeraude is studying various forms of embedded systems such as small microcontrollers, DSPs, GPUs, Linux-based embedded systems, etc. and has a special focus on FPGAs. FPGAs (Field Programmable Gate Arrays) can help solving current limitations of traditional computing platforms used for musical, artistic, and acoustics applications, especially in terms of audio latency, number of audio inputs and outputs, sampling rate, etc.

Beyond that, Emeraude is also interested in the various applications enabled by and related to the aforementioned research developments in a wide range of fields: active control and physical modeling of room acoustics and musical instruments, haptic feedback, artificial intelligence, spatial audio, digital musical instruments, etc.

Research Directions

Ultra-Low Audio Latency on FPGA

The main objective of this research axis is to enable the construction of audio systems reacting with a latency smaller than (or at least comparable to) the duration of a single audio sample. For that, we provide a real compilation flow from high level audio DSP programs expressed in the Faust programming language to FPGA IPs. The real breakthrough will be obtained with the use of two recent technologies in the Faust compilation workflow:

  1. High Level Synthesis (HLS) for compiling Faust programs to VHDL
  2. Fixed-point support in the code generated by the Faust compiler

Applications of Real-Time Audio DSP on FPGA

Besides ultra-low audio latency, FPGAs allow for other types of applications/breakthroughs in the context of real-time audio signal processing such as:

  • High-density multichannel audio systems (with applications for Wave Field Synthesis, Ambisonics, etc.),
  • High sampling rate (>1MHz) real-time audio DSP, etc.

Various projects (i.e., Plasma) are currently conducted on these topics as part of Emeraude.

Advanced Arithmetics for Digital Audio

In this research axis, Emeraude will build upon the expertise developed in the ex Socrate INRIA team in application-specific arithmetic. It will help addressing challenges related to achieving ultra-low-latency for digital audio systems by combining complementary approaches: compilation of digital audio to fixed-point arithmetic, and an arithmetic-centered approach to digital filter design.

Digital Audio Signal Processing

The main goal of Emeraude is to ease the design and the implementation of audio signal processing algorithms. This work necessarily involves "traditional signal processing research:" algorithmic research, library development, and the exploration of innovative technologies such as artificial intelligence, etc. New embedded platforms require us to re-think the way DSP algorithms are implemented because of resource constraints: memory available, hardware design approach, latency, etc.

Language, Compilation, Deployment, and Interfaces for Audio Signal Processing

Audio signal processing is an applied research field where each result, algorithm, method, or tool ends up being validated by the human ear. This validation requires efficient tools to rapidly prototype audio signal processing algorithms. For many years, languages and tools for audio DSP have been developed by researchers to ease the implementation and the deployment of new audio processing algorithms. The Faust programming language and environment were invented in that context at Grame-CNCM. Emeraude continues to bring new developments around these tools by mainly focusing its efforts in three directions:

  1. Faust development,
  2. Audio processing on embedded systems,
  3. Human-Computer Interfaces for audio devices.