2024Activity reportProject-TeamEMERAUDE
RNSR: 202224250T- Research center Inria Lyon Centre
- In partnership with:Institut national des sciences appliquées de Lyon, Générateur de Ressources et d’Activités Musicales Exploratoires
- Team name: EMbEdded pRogrammable AUDio systEms
- In collaboration with:Centre d'innovation en télécommunications et intégration de services
- Domain:Algorithmics, Programming, Software and Architecture
- Theme:Architecture, Languages and Compilation
Keywords
Computer Science and Digital Science
- A1.1.2. Hardware accelerators (GPGPU, FPGA, etc.)
- A2.2. Compilation
- A5.7.1. Sound
- A5.7.2. Music
- A5.7.5. Synthesis
- A5.9. Signal processing
- A8.10. Computer arithmetic
Other Research Topics and Application Domains
- B6.6. Embedded systems
- B9.2.1. Music, sound
1 Team members, visitors, external collaborators
Research Scientists
- Romain Michon [INRIA, ISFP]
- Anastasia Volkova [INRIA, Researcher]
Faculty Members
- Tanguy Risset [Team leader, INSA LYON, Professor]
- Stéphane Letz [GRAME]
- Christine Solnon [INSA LYON, Professor, from Sep 2024]
- Florent de Dinechin [INSA LYON, Professor]
Post-Doctoral Fellows
- Aurélien Delage [INSA LYON, Post-Doctoral Fellow, from Sep 2024]
- Romain Fontaine [INSA LYON, Post-Doctoral Fellow, from Dec 2024]
- Agathe Herrou [GRAME, Post-Doctoral Fellow, until Apr 2024]
- Xiao Peng [INSAVALOR, Post-Doctoral Fellow, from Sep 2024]
PhD Students
- Bastien Barbe [INSA LYON]
- Romain Bouarah [INSA LYON, from Oct 2024]
- Orégane Desrentes [KALRAY, CIFRE]
- Maxime Popoff [INSA LYON, until Nov 2024]
- Benjamin Quiedeville [GRAME, CIFRE, from Oct 2024]
- Florian Rascoussier [IMT ATLANTIQUE, from Sep 2024]
- Thomas Rushton [INRIA]
Technical Staff
- Pierre Cochard [INSA LYON, from May 2024]
- Pierre Cochard [INRIA, Engineer, until Apr 2024]
- Yann Orlarey [INRIA, Engineer]
Interns and Apprentices
- Romain Bouarah [ENS PARIS-SACLAY, Intern, from Mar 2024 until Aug 2024]
- Danial Habib [INSA LYON, Intern, from Jun 2024 until Aug 2024]
- Tom Hubrecht [ENS PARIS-SACLAY, from Mar 2024 until Aug 2024]
- Remi Jeunehomme [GRAME, Intern, from Feb 2024 until Jul 2024]
- Benjamin Quiedeville [INRIA, Intern, from Mar 2024 until Aug 2024]
- Jessica Zaki Sewa [INRIA, Intern, until Jan 2024]
Administrative Assistants
- Cecilia Navarro [INRIA]
- Linda Soumari [Insa-Lyon]
2 Overall objectives
The goal of the Emeraude project-team1 is to combine the multidisciplinary skills of CITI laboratory and Grame-CNCM to foster the development of new programming tools and signal processing techniques for embedded audio systems.
Grame-CNCM 2 is a National Center for Musical Creation (CNCM3) hosting a research team specialized in music technology. Grame is also the inventor of the Faust programming language,4 which has met great success in the audio processing community. The skills in compilation, embedded systems, and FPGAs of former Inria Socrate team members, as well as the experience acquired in signal processing is also useful for research in audio and acoustic signal processing.
Embedded programmable audio systems are ubiquitously used in our day-to-day life. Whether it's in our headphones or our car to carry out active noise cancellation, in virtual home assistants (e.g., Alexa, Google Home, etc.), or in modern musical instruments and sound systems, they are everywhere. Real-time audio processing is known to be relatively computationally expensive, but progress in processor architectures in recent years – including microcrontrollers, microprocessors, Digital Signal Processors (DSPs), Graphics Processing Unit (GPUs), etc. – have made computing power much more affordable. The generalization of hardware floating point support, and the availablilty of high-level IDEs (Integrated Development Environments) for these new architectures has made them accessible to audio programmers.
Programming embedded audio systems requires specific skills: Digital Signal Processing (DSP), low-level C/C++ programming, and a deep understanding of system architecture. Few engineers (whether they are on the DSP or the programming side) fully master all these domains, and even fewer people in the maker community. The scientific credo of the Emeraude Inria-Insa joint project-team is that Domain Specific Languages (DSLs) are a major technical evolution to enable audio programming on emerging embedded systems. There currently exists a few software solutions addressing audio programming such as libpd23 or the SOUL programming language,5 but none of them is as generic and as universal as Faust 63, which has been developed at Grame for more than 15 years.
Emeraude uses the Faust programming language as the main platform for experimenting fundamental research. Faust63 is a DSL for real-time audio signal processing. A screenshot of the Faust IDE is shown in Fig. 1. Faust is widely used for audio plugin design (i.e., effects and synthesizers), DSP research, mobile and web app design, etc. The success of Faust is due to its natural data-flow paradigm and on a compiler “translating” DSP specifications written in Faust into a wide range of lower-level languages (e.g., C, C++, Rust, Java, LLVM bitcode, WebAssembly, etc.). Thanks to its highly re-targetable compilation flow, generated DSP objects can be embedded into template programs (wrappers) used to turn a Faust program into a specific ready-to-use object (e.g., standalone, plug-in, smartphone app, webpage, etc.).

The faust IDE
While Faust was not originally designed with embedded audio systems in mind, its development took a significant turn in that direction by targeting an increasingly large number of hardware platforms such as the Teensy6 57 and the ESP-32 microcontrollers7 58, the SHARC Audio Module DSP,8 the BELA,9 the ELK,10 etc. Since Faust can generate various types of standalone programs for Linux, it can also target most embedded Linux systems such as the Raspberry Pi or the BeagleBone for real-time audio signal processing applications. This recent availability of Faust compilation on tiny embedded systems and micro-controllers in particular opens the door to the creation of innovative audio objects. Fig. 2 shows the Gramophone, a device designed by the Grame team and that is used in schools to teach basic science concepts to children.
Faust is now a well-established language in the audio DSP community. It is used both in academia for teaching in prestigious institutions such as Stanford University,11 Aalborg University, the University of Michigan, and in the industry (e.g., moForte Inc.,12 ExpressiveE). Faust is also used as a prototyping tool at Korg, Apple, Google, Tesla, etc.


The Gramophone instrument
The Gramophone instrument
While embedded audio systems are already widespread, many limitations remain, especially for real-time applications where latency plays a crucial role. For instance, efficient active control of sound where audio processing should be faster than the propagation of acoustical waves 38, digital musical instruments playability 49, digital audio effects, etc. cannot be deployed on lightweight systems. While latency can be potentially reduced on “standard” computing platforms such as personal computers, going under the “one millisecond threshold” is usually impossible because of audio samples buffering induced by software audio drivers.
Up to now, most of the research effort on audio signal processing has been focused on throughput and computing power, leaving aside ultra-low latency as it seemed inaccessible on software platforms. We believe that enabling ultra-low latency for audio application will open a wide range of new domains of application from active acoustic control to new musical instruments (see Fig. 3, “stolen” from the ANR FAST project which started in 2021).

overview of applications of low latency audio
FPGAs (Field Programmable Gate Arrays) can help solve current limitations of traditional computing platforms used for musical and artistic applications, especially in terms of audio latency. FPGAs are known for their high computational capabilities 28, 64 and their very low-latency performances 75. 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 field capture using a very large number of digital microphones 66, active sound control over a large spatial region 77, etc.).
But FPGAs remain extremely complex to program, even with state-of-the-art high-level tools,13 making them largely inaccessible to DSP researchers, musicians, digital artists, and maker communities. There are currently only a few examples of professional FPGA-based real-time audio DSP systems (i.e., Antelope Audio,14 Korora Audio15) and in these applications, FPGAs are dedicated to a specific task and not exploited as user-programmable devices.
Emeraude provides a combination of skills that is unique in the world: audio signal processing, compilation, high-level synthesis, computer arithmetic, FPGA programming, acoustics, and embedded system design. This gives a hint on what initially motivated the creation of Emeraude: a compiler from Faust to FPGA as considered in the SyFaLa project16 enabling very low latency processing (less than
The objective of the research axes described in the next section is to deeply understand and enable new compilation flows for audio signal processing.
3 Research program
The Emeraude project team was officially created in March 2022, though we had been working together for two years prior. At that time, we had decided to organize the team around four research axes:
- Ultra-Low Audio Latency on FPGA
- Advanced Arithmetics for Digital Audio
- Digital Audio Signal Processing
- Language, Compilation, Deployment and Interfaces for Audio Signal Processing
However, it soon became clear that it was challenging to separate axis 3 (Digital Audio Signal Processing) from axes 1 and 4. Specifically, we have a very active research group in embedded audio systems and FPGAs (with four permanent members) and a strong group in FPGA-based arithmetic (with two permanent members). Within the embedded audio systems group, certain topics are directly concerned with Faust , the language design, the compiler, and the ecosystem. Therefore, the three research focuses presented in this document represent the most effective way to organize the team going forward in a balanced manner:
- Embedded Audio Systems and FPGAs
- Optimization of Arithmetic for FPGAs
- The Faust Programming Language and its Ecosystem
The recent arrival of Christine Solnon and her students (four people as of September 2024) has been in planning for six months and will impact the team’s structure. Christine Solnon is a renowned researcher in graph algorithms and constraint programming and also has a solid background in optimization more broadly. Many of the problems we study give rise to unique optimization challenges. For example, optimizing the bit width in FIR or IIR filters can be framed as a complex integer linear programming problem, while certain compilation problems addressed in the Faust compiler can be expressed as graph algorithms. More generally, optimization has applications in numerous scientific fields, and we intend to establish it as an important axis for the Emeraude team in the next years.
3.1 Embedded Audio Systems and FPGAs
Participants: Florent de Dinechin, Stephane Letz, Romain Michon, Yann Orlarey, Tanguy Risset
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.
Low-latency digital audio processing might seem easy: computer systems operate at GHz frequencies whereas audible sound stops at about 20 kHz (high-resolution sound processing means 192 kHz sample frequency; CD-quality is 44.1 kHz). Concerning sound propagation, electronic data may be transmitted at speeds close to the speed of light while sound travels one million times slower. Still, achieving ultra-low latency remains a huge technical challenge. For the main applications of mass-produced audio devices (mostly sound playback and telephony), a latency of a thousand audio cycles translates to an audible delay that is barely noticeable. However, for the applications envisioned in Emeraude, sound must be captured, processed, and emitted with sub-millisecond latencies.
For that, we need to provide a real compilation flow from high-level audio DSP programs to FPGA IPs. Our proposal is to target a new Faust architecture backend for FPGA-based platforms as depicted in Fig. 4. One of the challenges here is the optimization of the module generated by Faust . The real breakthrough will be obtained with the use of two recent technologies in the Faust compilation workflow:
In Audio, sampling rate is between 20kHz and 200kHz. The sampling rate has of course an impact on achievable latency: at 48kHz, one sample arrives every 20
Microcontrollers have been used more and more in recent years for sound synthesis and processing because of their increasing power. The Teensy 57 and the ESP32 58 are good examples of such systems. When programmed “bare-metal” (i.e., without an OS), their latency can be similar to that of dedicated/specialized embedded Linux systems (buffer size of 8 samples as well).
Digital Signal Processors (DSPs) can target even lower latency with buffer sizes as low as 4 samples and provide tremendous amounts of computational power for signal processing applications. Their programming needs specific developer tools, making them less accessible than the other types of systems mentioned in this section. Additionally, many of them do not provide native support for floating-points computations, further increasing the complexity of their programming. The Analog Devices SHARC Processor18 is a leader on the market which can be used as a prototyping system through the SHARC Audio Module. It also provides an official Faust support.
The only way to take audio latency one step further down is to use FPGAs, which is what we plan to do in this research axis.
Programming FPGAs is usually done with a hardware description language (VHDL or Verilog). Developing a VHDL IP19 is extremely time consuming. Hence, FPGA programmers have two possibilities: re-using existing IPs and assembling them to compose a circuit solving their problem (as proposed by LABVIEW20), or using High-Level Synthesis to compile a VHDL specification from a higher-level description.
High Level Synthesis (HLS) 61 has been referred to for decades as the mean to enable fast and safe circuit design for programmers. However, the design space offered to a hardware designer is so huge that no automatic tool is able to capture all the constraints and come up with the optimal solution (which does not exists anyway since multiple objectives are to be optimized). Many HLS tools have been proposed (i.e., Pico 67, CatapultC 21, Gaut 70, to cite a few) dedicated to specific target application domains. Most of the existing tools start from a high-level representation that is based on a programming language (i.e., C, C++, or Python) which is instrumented using pragmas to guide the HLS process.
Using HLS today still requires very specific skills 44 to write a source description that is correctly processed by the tools, but we believe that this technology has reached a certain level of maturity and can now be foreseen as a valuable tool for audio designers.

syfala toolflow
Another goal is to adapt the different design flows to target high-performance FPGA boards, such as the Genesys ZU based on a Zynq Ultrascale FPGA for instance. These new targets are used for the compute-bound studied algorithms. High computing power implies the introduction of parallelization techniques in the compilation flow (either using the HLS process or by direct VHDL generation from Faust ). This research direction might require the parallelization techniques (Polyhedral tools in particular) developed within Inria in particular (e.g., CASH, Taran, CAMUS, CORSE, etc.).
The main outcome of this research axis, namely the new open-source compilation flow from Faust to FPGA is useful in many contexts: for musicians, acoustic engineers or mechanical vibration engineers. In order to convince these people to use it, we are prototyping a large number of audio treatments (e.g., filters, reverb effects, etc.) and study the resulting performances – in terms of latency and computing power – depending of the configuration chosen for the flow.
3.2 Optimization of Arithmetic for FPGAs
Participants: Florent de Dinechin, Anastasia Volkova, Christine Solnon, Yann Orlarey
In this research axis, Emeraude builds upon the expertise developed in Socrate in application-specific arithmetic. Florent de Dinechin is an expert of computer arithmetics in general (including floating-point 60 and alternatives 32, 73) but also in arithmetics for FPGAs, in particular with the FloPoCo project 37. Anastasia Volkova specializes in error analysis and optimization of computer arithmetic, with a focus on fixed-point operator design for digital signal processing and machine learning. Christine Solnon, as an expert in graph algorithms and constraint programming, brings a unique insight into efficient design-space exploration and optimization of mathematical models. Their expertise is helping us address challenges related to low-latency digital audio by combining complementary approaches: compilation of digital audio to fixed-point arithmetic, an arithmetic-centered approach to digital filter design, and the scheduling and tiling problems. In these three directions, audio applications fuel research that has an impact well beyond audio.
Audio-to-fixed easier than float-to-fixed
In audio processing, we know that the inputs and outputs are fixed-point data, and we also have a lot of domain knowledge about audio physics. This gives serious hope that Faust audio can be compiled directly to fixed-point. This is a requirement for FPGAs, but it will also reduce the latency and power consumption on software targets if we can use their integer units. It will also enable the compilation of Faust to ultra-low-power microcontrollers without floating-point hardware.
“Domain-specific” is the key word here making us confident that a problem that is generally intractable (float-to-fixed conversion) can be addressed with little or no modification to a Faust program. The challenge here is to keep this additional work so high-level and sound-related that it is not a burden for a musician or a sound engineer. A central objective is that Faust programmers should not need to become fixed-point experts. They should actually not be anymore aware of the underlying arithmetic than they currently are with floating-point. Being high-level is a key reason for the success of Faust .
Automated error analysis for hardware computing just right
The main issue is to understand how arithmetic errors propagate, are amplified, are accumulated, etc. in a computation and in a circuit. This is called error analysis. Then a general technique 35 is to add enough bits to the right of internal fixed-point formats so that errors accumulate in these bits and the overall error accumulation does not hinder the final quality of the result. Error analysis is also managed by a worst-case combination, but here there is nothing implicit or hidden. This is therefore a comparatively well understood problem, and there is no reason to believe it cannot be fully automated in a compiler that is already able to derive the format information, building on the experience accumulated when designing complex FloPoCo operators 34, 33, 24, 72, 76.
Digital filters as arithmetic objects
Digital filters are essential components of everyday electronics like radios, mobile phones, etc., but also in audio systems of course. Their design is a core topic in digital signal processing and control theory, one that has received significant research interest for the better part of the last half century. A lot of effort has gone into constructing flexible filter design methods. For designing software-based digital filters with floating-point coefficients, there are many powerful approaches that are relatively easy to use by the filter designer (all the more as they rely on over-dimensioned floating-point operators). When designing hardware, things are not that simple for several reasons:
- algorithms developed for software-implemented filters cannot be transferred directly to hardware: what is a constraint in software (e.g., “use a 32-bit fixed-point format”) becomes a degree of freedom in hardware design (“What is the smallest fixed-point format that can be used?”);
- another degree of freedom comes from different available realization techniques to implement the arithmetic itself, for instance the construction of multipliers by constants.
A consequence is that popular tools, such as the popular fdatool (filter design and analysis tool) from Matlab's Signal Processing toolbox, offer a complex interface, requiring a tedious hand-tuning process, and expect some domain expertise. Such tools input a frequency response, and decompose the filter implementation problem in three steps: 1/ the filter design (FD) step consists in finding a filter with ideal (high precision) coefficients that adheres to the frequency response; 2/ the quantization (Q) step converts the obtained coefficients to hardware-friendly fixed-point values ; 3/ the implementation (I) step generates a valid hardware description (e.g., a VHDL or Verilog description) using the quantized coefficients.
The objective of this research axis is to offer an optimal solution to the global FD + Q + I problem. Optimal techniques exist for each of the FD, Q and I steps in isolation. The combination of the FD & Q steps have been studied since the 1960's 45, and can even be regarded as solved for certain practical instances of fixed-point Finite Impulse Response (FIR) design 46. A large body of work also exists for the I step, with recent optimal approaches 18, 47, 48. However, these approaches are only optimal for a given set of coefficients, and therefore strongly depend on the FD and Q steps.
Arithmetic-oriented scheduling and tiling for low-latency audio
Finally, we also want to formally insert arithmetic considerations in the global problem of distributing a very heavy computation between space (we have up to several thousands multipliers in an FPGA, and many more if we multiply by a constant) and time (we have thousands of FPGA cycles within one audio cycle).
These are well-researched compilation issues, called the scheduling and tiling problems.
There is local expertise in Lyon (in particular in the CASH team and its spin-off XtremLogic21) who have worked on these problems for FPGAs.
However, scheduling and tiling techniques so far consider each operation as having a standard, constant cost (e.g., multiplication costs
Towards provably optimal solutions
Recent arrivals of Christine Solnon and Anastasia Volkova into the team bring more focus into the optimization.
Given a mathematical object to implement in hardware (for instance the 2D norm
3.3 The Faust Programming Language and its Ecosystem
Participants: Florent de Dinechin, Stephane Letz, Romain Michon, Yann Orlarey, Tanguy Risset, Christine Solnon
Audio signal processing is an applied 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.
The Faust language and its compiler
A large part of Emeraude's research results is visible thanks to the Faust ecosystem development. Faust has gained an international recognition, especially since it is used for teaching at Stanford University (in the context of courses on signal processing, physical interaction design, etc.) and developing new audio plugins 59. The efforts needed to keep Faust as the most efficient language for real-time audio processing involve research in: language design, compiler design, and development of DSP libraries.
One of the reason of Faust 's success is that it is both a language and an environment for audio signal processing. The Faust compiler typically generates high-level codes (in languages such as C, C++, etc.), following every compiler's goal: providing better code than manually written code. For that, it has to stick to the most recent compiler technologies and processors evolutions 53. For instance, a back-end for WebAssembly was recently added to the Faust compiler 52. An important deployment step was the embedding of the Faust compiler in a web browser 51 which makes it easily accessible on all computers.
Faust language design research in Emeraude
The current design of Faust , inspired by lambda-calculus, combinatory logic and John Backus’ functional programming, has to be extended to face new challenges, in particular multi-dimensional and multi-rate signals and linear algebra.
Faust allows for the description of synchronous mono-rate scalar DSP computations. This is sufficient to implement most time-domain algorithms such as filters, oscillators, waveguides, etc. However, this makes the implementation of frequency-domain algorithms (e.g., FFT, convolution, etc.) very inefficient, not to say impossible. One of our goals is to extend the language to enable multi-rate as well as vector computations. While we already have a working prototype for this, some challenges have yet to be overcome.
Along the lines of the previous point, Faust currently doesn't provide any support for efficient matrix operations and more generally linear algebra. This prevents the implementation of some classes of DSP algorithms such as Finite-Difference Time-Domain (FDTD) method for physical modeling. The skills of former Socrate members on seminal Alpha language 36 and polyhedral optimization are very useful here.
Support for the main target programming languages in Faust is essential. Recently added languages (WebAssembly, Rust, and CMajor) have opened many new opportunities. The FPGA target, studied in §3.1, introduces new challenges such as the ability to use fixed-point arithmetic or the use of HLS for targeting hardware platforms (e.g., VHDL, Verilog, etc.). Other “exotic” architectures such as GPUs or MPSoCs should be studied for compute-bound algorithms.
Musicians have to deal with a large variety of operating systems, software environments and hardware architectures. Faust is designed to favor an easy deployment of dsp programs on all these targets by making a clear separation between computation itself, as described by the program code, and how this computation should be related to the external world. This relation (with audio drivers, GUIs, sensors, etc.) is described in specific architecture files40. Architecture files concern both hardware (i.e., audio interfaces/sound cards) as well as software control interfaces (e.g., GUI, OSC,22 MIDI), new luthieries (e.g., SmartFaust, Gramophone), Web platforms (Web audio Plugin), etc. One of the goal of the work of Emeraude on Faust is to ease the programming of these audio systems.
Faust ecosystem and DSP libraries
Faust users are very attached to its ecosystem, including native applications, online and “embedded” audio applications, Just In Time (JIT) compiler, etc. Recent developments include a JIT Faust compiler on the Web, a JIT compiler in the Max/MSP environment, tools to find the best compilation parameters and ease compilation for multiple CPUs. This is constantly evolving to answer to users' demand.
The Faust DSP libraries currently implement hundreds of functions/objects ranging from simple oscillators and filters to advanced filter architectures, physical models, and complete ready-to-use audio plugins. These libraries are at the heart of Faust 's success and international position. Julius Smith23 (Stanford professor) is one of the most respected figures in the field of audio DSP and one of the main contributors to the Faust libraries. One of the ambitions of the Emeraude team is to maintain and extend this tool to make it as exhaustive and as universal as possible. Along these lines, new developments made to the language presented above (e.g., multi-rate, linear algebra, etc.) should be ported to the libraries. Finally, dedicated libraries targeting specific hardware platforms (e.g., microcontrollers, FPGAs) should be made available too.
Machine learning for digital signal processing
Machine learning and deep learning in particular, are playing an increasingly important role in the field of audio DSP. Researchers are revisiting the algorithmic techniques of signal synthesis and processing in the light of machine learning, for instance for speech processing 41. Recent breakthroughs such as the use of machine learning use in the context of Differentiable Digital Signal Processing (DDSP) 39 demonstrate its power. The extension of Faust applications to artificial intelligence began with the PhD work of Benjamin Quiédeville, expanding the scope of Faust in the field of AI. The objective is the introduction of an autodifferentiation primitive for Faust programs, aimed at machine learning applications. The development of new backends is planned, particularly for MLIR, MOJO, and GPUs, as well as support for emerging architectures, especially in the context of game engines and VR/AR applications.
Embedded systems for audio processing
As Emeraude's name suggests it, the implementation of audio Digital Signal Processing on embedded hardware is at the heart of the project. We naturally rely on the Faust language for these implementations. The skills of Emeraude members in compilation and embedded systems are used to add new embedded target for audio processing, in particular FPGAs, as explained previously. This action is a mix of research and engineering work, it should be very useful for the dissemination of audio processing programming.
Haptics is a huge topic, especially in the field of New Interfaces for Musical Expression (NIME), which has been studied for many years 29, 74. It has always been tightly coupled to physical modeling because this sound synthesis technique provides natural connections to the physical world. A big part of the challenge is technological because haptics requires ultra low-latency and high sampling resolution in order to be accurate. This is at the heart of Emeraude 's goals.
Virtual and Augmented Reality (VR/AR) is not limited to immersive 3D graphics, sound also has an important role to play in that emerging field. Lots of work has been done around using VR environments as a creative tool for audio 50, 27, 25. While many VR-based musical instruments have been created in the past 68, little work has been done around implementing interfaces specifically targeting VR/AR audio environments, especially in the context of 3D sound. This is something that we plan to explore as part of Emeraude.
Finally, beside ergonomic and HCI aspects, the design of musical interfaces is impacted by various kinds of technical limitations that we plan to address as part of Emeraude. First, just like for real-time audio processing, latency plays a crucial role in this context. Similarly, the “time resolution” (e.g., the sampling rate of the interfaces) can have a huge impact, especially when targeting specific kinds of instruments such as drums. Finally, the “spatial resolution” (e.g., the number of sensor points per squared centimeters on a tabletop interface) also impacts its quality. In this context, we would like to develop an embedded, high-resolution, high-sampling-rate, multi-touch multi-dimensional (X and Y + pressure) interface/instrument leveraging the development carried out in the previous axes. This work would be followed by a user study to measure the impact of this type of advanced system on perception.
4 Application domains
Emeraude aims at being a world leading research team on audio systems, carrying out fundamental research. However, Emeraude's research topics do belong to the spectrum of applied research. Hence, discoveries made in the context of Emeraude should be illustrated with experimental prototypes and demonstrations. Here is a brief overview of various application fields where research developed in Emeraude could be applied.
4.1 Spatial active noise control
Noise control is a major issue in many industries: transport, construction, multimedia, etc. Active noise control techniques can help to partially remedy this problem.
However, the implementation of such approaches requires several microphones and loudspeakers, whose signal processing must be done in real-time and faster than the propagation time of the acoustical waves. In these applications, FPGA solutions are therefore the most suitable way to program such devices, and the flow proposed in §3.1 is of great interest in this context.
For instance, it could be used for single-channel controllers: a theme already developed, for example for active headsets 19. In that case, low latency allows for fully digital feedback control to be implemented. More generally, the feedback control previously limited to small, non-modular spaces, can be extended to a variety of situations, given the flexibility and adaptability of digital filters. Another extension would be the implementation of multichannel controllers: experiments have already been performed for the implementation of multichannel feedforward FPGA controllers with the development of architectures adapted from the FXLMS reference algorithm 69. This allows developments to be considered in a real-world context.
4.2 Virtual acoustics/spatial audio
Controlling noise is only one of the applications of the aforementioned system. There is a rather strong interest at the moment for the replication of virtual acoustic spaces for “immersive experiences.” Stanford is currently discussing the possibility of integrating a virtual acoustics component to the replica of the Chauvet cave in Ardèche with the scientific director of the Chauvet cave program. The idea would be to make acoustic measurements of the real cave and to set up a system which, by capturing the position of the visitor's head, would allow him to hear the guide's voice as if he were in the real cave (in 3D). Emeraude (Romain Michon) is part of the think-tank on this topic.
Research around Virtual Reality (VR) and Augmented Reality (AR) systems is very active today: immersive/augmented experience: audio guides, AR headsets implementing binaural rendering, augmented acoustics experience, with a strong focus on the development of systems supporting binaural rendering. Emeraude will be active in this domain too.
4.3 Industrial acoustics
Industrial developments of active noise control systems have so far been limited either to small spaces (e.g., active headsets, low-frequency ducts for aeraulic systems, etc.) or to noises of a particular nature (e.g., periodic noise from propeller aircraft, land vehicle engines, etc.). Our FPGA-based solution, which offers low latency and high computational capabilities, would enable the extension of controlled volumes, and the possibility of active noise control over any kind of noise. This includes for instance the automotive sectors where the reduction of road noise inside the passenger compartment is a big concern 43.
Another application would be the active treatment of boundary conditions with the realisation of “smart surfaces” for absorption 54, 20, or vibro-acoustic isolation 56, 42, 78. The development of active material is based on multi-channel control systems combining global control and decentralized feedback systems. The use of FPGAs would enable them to be applied on a large scale, in buildings and also in transport systems (e.g., aircraft, turbojet nacelles, etc.). The LMFA is developing both the experimental means (i.e., MATISSE and CAIMAN test benches, ECL-B3 test bench from Equipex PHARE, etc.), and the numerical codes of acoustic propagation 30, 71, within the framework of a strong partnership with Safran Aircraft Engines (ANR ADOPSYS and ARENA industrial chairs). The development of a high-level compiler dedicated to Acoustic Digital Signal processing on FPGAs is therefore of high interest for many researchers in acoustic for numerous industrial applications.
4.4 Medicine/sonification
There is a trend in the medical world towards the “sonification” of medical data such as EEGs, etc. The idea behind this concept is that our brain can process time series much faster and with much more precision if they are “encoded” as sound than if they are plotted on a graph. For instance, trained doctors can spot patterns which are characteristics of seizures in EEGs just by listening to their sonified version, which would not be possible just by looking at the corresponding plot. In that context, a “brain stethoscope” which basically sonifies the output signal of an EEG cap in real-time is currently being developed and will be released soon.24 This type of development will be greatly simplified by the tools developed by Emeraude.
4.5 Low-latency audio effect processors and synthesizers
Custom low-latency synthesizers and sound processors (i.e., audio effects) are currently mostly out of reach to people in the audio and music technology communities. Indeed, the high-level programming environments used by these groups (e.g., Max/MSP, SuperCollider, etc.) cannot be used to program embedded audio platforms targeting low-latency applications. Instead, they were meant to be executed on personal computers which have potentially way more audio latency than embedded systems. Providing people in these communities with a tool (from §3.1) solving this problem would completely revolutionize the way they approach their tool chain.
4.6 Digital luthiery
Since the 1980s, digital equipment has become deeply embedded in all parts of the popular music production, distribution and consumption chain. In a market whose worldwide sales exceed 15 billion euros, digital instruments (also known as “Digital Luthiery”) are only the latest chapter in the long history of music technology. Digital instruments have sped up the evolution process by increasing accessibility of musical equipment to practitioners, especially young people, who can now achieve at home with inexpensive devices the kind of professional-calibre sounds that previously would have needed a large recording studio. Modern musical instruments are all in need of some form of embedded audio processing in which Emeraude could play a central role.
Grame is actively contributing to this effort by creating tools easily accessible to the maker community: open platform to design musical instruments, educational tools, etc.
5 Highlights of the year
5.1 Team composition
Christine Solnon, Professor at INSA Lyon, moved to the team in September 2024, along with her PhD students and postdocs (4 people in total). Christine Solnon is a renowned researcher in graph algorithms, constraint programming and optimization in a broad sense. Her expertise deepens the team's focus on optmization of application-specific arithmetic and will reinforce the effort towards better efficiency of the Faust compiler.
Anastasia Volkova was on maternity leave from August to December 2024.
5.2 Conference organizing
In 2024, members of Emeraude (Romain Michon and Stéphane Letz) contributed to the planning of the 2024 International Faust Conference (IFC-24) as paper chairs (see ). This work led to the publication of a proceedings 13. IFC-24 took place in Turin (Italy) on November 21-22, 2024.

IFC-24.
5.3 Awards
In 2024, the article of Florent de Dinechin entitled “Designing custom arithmetic data paths with FloPoCo” (published in 2011 and introducing the FloPoCo tool) was inducted in the “Hall of Fame” of the ACM Special Interest Group for Design Automation on FPGAs and Reconfigurable Computing.25
5.4 Books
Florent de Dinechin, in co-authorship with Martin Kumm, has published the book Application-Specific Arithmetic: computing just right for the reconfigurable computer and the dark silicon era12. This 800-pages book synthesizes two decades of expertise by the authors designing and optimizing hardware arithmetic operators. It covers traditional arithmetic (the few basic operations that are at the core of any processor), but its novelty is the focus on non-standard operators and functions, and how to specify and build them.

The cover of the "Application-Specific Arithmetic" book
6 New software, platforms, open data
6.1 New software
6.1.1 FloPoCo
-
Name:
Floating-Point Cores, but not only
-
Keyword:
Synthesizable VHDL generator
-
Functional Description:
The purpose of the open-source FloPoCo project is to explore the many ways in which the flexibility of the FPGA target can be exploited in the arithmetic realm.
- URL:
-
Contact:
Florent De Dinechin
-
Participants:
Florent De Dinechin, Luc Forget
-
Partners:
ENS Lyon, Insa de Lyon, Inria, Fulda University of Applied Science
6.1.2 Syfala
-
Name:
Low-Latency Synthesizer on FPGA
-
Keywords:
FPGA, Compilers, High-level synthesis, Audio signal processing
-
Functional Description:
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 C++ and usable for various applications ranging from sound synthesis and processing to active sound control and artificial sound field/room acoustics.
A series of tools are currently being developed around SyFaLa. SyFaLa is freely accessible on GitHub: https://github.com/inria-emeraude/syfala.
- URL:
-
Contact:
Tanguy Risset
6.1.3 FAUST
-
Name:
Functional Audio Stream)
-
Keywords:
Audio, Functional programming
-
Functional Description:
The core component of Faust is its compiler. It allows to "translate" any Faust digital signal processing (DSP) specification to a wide range of non-domain specific languages such as C++, C, LLVM bit code, WebAssembly, Rust, etc. In this regard, Faust can be seen as an alternative to C++ but is much simpler and intuitive to learn.
Thanks to a wrapping system called "architectures," codes generated by Faust can be easily compiled into a wide variety of objects ranging from audio plug-ins to standalone applications or smartphone and web apps, etc.
- URL:
-
Contact:
Yann Orlarey
-
Partners:
GRAME, Insa de Lyon, Inria
7 New results
7.1 Compilation of Audio DSP on FPGA (Syfala)
The Emeraude team has been actively extending the Syfala toolchain. Syfala was first released in 2022 65. It is meant to be a poweful audio to FPGA compilation toolchain. With the help of Pierre Cochard (ADT Inria), we succedded in gathering all the possible use of the compilation toolchain in a single software suite. This section describe the extensions that have been added to Syfala in 2024.
7.1.1 C++ Optimizations In the Context of High-Level Synthesis
Participants: Tanguy Risset, Romain Michon, Pierre Cochard.
When compiling Faust programs to FPGA, Syfala relies on the High Level Synthesis (HLS) tool provided by Xilinx, which takes a C++ program as an input. Hence, Faust generates C++ code from a Faust program and Syfala feeds it to HLS. The topology of the C++ code provided to HLS has a huge impact on the performances of the generated Intellectual Property (IP). In 2023, we conducted a study aiming at understanding the kind of optimizations that can be carried out on C++ code in the context of the high-level synthesis of real-time audio DSP programs. Thanks to this work, we managed to significantly optimize the applications generated by Syfala allowing for much more complex audio DSP algorithms to be run on the FPGA. While these findings haven't been integrated to the Faust Syfala backend, they can be used with the new Syfala C++ support. Indeed, we recently added a new mode in Syfala allowing for C++ code to be used as a substitute for Faust . This, combined with an exhaustive public documentation of the aforementionned optimizations will help increasing the attractivity of Syfala.
Our work around the new Syfala C++ support led to a publication at a conference in 2024 4.
7.1.2 Syfala Ethernet Audio Support
Participants: Pierre Cochard, Tanguy Risset, Romain Michon.
As we worked on applications for Syfala requiring the handling of a large number of audio channels in parallel for spatial audio, we realized that we needed a way to send and receive audio streams in parallel between a laptop computer and our FPGA board. For this, we opted for an open standard named PipeWire which allows for the transmission of digital audio streams in real-time over an ethernet connection. PipeWire was implemented in the Linux layer of Syfala and is now perfectly integrated to the toolchain. It will allow to significantly expand the scope of the various spatial audio systems that we've been working on in the context of PLASMA (see §7.2)
This work led to a publication at the IEEE Symposium on Internet of Sound in 2024 5.
7.2 PLASMA: Pushing the Limits of Audio Spatialization with eMerging Architectures
PLASMA is an associate research team gathering the strengths of Emeraude and of the Center for Computer Research in Music and Acoustics (CCRMA) at Stanford University (see §9).
Plasma started in 2022 and ended at the enf of 2024. In 2024 and we continued the development of the different prototypes of spatial audio systems taking both a centralized and a distributed approach. This work is very promising, hence we applied for an ANR grant to continue funding this effort in 2025 and we hope to have funds to continue the collaboration with Stanford.
7.2.1 Distributed Spatial Audio System
Participants: Romain Michon, Tanguy Risset.
We developed a distributed systems for spatial audio DSP based on a network of microcontrollers (see Fig. 7). We chose this type of platform because they are cost-effective, very lightweight, and OS-free. We used PJRC's Teensys 4.126 as they host a powerful Cortex M7 clocked at 600 MHz as well as built-in ethernet support. PJRC also provides an “audio shield” which is just a breakout board for a stereo audio codec (SGTL-5000) compatible with the Teensy 4.1.
A preliminary task was to send audio streams over the Ethernet from a laptop to the Teensy. For that, we decided to use the JackTrip protocol which is open source and used a lot in the audio/music tech community 26. Implementing a JackTip client on the Teensy was fairly straightforward. We then implemented our own protocol which can be easily accessed through an audio plugin directly runnable in a Digital Audio Workstation (DAW).
Audio DSP is carried out directly on the Teensys which are programmed with the Faust programming language thanks to the faust2teensy 57 tool developed by the Emeraude team. A laptop is used to transmit audio streams to the Teensys which are controlled using the Open Sound Control (OSC) standard. OSC messages are multicast/broadcast to save bandwidth. The same audio streams are sent to all the Teensys in the network (all audio processing is carried out on the Teensys, not on the laptop computer).
This work led to a journal paper in 2024 3 and is now the main focus of Thomas Rushton's PhD.

Photo of our Wave Field Synthesis system based on a network of microcontrollers installed in GRAME studio
7.2.2 FPGA-Based Spatial Audio
Participants: Romain Michon, Tanguy Risset, Pierre Cochard.
The implementation of audio spatialization and active acoustic control techniques requires a large number of audio channels and significant computational resources, making these techniques costly and hardly accessible. The use of Field-Programmable Gate Arrays (FPGAs) offers a solution by enabling DSP programming within a centralized system with enough computational power and inputs/outputs to handle all audio streams. However, physically interfacing an embedded system with multiple audio channels is a complex process that poses a significant challenge to system accessibility. In 2024, we introduced two open-source circuit boards (see Fig. 8 and Fig. 9) facilitating the interfacing between an FPGA and large multichannel systems, both aiming different kinds of approaches. The first board is designed to be cost-effective and easily reproducible. The second involves more complex manufacturing techniques, but it allows us to fully exploit the performances of the FPGA. Each board provides 32 audio channels and has stacking capabilities, allowing for the interfacing of up to 512 channels on a single FPGA. Their integration into the Syfala compilation flow facilitates the implementation of algorithms without hardware concerns. These interfaces aim to enhance accessibility and affordability when implementing audio spatialization and active acoustic control systems.
This work led to a publication at the SMC conference in 2024 8.

Affordable sister board.

Sister board with 32 inputs and outputs designed by Maxime Popoff during his PhD 8.
7.3 The Faust Programming Language and its Ecosystem
Participants: Florent de Dinechin, Stephane Letz, Romain Michon, Yann Orlarey, Tanguy Risset, Christine Solnon
Audio signal processing is an applied field where success is ultimately determined by the human ear, requiring advanced tools to prototype and implement algorithms rapidly and efficiently. The Faust programming language and environment, developed at Grame-CNCM in 2002 62, represented a significant development by enabling researchers and developers to prototype and deploy audio processing algorithms more efficiently. At the time, Faust was the first fully compiled audio programming language, which played an important role in making the field of real-time embedded audio systems more accessible.
Since its inception, Faust has gained international recognition and is widely used in both academic and professional contexts. It has been adopted for teaching advanced topics such as signal processing and physical interaction design at Stanford University and for developing audio plugins 59.
Today, the Faust research project, conducted by Emeraude, focuses on three interrelated areas:
- The Faust Programming Language: Developing a high-level language for sound synthesis and signal processing that is accessible to non-computer scientists.
- The Compiler and Compilation Techniques: Producing tools to automatically generate highly optimized code, comparable in efficiency to code written by experienced C programmers.
- The Ecosystem: Expanding and maintaining architecture files (which allow the same Faust code to run on over twenty platforms), development tools, libraries, and documentation.
The following sections present the work carried out during the period in each of these areas.
7.3.1 The Faust programming language
Faust is a synchronous functional programming language inspired by lambda calculus, combinatory logic, and John Backus' FP. Its semantics is centered around the concept of audio circuits. Programming in Faust primarily involves constructing new audio circuits by assembling primitive ones using an algebra of five composition operations. During the period, however, Faust has evolved beyond simple circuit assembly. The language has been extended with new primitive operations, such as Ondemand, Widget Modulation and Automatic Differentiation, which provide users with new higher-order functions for manipulating audio circuits.
Widget Modulation
Building on this evolution, Widget Modulation introduces an innovative extension to Faust that allows developers to modulate the values of user interface elements, or `widgets,' within an audio circuit without modifying the original code 7. Inspired by the flexibility of modular synthesizers, this feature enables voltage-control-like modulation by specifying a modulation circuit that can dynamically adjust parameters. This post-development control promotes reuse and customization, enhancing Faust 's modularity by allowing users to transform interface behaviors without altering underlying circuits. With various modulation techniques—additive, multiplicative, or widget replacement—Widget Modulation expands Faust 's versatility, empowering developers to design intricate, interactive audio interfaces with ease.
To achieve this, the Faust compiler first evaluates the original circuit in a `normal form,' a flattened representation that standardizes the circuit's structure. Next, it identifies every point in the circuit where the target widget appears, systematically inserting modulation circuitry at each relevant location. This process effectively generates a new, fully modulated circuit that incorporates the specified modulation behavior, seamlessly embedding dynamic control within the audio flow.
Ondemand
The ondemand extension in Faust introduces a powerful mechanism to control when computations occur within an audio circuit, adding flexibility and efficiency to audio processing. Traditionally, Faust computes signals at every sample, but with ondemand, computations are triggered only when a clock signal is active, allowing selective processing based on demand. This feature is implemented by adding a clock input to the circuit: when the clock is high (1), computations proceed; when it is low (0), they are skipped.
Internally, ondemand leverages downsampling and upsampling techniques to manage these on-off states, synchronizing computations with the clock signal to maintain timing consistency. The Faust compiler transforms circuits into `gated' versions, where computations activate only as needed, significantly optimizing performance by reducing unnecessary calculations. This approach is particularly advantageous for large, complex synthesizers—common in commercial applications—that offer extensive functionalities users can activate or deactivate at will. In such cases, ondemand ensures that unused features don't consume CPU or energy resources, making Faust highly efficient for applications that demand responsive, resource-conscious performance. Inspired by demand-rate operations in SuperCollider, ondemand maintains Faust 's streamlined, sample-based semantics while enabling efficient, clock-driven processing within a continuous framework.
Automatic differentiation
Differentiable Digital Signal Processing (DDSP) 39 is the application of differentiable programming to audio computations. Coupled with gradient-based optimization methods, differentiable signal processors are central to a variety of audio problems and can be incorporated into machine learning architectures.
In order to use Faust for this type of application, we are developing two complementary approaches. The first is to express directly in Faust, using the language's pattern matching rules, the transformation of a Faust circuit into its differentiated version. This approach is presented in 9. The second approach involves introducing a new differentiation construct into the language itself and implementing this transformation directly in the Faust compiler. This is the subject of Benjamin Quiedeville's thesis, which began in September 2024.
7.3.2 The Faust compiler
To support Faust 's evolving functionality and optimize performance across a wider range of platforms, recent advancements in the Faust compiler—driven in part by the Syfala project—have introduced innovative compilation techniques that now target not only CPUs but also FPGAs, enabling efficient code generation and dynamic processing capabilities on diverse hardware architectures.
Fixed-point compilation
Modern digital signal processing often relies on floating-point arithmetic for its simplicity and ease of use. However, fixed-point number formats can significantly reduce resource usage and improve execution times, making them particularly beneficial for FPGA implementations. The challenge with fixed-point formats lies in the manual effort required to specify formats at each computation step, a complex and time-consuming task for programmers. Recent advancements in the Faust compiler address this by introducing an automatic fixed-point format determination, a prototype implementation that leverages existing methodologies to calculate optimal fixed-point formats automatically. This new feature reduces programming overhead while maximizing the efficiency of Faust -generated code on hardware like FPGAs.
FIR/IIR reconstruction
Faust's design philosophy deliberately excludes high-level signal processing functions that can be expressed using existing lower-level primitives. Consequently, the language does not provide FIR and IIR filters as direct primitives, but instead includes them in its standard libraries.
But, from a code generation perspective, having high-level operations like IIR and FIR filters can be beneficial. For example, this allows loops to appear in the generated code, which is particularly interesting when using high-level synthesis tools like Vivado HLS. Therefore, we introduced new compilation options that automatically reconstruct FIR and IIR filters in the compiler's internal representations. While these options may not necessarily improve CPU performance, they are clearly very efficient on FPGAs in terms of latency and resource trade-offs.
Delay lines
We have developed new strategies for implementing delay lines, focusing on adapting implementation techniques based on delay length and hardware characteristics. The goal is to optimize memory usage, computational efficiency, and resource allocation across different platforms like CPUs and FPGAs. Our new approach dynamically selects implementation methods, from simple array storage for short delays, to ring buffer techniques for long delays - to maximize performance while minimizing resource overhead.
Instruction scheduling
At the intermediate signal level, each Faust program is represented as a directed graph (DG), where nodes correspond to individual signals, and edges represent their dependencies. Multiple topological orderings can satisfy the dependency constraints, but due to memory cache and data locality considerations, not all orderings are equally efficient.
We have implemented several new scheduling strategies. Tests reveal that no single strategy consistently outperforms the others. However, the performance impact of the chosen strategy is often highly significant, underscoring the importance of allowing users to select their preferred scheduling method.
Backends
The Faust compilation pipeline incorporates an internal imperative representation, encompassing memory access operations, mathematical functions, and control structures, which enables the generation of code in an ever-growing array of target languages through backends. Initially, C and C++ backends were developed, followed by an LLVM IR backend that, when used with a JIT compiler, enabled a fully embeddable, dynamic compilation chain known as libfaust. The addition of a WebAssembly backend, utilized in the Web version of libfaust (compiled from C++ to WebAssembly and JavaScript via the Emscripten compiler), unlocks an entirely new category of use cases.
Four new backends have been recently developed:
- JAX Backend: A JAX backend for Faust enables differentiable Faust programs by leveraging JAX's numerical and automatic differentiation capabilities. It integrates with the DawDreamer audio framework and has been used for experiments like learnable low-pass filters, differentiable synthesizers, and parametric equalizers.
- JSFX Integration: A backend for JSFX, the scripting language by Cockos (creators of Reaper), allows Faust to generate custom audio and MIDI effects. These plugins, including polyphonic MIDI-controllable ones, are seamlessly usable within Reaper.
- Cmajor Backend: A Cmajor backend generates high-performance processors from Faust programs. This backend maps Faust 's parameters (e.g., sliders, buttons) to Cmajor's input and output events, utilizing Cmajor's dynamic LLVM JIT compilation for optimized audio processing.
- RNBO Compatibility: The faust2rnbo tool converts Faust programs into RNBO patches, enabling compilation to platforms like VST, Max externals, and Raspberry Pi. It supports audio I/O and parameters, with polyphonic MIDI support and an accompanying tutorial.
7.3.3 The Faust ecosystem
Beyond the Faust compiler, there exists a comprehensive ecosystem of complementary tools and resources. This includes extensive libraries for audio processing, synthesis, and effects, as well as development tools like the Faust Web IDE, which enables real-time code writing and testing. The ecosystem also features Faust architecture files, which facilitate seamless integration into diverse audio environments such as plugins, standalone applications, and web platforms. Deployment is further simplified with the faust2target suite, which provides tailored scripts for a wide range of use cases.
Faust and the WebAudio platform
Recent advancements in Faust language support on the Web platform include:
- the Faust Wasm library which offers a high-level API for compiling Faust DSP code into WebAssembly, compatible with both Node.js and web browsers. It enables use as WebAudio nodes in a standard WebAudio node graph and supports offline rendering. The library also facilitates SVG generation from Faust programs and supports mono and polyphonic nodes with MIDI and sensor integration for use on mobile platforms (slartphones and tablets). The Faust IDE, Editor, and Playground have been updated to use this new Faust Wasm package, enhancing usability and tools for Faust development.
- the faust-web-component package which offers two web components for embedding interactive Faust code directly into web pages. These components include an editor with a graphical user interface, access to controls, and an SVG diagram renderer for visualizing DSP structures.
- a standard for Web Audio plugins and DAWs, WAM 2.0, released in 2021, provides an SDK, API, plugins, and hosts to support diverse development workflows. Faust -compatible WAM plugins can be created using the Faust IDE with adapted targets.
Faust 2Eurorack
The integration of Faust with Eurorack-blocks has been done. Eurorack-blocks is a framework capable of programmatically generating Eurorack digital modules' hardware and firmware files for manufacturing, and providing a virtual environment for early-stage design, development, testing and debugging iterations on a desktop computer. It presents a method to statically bind the inherently nested structure of a Faust DSP program with the flat namespace and different types of the ERBUI and ERBB languages, which are Domain Specific Languages to describe the Eurorack module UI, module DSP file and associated audio data, respectively. An implementation is demonstrated, taking into consideration the specific memory model of the hardware embedded platform, as well as the meta-programming technique used to minimize computations done at run time by relocating them at build time.
7.4 Arithmetics
Participants: Florent de Dinechin, Anastasia Volkova.
Oregane Desrentes is a co-inventor of a patent, entitled "Multiplieur d'opérandes à virgule flottante utilisant une décomposition des opérandes en nombres à virgule flottante de plus basse précision", submitted by Kalray.
7.4.1 Activation functions in low precision with high accuracy
As machine learning hardware uses ever smaller number formats, the article 15 surveys simple and effective techniques for the implementation of activation functions in low precision (fewer than 16 bits) with high accuracy. The implementation combines a fixed-point centric approach, efficient function-specific range reduction techniques, and state-of-the-art polynomial approximation. The resulting trade-offs are studied on both FPGA and ASIC. Functions considered in this article include tanh, sigmoid, ReLU variants such as GELU, ELU, SiLU, and exp for stable softmax, but the methodology can apply to more functions. These techniques are implemented in an opensource hardware generator that produces readable synthesizable VHDL.

ReLU variants in FPGAs
7.4.2 Design-space exploration for Reconfigurable Single Constant Multiplication
The scalar product of two vectors is the arithmetic core of many applications, in particular in machine learning and in digital signal processing. In both cases, one of the vectors can be considered constant for a long period of time. It is then interesting to reformulate the problem as a shift-and-add (SA) graph in such a way that the costly multiplications are replaced by additions and bit shifts. Our goal within the PhD thesis of Bastien Barbe is to propose a new reconfigurable computational unit that implements SA graphs for Multiple Constant Multiplication (MCM). The research hypothesis is that the number of configuration bits for such a Reconfigurable MCM unit (RMCM) is less than the bitwidth of the constant coefficients stored in memory and the overall cost is smaller than that of the generic multiplier. This is possible only because for the machine learning applications, and probably for DSP, we do not need to cover the whole range of representable values for target coefficients but only for a small subset of those. Indeed, recent results in quantization-aware training (QAT) for hardware neural networks demonstrates that weights could be adapted to fit a subset of numerical values that a realizable by the underlying hardware.

RSCM unit
After a preliminary study of the design of an RMCM unit we concluded that the combinatorial explosion of the problem makes it difficult to find optimal parameters for the architecture (e.g. the depth of the SA graph, the number of adders, the routing between nodes and levels, etc) for a given probability distribution of target coefficients. Hence, we fell back to solving the problem for a single constant and its duplication, in parallel, up to as many constants as needed. In particular, we target 8-bit integer coefficients, which are realizable with an RSCM architecture in Fig. 10. Then, given a set of constants that should be realizable by each RSCM unit, or a distribution that should be more-or-less satisfied, we reduce as much as possible the number of configuration bits (in Fig. 10 it is the values of shifts, signs and multiplexers). This solution is based on design-space exploration using a constraint programming model and a custom branch-and-bound algorithm for optimization. This is work in progress, planned to be submitted in the first half of 2025.
7.4.3 Constant modular multipliers
Modular multipliers play a critical role in various cryptographic algorithms, including RSA and Diffie–Hellman, which require large coefficients (e.g., 2048 bits for RSA) to ensure security. This work, presented at RAIM in Perpignan, aims to reduce the resource usage of the Gribok’s et al. state-of-the-art modular multiplier implementation on FPGAs. By exploiting the constant nature of these coefficients, we are able to replace the DSPs with Multiple Constant Multipliers (MCM), thus creating a DSP-less architecture. To further reduce resource consumption, we made the design sequential, achieving up to 79% (277k to 58k) savings in LUTs at the cost of an increased but reasonable register usage +92% (1,5k to 20k) and latency +77% (557 Mhz to 130 Mhz). This approach enables resource-constrained FPGAs to handle large modular multiplications. The design is integrated into the FloPoCo arithmetic core generator and is freely available for use.
Participants: Florent de Dinechin, Stephane Letz, Romain Michon, Yann Orlarey, Tanguy Risset, Anastasia Volkova, Christine Solnon.
8 Bilateral contracts and grants with industry
8.1 Bilateral contracts with industry
Following similar contracts in previous years, we participate (along with members of the AriC team) to a contract with the Bosch company related to efficiently implement numerical functions on Bosch Electronic Control Units (ECUs). The amount is 15,000 euros (1/3 for Emeraude, 2/3 for AriC).
The PhD thesis of Benjamin Quiédeville, in collaboration with GRAME-CNCM, includes a support contract of 30,000 € for the duration of the thesis.
The PhD thesis of Orégane Desrentes, in collaboration with Kalray, includes a support contract of 47,500 € for the duration of the thesis.
Anastasia Volkova, co-advises an industrial PhD thesis with Valeuriad company and Nantes University. The collaboration includes a 25,000 € support transferred to Emeraude for 2023-2027.
Participants: Romain Michon, Tanguy Risset, Pierre Cochard, Yann Orlarey, Stéphane Letz, Florent de Dinechin, Anastasia Volkova, Christine Solnon.
9 Partnerships and cooperations
9.1 International initiatives
9.1.1 Associate Teams in the framework of an Inria International Lab or in the framework of an Inria International Program
PLASMA
-
Title:
Pushing the Limits of Audio Spatialization with eMerging Architectures
-
Duration:
2022 -> 2024
-
Coordinator:
Romain Michon and Chris Chafe (cc@ccrma.stanford.edu)
-
Partners:
- Stanford University Stanford (États-Unis)
-
Inria contact:
Romain Michon
-
Summary:
Sound spatialization systems are used for a wide range of applications nowadays: movie theatres, home cinemas, Virtual/Augmented Reality (XR), etc. However, their number of output channels (and hence speakers) is limited by the use of standard audio systems (e.g., personal computers, multichannel audio interfaces, etc.). These rarely allow us to exceed 32 channels while some advanced applications such as multidimensional Wave Field Synthesis (WFS) require a much greater number of channels/speakers (128, at least). The Emeraude team is currently working on a system for real-time audio signal processing based on an FPGA that could support a much greater number of output channels than the one offered by current systems. We also believe that distributed systems based on a network of lightweight embedded systems (e.g., Raspberry Pi, microcontrollers, etc.) could also help tackle this problem. The Center for Computer Research in Music and Acoustics at Stanford University is one of the world's leaders in spatial audio research. Together and through the PLASMA project, we would like to prototype various sound spatialization systems (FPGA-based/centralized and distributed) involving an extended number of output channels.
9.2 National initiatives
9.2.1 ANR FAST
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, etc.). They are typically based on a CPU (Central Processing Unit) which limits their computational power and induces some latency. FPGAs (Field Programmable Gate Arrays) can be seen as a solution to these problems. However, these types of chips are extremely complex to program, making them largely inaccessible to musicians, digital artists and makers communities.
The goal of the FAST ANR project is to enable high-level programming of FPGA-based platforms for multichannel ultra-low-latency audio processing using the Faust programming language (a standard in the field of computer music). We plan to use this system for various applications ranging from sound synthesis and processing to active sound control and artificial sound field/room acoustics.
FAST officially started in March 2021 and will end in January 2025. It gathers the strength of GRAME-CNCM, CITI Lab (INRIA/INSA Lyon), and LMFA (École Centrale Lyon).
9.2.2 PEPR HoliGrail
A key challenge to reach the maximal efficiency is to match algorithms with the underlying hardware. As the end of Moore’s law steadily approaches, hardware becomes increasingly heterogeneous, and the interplay between algorithms and hardware even more important. From this point of view, artificial intelligence algorithms are not efficient when run on commodity hardware such as microprocessors and GPUs. The last decade has seen a boom of accelerators for common inference tasks (first in line was Google’s TPU, followed by many others), now embedded in many consumer products. These accelerators offer hardware that better matches the algorithms, but are still far from achieving the “inference per joule” performance of the Human brain. Training deep neural networks (DNNs) is even less efficient, requiring orders of magnitude more computation operations than inference.
We believe that there is a significant room for improvements in both “inference per joule" and "training per joule”. The vision of this action is to create a synergy with the research on the foundations of AI frugality (as proposed in SHARP action) to propose cutting-edge methods that significantly improve the energy efficiency of both inference and training of a model. We will propose (i) more compact and efficient number representations that still maintain a quality of inference or training close to the reference, (ii) hardware-aware training algorithms that enhance certain types of sparsity (e.g., more structured), coding compactness (aggressive quantization, maximum entropy) and tensor transformations. Most state-of-the-art solutions are agnostic of the hardware they run on. By taking advantage of this interplay between the hardware and the algorithms, we can achieve breakthroughs beyond current solutions, in particular by developing (iii) efficient hardware mechanisms, especially optimized to take advantage of sparsity, extreme quantization and ad-hoc number representations, together with (iv) compiler optimizations, to demonstrate the effectiveness of the proposed methods. Our approaches are holistic in the sense that they will jointly optimize the whole computing stack of AI, i.e., at the algorithm, arithmetic, compiler and hardware levels.
PEPR HOLIGRAIL kicked off in March 2024 and will end in 2029 (extension has been anticipated). The project combines following partners: Inria/IRISA Taran (Univ. Rennes, Inria, CNRS), List /LIAE (Université Paris Saclay, CEA), Inria Corse (Université Grenoble Alpes), TIMA SLS (CNRS, Université Grenoble Alpes), CITI lab (INSA Lyon / Inria), List / LVML (Université Paris Saclay, CEA). The scientific leaders are Olivier Bichler (CEA List) and Olivier Sentieys (Inria Taran).
9.3 Regional initiatives
9.3.1 FIL inter-lab project FORTE
With this 2-year inter-lab project funded by FIL (Fédération d'Informatique de Lyon) we will be working towards frugality of DNN training by acting on two levels: (1) the fundamental level of optimization algorithms used for training DNNs and (2) application level of number representation/ precision choice for implementation in embedded systems, in particular Filed Programmable Gate Arrays (FPGAs). With this collaboration between Anastasia Volkova (Inria Emeraude), an expert in computer arithmetic, and Elisa Riccietti (Inria Okham), expert in continuous optimization, the goal is to achieve the frugality by working at the interface of these two domains to explore the design of new mixed numerical precision algorithms that are offer increased performance in a resource-restricted environment while minimising computational cost.
10 Dissemination
Participants: Tanguy Risset, Romain Michon, Pierre Cochard, Florent de Dinechin, Anastasia Volkova, Christin Solnon.
10.1 Promoting scientific activities
Romain Michon and Yann Orlarey actively took part in the Chiche! program in 2024. Romain Michon and Anastasia Volkova intervened during the internship/visit of high school students at Inria.
10.1.1 Scientific events: organisation
General chair, scientific chair
- Romain Michon and Stephane Letz acted as scientific chairs for the 2024 International Faust Conference (IFC-24, see §5.2).
Member of the organizing committees
- Christine Solnon has co-organized a one day workshop on "Optimization and energy under climatic constraints" on behalf of GDR-RADIA and GDR-ROD (https://gdrro.lip6.fr/?q=node/341)
10.1.2 Scientific events: selection
Chair of conference program committees
- Florent de Dinechin was program chair of the 35th International Conference on Application-specific Systems, Architectures and Processors (ASAP).
Member of the conference program committees
- Florent de Dinechin served in the program committees of ASAP (International Conference on Application-specific Systems, Architectures and Processors), ARITH (International Symposium of Computer Arithmetic), FCCM (International Symposium on Field-Programmable Custom Computing Machines), and FPL (International Conference on Field-Programmable Logic and Applications).
- Anastasia Volkova served in the program commitees of ASAP and ARITH as well.
- Tanguy Risset served in the program committees of ASAP 2024 and DATE 2024 (Design Automation and Test in Europe), on track " Architectural and Microarchitectural Design".
- Romain Michon served in the program committees of SMC (Sound and Music Computing conference), DAFx (Digital Audio Effects conference), NIME (New Interfaces for Musical Expression conference), ICMC (International Computer Music Conference).
Member of the editorial boards
- Christine Solnon is associate editor of "Annals of Mathematics and Artificial Intelligence" (AMAI), and editorial board member of "Constraints" and "Swarm Intelligence"
10.1.3 Invited talks
- Christine Solnon has given an invited talk at the 23rd workshop on Constraint Modelling and Reformulation (ModRef) in September 2024, and she has given invited seminars at GSCOP and at ENS Lyon
- Florent de Dinechin was invited to give a keynote talk at the International Conference on Field-Programmable Logic and Applications (FPL) in September 2024.
- Romain Michon was a keynote speaker at the “International Open Seminar on Synchronous Reactive Programming” (SYNCHRON) in November 2024.
- Romain Michon has given invited talks at the University of Michigan (USA) and Stanford University (USA) on October 2024.
10.1.4 Leadership within the scientific community
- Romain Michon has been nominated President of the Sound and Music Computing (SMC) Network that steers the planning of the SMC conference, one of the most prestigious scientific event in the sound and music technology community.
- Since September 2024, Christine Solnon is the Deputy Scientific Director (DSA) of the Inria Lyon center.
- Christine Solnon is member of the advisory and scientific boards (comité de direction et comité scientifique) of the GDR RADIA
- Florent de Dinechin is a member of the scientific committee of the DEEPGREEN project (https://deepgreen.ai).
10.2 Teaching - Supervision - Juries
10.2.1 Teaching
- Tanguy Risset is professor at the Telecommunications Department of Insa Lyon.
- Florent de Dinechin is a professor at the Computer Science Department of Insa Lyon and head of the 4th year. He also teaches computer architecture at ENS-Lyon.
- Christine Solnon is a professor at the Computer Science Department of Insa Lyon.
- Romain Michon is a part-time associate professor at the Telecommunications Department of Insa Lyon.
- Romain Michon teaches 2 courses as part of the RIM/RAN Masters Program at the université of Saint-Étienne.
- Romain Michon teaches 2 one week workshops at Aalborg University in Copenhagen every year.
- Stephane Letz teaches 1 course as part of the RIM/RAN Masters Program at the université of Saint-Étienne.
10.2.2 Juries
- Christine Solnon was in the PhD jury of:
- Maryia Hryhoryeva (ENTPE, Lyon, 2024), as president
- Assaad Oussama Zeghina (U. Strasbourg, 2024), as president
- Shuolin Li (U. Aix Marseille, 2024), as president
- Alexandre Borthomieu (U. Grenoble Alpes, 2024), as reviewer
- Jovial Cheukam Ngouonou (U. Laval, Canada, 2024)
- Maxime Popoff (U. Lyon, 2024)
- Christine Solnon was in the HdR jury of
- Laure Brisoux-Devendeville (U. de Picardie Jules Verne, 2024)
- Tanguy Risset was in the Phd Jury of:
- Marie Badaroux (U. Grenoble Alpes, 2024 ) as a reviewer.
- Hugo Reymond (U. Rennes, 2024) as a reviewer.
- Arthur Vianès (U. Grenoble Alpes, 2024 ) as jury president.
- Tanguy Risset was in the HdR Jury of:
- Karol Desnos (U. Rennes, 2024), as a reviewer.
- Romain Michon (U. Lyon, 2024), as HDR referent.
- Florent de Dinechin was in the Phd Jury of:
- Cedric Gernigon (U. Rennes, 2024), as a reviewer.
- Corentin Ferry (U. Rennes, ).
- Romain Michon was in the PhD Jury of:
- Shihong Ren (U. Saint-Étienne, 2024), as a reviewer.
- Loïc Alexandre (École Centrale de Lyon, 2024), as a reviewer.
- Bérangère Daviaud (Polytech Angers, 2024), as a reviewer.
- Anastasia Volkova was in the PhD Jury of:
- Debasmita Lohar (Max Plank Institute, 2024), as a reviewer
- Hugo Le Blevec (IMT Atlantique de Brest, 2024)
10.3 Popularization
Christine Solnon writes a column for the journal "La Recherche" on "Computer science and artificial intelligence" (one 2-page paper every 3 months).
10.3.1 Participation in Live events
Christine Solnon has given a seminar on environmental and societal impacts of AI at ENSSIB, and she has participated at a round table about AI after a public screening of the film "The thinking game".
11 Scientific production
11.1 Major publications
11.2 Publications of the year
International journals
- 2 articleSpanning-tree based coverage for a tethered robot.IEEE Robotics and Automation LettersDecember 2024, 1-8In press. HAL
- 3 articleNetworked microcontrollers for accessible, distributed spatial audio.Frontiers in Virtual Reality5November 2024HALDOIback to text
International peer-reviewed conferences
- 4 inproceedingsProgramming FPGA Platforms for Real-Time Audio Signal Processing In C++.Proceedings of the 2024 Sound and Music Computing Conference (SMC-24)Proceedings of the 2024 Sound and Music Computing Conference (SMC-24)Porto, PortugalJuly 2024HALback to text
- 5 inproceedingsEthernet Real-time Audio Transmission to FPGA.2024 IEEE 5th International Symposium on the Internet of Sounds (IS2)5th IEEE International Symposium on the Internet of SoundsErlangen, GermanyIEEE2024, 1-7HALDOIback to text
- 6 inproceedingsWhat’s New in the Faust Ecosystem in 2024?IFC 2024 - 4th International Faust ConferenceTurin (Italie), ItalyNovember 2024, pp.27-33HAL
- 7 inproceedingsWidget Modulation in FAUST.Proceedings of the 4th International Faust ConferenceInternational Faust ConferenceTurin, ItalyNovember 2024HALback to text
- 8 inproceedingsEnabling Affordable and Scalable Audio Spatialization With Multichannel Audio Expansion Boards for FPGA.Proceedings of the 2024 Sound and Music Computing Conference (SMC-24)Proceedings of the 2024 Sound and Music Computing Conference (SMC-24)Porto, PortugalJuly 2024HALback to textback to textback to text
- 9 inproceedingsDifferentiable DSP in Faust.IFC 2024 - 4th International Faust ConferenceTurin, ItalyDecember 2024HALback to text
- 10 inproceedingsHardware-optimal digital FIR filters: one ILP to rule them all and in faithfulness bind them.Proceedings of the Asilomar conference2023 Asilomar Conference on Signals, Systems, and ComputersAsilomar, United StatesMarch 2024HALback to text
National peer-reviewed Conferences
- 11 inproceedingsTowards Fixed-Point Formats Determination for Faust Programs.Journées d'Informatique Musicale 2024Marseille, FranceMay 2024HAL
Scientific books
- 12 bookApplication-Specific Arithmetic.Springer International Publishing2024HALDOIback to text
Edition (books, proceedings, special issue of a journal)
- 13 proceedingsProceedings of the 4th International Faust Conference.Proceedings of the 4th International Faust ConferenceDecember 2024HALback to text
Reports & preprints
- 14 reportOpen Source Ethernet Real-time Audio Transmission to FPGA.RR-9542INRIAFebruary 2024, 16HAL
- 15 miscActivations in Low Precision with High Accuracy.November 2024HALback to text
Scientific popularization
11.3 Cited publications
- 18 articleExact and Approximate Algorithms for the Optimization of Area and Delay in Multiple Constant Multiplications.IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems2762008, 1013--1026back to text
- 19 inproceedingsFully Digital Implementation of a Hybrid Feedback Structure for Broadband Active Noise Control in Headphones.2017 Proceedings of the 24th International Congress on Sound and Vibration2017back to text
- 20 articleA New Hybrid Active/Passive Sound Absorber with Variable Surface Impedance.Mechanical systems and signal processing2552011, 1715--1726back to text
- 21 inbookCatapult Synthesis: A Practical Introduction to Interactive C Synthesis.High-Level Synthesis: From Algorithm to Digital CircuitP.Philippe Coussy and A.Adam Morawiec, eds. DordrechtSpringer Netherlands2008, 29--52back to text
- 22 inproceedingsResource Optimal Squarers for FPGAs.International Conference on Field-Programmable Logic and Applications (FPL)Belfast, United KingdomIEEEAugust 2022HALDOIback to text
- 23 inproceedingsEmbedding PureData with libpd.Proceedings of the Pure Data Convention291Citeseer2011back to text
- 24 inproceedingsArithmetic Core Generation Using Bit Heaps.Field-Programmable Logic and ApplicationsSeptember 2013back to text
- 25 inproceedingsTowards a Framework for Composition Design for Music-Led Virtual Reality Experiences.Proceedings of the 2019 IEEE Conference on Virtual Reality and 3D User Interfaces (VR)Osaka, Japan2019back to text
- 26 articleJackTrip: Under the hood of an engine for network audio.Journal of New Music Research3932010, 183--187back to text
- 27 articleAudio-first VR: New perspectives on musical experiences in virtual environments.Journal of New Music Research2020back to text
- 28 articleDesign space exploration in many-core processors for sound synthesis of plucked string instruments.Journal of Parallel and Distributed Computing73112013, 1506--1522back to text
- 29 inproceedingsHaptic feedback in computer music performance.Proceedings of Iinternational Computer Music Conference961996, 57--58back to text
- 30 inproceedingsComparison of Three Numerical Methods for Acoustic Propagation in a Lined Duct with Flow.25th AIAA/CEAS Aeroacoustics Conference2019, 2658back to text
- 31 inproceedingsUsing integer linear programming for correctly rounded multipartite architectures.FPT 2022 - International Conference on Field Programmable TechnologyHong Kong, ChinaDecember 2022HALback to text
- 32 inproceedingsPosits: the good, the bad and the ugly.Conference on Next-Generation Arithmetic2019, 1-10back to text
- 33 inproceedingsHardware implementations of fixed-point Atan2.22nd IEEE Symposium of Computer Arithmetic (ARITH-22)2015, 34--41back to text
- 34 articleFixed-Point Trigonometric Functions on FPGAs.SIGARCH Computer Architecture News4152013, 83-88back to text
- 35 bookApplication-specific arithmetic.Springer, to appear2021back to text
- 36 inproceedingsStructuration of the ALPHA language.11 1995, 18-24DOIback to text
- 37 inproceedingsReflections on 10 years of FloPoCo.26th IEEE Symposium of Computer Arithmetic (ARITH)June 2019back to text
- 38 bookSignal Processing for Active Control.Elsevier2000back to text
- 39 inproceedingsDDSP: Differentiable Digital Signal Processing.Proceedings of the International Conference on Learning Representations2020back to textback to text
- 40 inproceedingsFAUST Architectures Design and OSC Support..International Conference on Digital Audio EffectsParis, France2011, 231-216HALback to text
- 41 articleStreaming End-to-end Speech Recognition For Mobile Devices.CoRRabs/1811.066212018, URL: http://arxiv.org/abs/1811.06621back to text
- 42 articleAcoustic Transmission Performance of Double-Wall Active Sound Packages in a Tube: Numerical/Experimental Validations.Applied acoustics7342012, 323--337back to text
- 43 articleLocal Active Control of Road Noise inside a Vehicle.Mechanical Systems and Signal Processing1212019, 144--157back to text
- 44 articleParallel Programming for FPGAs.ArXiv e-printsMay 2018back to text
- 45 articleCoefficient Accuracy and Digital Filter Response.IEEE Transactions on Circuit Theory1511968, 31--41back to text
- 46 articleLLL algorithm and the optimal finite wordlength FIR design.IEEE Transactions on Signal Processing6032012, 1493--1498back to text
- 47 phdthesisMultiple Constant Multiplication Optimizations for Field Programmable Gate Arrays.Springer WiesbadenWiesbadenOctober 2015back to text
- 48 inproceedingsOptimal Constant Multiplication using Integer Linear Programming.IEEE International Symposium on Circuits and Systems (ISCAS)2018back to text
- 49 inproceedingsThe Quest for Low Latency.Proceedings of the International Computer Music Conference (ICMC-04)Miami, USA2004back to text
- 50 bookGame Audio Development with Unity 5.X.New York, USAPackt Publishing Ltd.2017back to text
- 51 inproceedingsFaust audio DSP language in the Web.Linux Audio ConferenceMainz, Germany2015, 29--36HALback to text
- 52 inproceedingsFAUST Domain Specific Audio DSP Language Compiled to WebAssembly.Companion Proceedings of the The Web Conference 2018WWW ’18Republic and Canton of Geneva, CHELyon, FranceInternational World Wide Web Conferences Steering Committee2018, 701–709DOIback to text
- 53 inproceedingsWork Stealing Scheduler for Automatic Parallelization in Faust.Linux Audio ConferenceUtrecht, Netherlands2010HALback to text
- 54 articleA Multi-Channel Feedback Algorithm for the Development of Active Liners to Reduce Noise in Flow Duct Applications.Mechanical Systems and Signal Processing2172007, 2880--2899back to text
- 55 inproceedingsAn environment for submillisecond-latency audio and sensor processing on BeagleBone Black.Proceedings of the Audio Engineering Society ConventionWarsaw, Poland2015back to text
- 56 articleOne Dimensional Study of a Module for Active/Passive Control of Both Absorption and Transmission.Applied Acoustics7332012, 234--242back to text
- 57 inproceedingsReal Time Audio Digital Signal Processing With Faust and the Teensy.Proceedings of the Sound and Music Computing Conference (SMC-19), Malaga, Spain2019back to textback to textback to text
- 58 inproceedingsA Faust Architecture for the ESP32 Microcontroller.Accepted to the Sound and Music Computing Conference (SMC-20)Turin, Italy2020back to textback to text
- 59 inproceedingsNew Signal Processing Libraries for Faust.Linux Audio ConferenceSaint-Etienne, FranceCIEREC2017, 83-87back to textback to text
- 60 bookHandbook of Floating-Point Arithmetic.Birkhäuser Basel2018back to text
- 61 articleA Survey and Evaluation of FPGA High-Level Synthesis Tools.IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems3510Oct 2016, 1591-1604back to text
- 62 inproceedingsAn Algebra for Block Diagram Languages.International Computer Music ConferenceGothenburg, Sweden2002, 542-547HALback to text
- 63 inbookNew Computational Paradigms for Computer Music.Paris, FranceDelatour2009, Faust: an Efficient Functional Approach to DSP Programmingback to textback to text
- 64 inproceedingsReal-time finite difference physical models of musical instruments on a field programmable gate array (FPGA).Proceedings of the 15th International Conference on Digital Audio Effects (DAFx-12)York, UK2012back to text
- 65 inproceedingsTowards an FPGA-Based Compilation Flow for Ultra-Low Latency Audio Signal Processing.SMC-22 - Sound and Music ComputingSaint-Étienne, FranceJune 2022HALback to text
- 66 inproceedingsA New MEMS Microphone Array for the Wavenumber Analysis of Wall-Pressure Fluctuations: Application to the Modal Investigation of a Ducted Low-Mach Number Stage.Proceedings of the 25th AIAA/CEAS Aeroacoustics ConferenceDelft, Netherlands2019back to text
- 67 articlePICO-NPA: High-Level Synthesis of Nonprogrammable Hardware Accelerators.VLSI Signal Processing3122002, 127--142back to text
- 68 articleVirtual reality musical instruments: State of the art, design principles, and future directions.Computer Music Journal4032016, 22--40back to text
- 69 articlePractical Implementation of Multichannel Filtered-x Least Mean Square Algorithm Based on the Multiple-Parallel-Branch With Folding Architecture for Large-Scale Active Noise Control.IEEE Transactions on Very Large Scale Integration (VLSI) Systems2019back to text
- 70 articleExploration and Rapid Prototyping of DSP Applications using SystemC Behavioral Simulation and High-level Synthesis.Signal Processing Systems562-32009, 167--186back to text
- 71 articleBroadband Liner Impedance Eduction for Multimodal Acoustic Propagation in the Presence of a Mean Flow.Journal of Sound and Vibration3922017, 200--216back to text
- 72 inproceedingsBridging High-Level Synthesis and Application-Specific Arithmetic: The Case Study of Floating-Point Summations.27th International Conference on Field-Programmable Logic and Applications (FPL)IEEESeptember 2017back to text
- 73 inproceedingsEvaluating the hardware cost of the posit number system.29th International Conference on Field-Programmable Logic and Applications (FPL)Barcelona, SpainSeptember 2019, URL: https://hal.inria.fr/hal-02130912back to text
- 74 inproceedingsTHE PLANK: Designing a simple haptic controller..Proceedings of the New Interfaces for Musical Expression Conference2002, 33--36back to text
- 75 inproceedingsDeclaratively Programmable Ultra Low-Latency Audio Effects Processing on FPGA.Proceedings of the 17th International Conference on Digital Audio Effects (DAFx-14)Erlangen, Germany2014back to text
- 76 articleTowards Hardware IIR Filters Computing Just Right: Direct Form I Case Study.IEEE Transactions on Computers684April 2019back to text
- 77 articleActive Noise Control Over Space: A Wave Domain Approach.IEEE/ACM Transactions on Audio, Speech, and Language Processing264April 2018, 774-786back to text
- 78 articleFully Coupled Finite-Element Modeling of Active Sandwich Panels with Poroelastic Core.Journal of vibration and acoustics13422012back to text