Programmable Audio Workshop 2023

AI and Audio Programming Languages - Marie Curie Library, INSA Lyon (France) Dec. 2, 2023

PLASMA Project

Pushing the Limits of Audio Spatialization with eMerging Architectures

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, artificial intelligence, spatial audio, digital musical instruments, etc.

Research Directions

Facilitating the Programming of FPGA Platforms for Real-Time Audio DSP Applications

The main objective of this research axis is to facilitate the programming of Field-Programmable Gate Array (FPGA) platforms for real-time audio Digital Signal Processing (DSP) applications through the use of high-level programming languages such as Faust and C++. This takes the form of a toolchain: SyFaLa. Multiple challenges must be overcome to reach these goals:

  1. Exploiting the power of High Level Synthesis (HLS) in the very specific context of real-time audio DSP.
  2. Adding fixed-point support to the code generated by the Faust compiler.
  3. Developing a series of tools around this system to adapt it to a broad range of applications.

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:

  • Ultra-low latency real-time audio DSP.
  • 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.

Spatial Audio and Embedded Systems

The goal of this research axis is to explore the potential of using embedded systems in the context of spatial audio. For example, we're in the process of designing a distributed spatial audio system as part of the Plasma project where a network of small computers is used to implement various sound spatialisation techniques (i.e., WFS, ambisonics, etc.).

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.