Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Does Faust do what you want? It's a language specifically for digital signal processing, and has a wide variety of compile targets.

https://faust.grame.fr/

> Faust (Functional Audio Stream) is a functional programming language for sound synthesis and audio processing with a strong focus on the design of synthesizers, musical instruments, audio effects, etc. created at the GRAME-CNCM Research Department. Faust targets high-performance signal processing applications and audio plug-ins for a variety of platforms and standards.

> 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.



Wow, thank you for the great reference. This would be a great target for The Editor. E.g. the editor could allow a musician/designer/inventor to compose the sound patch in the Faust modules, then call Faust to render the code across a variety of platforms!


Yeah maybe that would work. I learned Faust online at Kadenze and have participated on the Faust Slack channel and made a few additions to some build files for making VST3 plugins in Juce. Boy that was a year or two back! I also compiled some Faust to the ESP32 and hacked in OSC support. I was mostly writing in native Faust and debugging in the web IDE although there is at least one block based graphical tool.

I'm really not sure how you would map Faust to something like the FV-1 though - its instruction set is designed to do a handful of structures really efficiently.


I asked over at the Faust Slack channel and the guy from Grame said (after looking briefly at the FV-1 instruction set) that it would require a custom backend assuming it's even possible. Which doesn't sound like a ringing endorsement. I think the missing link here is for the other ASICs like fxCore, CoolAudio V1000, etc. Faust is portable to ARM and other general purpose CPUs. They are also working on a project to implement Faust on FPGAs which gets super low latency. My question as always is "how much processing can you get on that"? It remains to be seen.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: