The FAST Project: Fast Audio Signal-processing Technologies on FPGA

Romain Michon
GRAME-CNCM, Lyon (France)
CCRMA, Stanford University (USA)

CCRMA Open House -- Apr. 9, 2021 -- Stanford University

Some Numbers...

Goals of FAST

  • Facilitate the programming of FPGAs (Field Programmable Gate Array) for real-time audio signal processing applications through the use of the Faust programming language
  • Design high-performance FPGA-based multichannel (we're aiming for 2x2 and 32x32 modules) audio processors with ultra-low latency (<10us)
  • Exploit our system in the context of active control of room acoustics and musical instruments

What We've Done so Far

  • faust2fpga command line tool to program a Digilent Zybo Z7 (Xilinx Zynq-7000 FPGA)1
  • This tool relies on High Level Synthesis (HLS): Faust -> Optimized C
    -> Intellectual Property (IP)
  • Generated IPs could be significantly optimized if Faust could generated fixed-point C code
  • Dealing with memory is a complex task when aiming for ultra-low latency

1. T. Risset, R. Michon, Y. Orlarey, S. Letz, G. Müller, and A. Gbadamosi, "Faust2FPGA for Ultra-Low Audio Latency: Preliminary Work in The Syfala Project," in Proceedings of the International Faust Conference (IFC-20), Paris, France, 2020

faust2fpga Overview

Challenges to Come

  • Implementing internal fixed-point support in Faust
  • Implement a faust2vhdl tool and compare its performances with IPs generated through HLS
  • Optimize Faust DSP algorithms to be used on FPGAs
  • Design custom FPGA-based audio processing units
  • Use these tools in the context of active control

Overview of FAST

Thanks! :)



Slides of this presentation: