fundsp
avendish
fundsp | avendish | |
---|---|---|
6 | 34 | |
648 | 410 | |
- | 1.0% | |
7.5 | 8.5 | |
2 days ago | 8 days ago | |
Rust | C++ | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fundsp
-
FunDSP 0.13 – Audio Processing and Synthesis Library for Rust
Maybe a link to GitHub would have been better: https://github.com/SamiPerttu/fundsp
-
I’m mostly mad that they consider the new transient shaper a “premium add on”
it’s getting there. a lot of infrastructure still needs to be built out (definitely nothing like JUCE exists for rust). but there are some promising projects like https://github.com/SamiPerttu/fundsp
-
Elementary Audio: a modern platform for writing high performance audio software
- https://github.com/SamiPerttu/fundsp
Check this video, you can even live coding audio effect in DAWs with Glicol:
-
FunDSP 0.1.0, an audio processing and synthesis library
Here's a code fragment that can be plugged into the beep example to replace the let mut c = ... part:
-
Signal processing library
That's a nice one focusing on audio: https://github.com/SamiPerttu/fundsp
-
Anything resembling libpd (Pure Data) for Rust?
https://github.com/SamiPerttu/fundsp seems promising and I know they're trying to make the code DSL like to the point where it could be parsed from a file but I don't think that actually works yet.
avendish
-
Ask HN: What audio/sound-related OSS projects can I contribute to?
Happy to introduce you to https://ossia.io there are a lots of tasks open! You can check the projects for the general development axes: https://github.com/ossia/score/projects?query=is%3Aopen ; e.g. Audio, Musicality, Integrations, JACK & Linux integration (some are in Classic projects mode) all have audio-related tasks, some easy, some hard.
Creating new Avendish plug-ins (docs: https://celtera.github.io/avendish/) could also be fairly useful, here's a very basic example one: https://github.com/celtera/avendish/blob/main/examples/Advan...
-
Learning C++ for Multimedia and Audio programming
If you are interested in making max, pd, etc... extension you can look into https://github.com/celtera/avendish : it's made exactly for this and tries to stay very close from standard C++ unlike most existing audio frameworks which often come with their own bespoke standard library reimplementation. The documentation also tries to explain the c++ features it used, you might find this useful!
-
Soursop and Ponies in Kona: A C++ Committee Trip Report
to automatically generate safe dlopen stubs for runtime dynamic library loading from header files
and through the C++ one (this one is an extremely quick and dirty prototype):
https://github.com/ossia/score/blob/master/src/plugins/score...
to pre-instantiate get(aggregate), for_each(aggregate, f) and other similar functions in https://github.com/celtera/avendish because of how slow it is when done through TMP (doing it that way removed literally dozens of megabytes from my .o and had a positive performance impact even with -O3) ; so I weep a lot when I read that people in the committee object to pack...[indexing]
-
Cognitive Loads in Programming
I really don't know about this, I'm writing audio & media effects in a fairly declarative style with https://github.com/celtera/avendish and I'm so much more productive that it's not even funny - I can rewrite entire effects from scratch in the time that it used to take me to find a bug somewhere
- Ask HN: Who is using C++ as the main language for new project?
- A framework for audio software development
-
Clap: The New Audio Plug-In Standard
For anyone using c++, my declarative system has some amount of support for clap: https://github.com/celtera/avendish / https://celtera.github.io/avendish/
But unlike clap, targetting this also gives direct access to a few other environments, namely Max, Pd, ossia score, with the list hopefully growing.
Here is an example minimal plugin : https://github.com/celtera/avendish/blob/main/examples/Raw/M...
Note that unlike pretty much every other c/c++ plugin API, the plugin code does not need to include any header, everything is done through reflection of struct members at compile-time.
Here's a per-sample noise generator which uses a small library of pre-made ports: https://github.com/celtera/avendish/blob/main/examples/Helpe...
And a very naive buffer-based audio filter : https://github.com/celtera/avendish/blob/main/examples/Helpe...
UI is supported without relying on a specific UI library, only on a canvas painter concept which can then target Qt, NanoVG, and others to come: https://github.com/celtera/avendish/blob/main/examples/Helpe...
since it binds directly to audio APIs at compile time, it has pretty much zero code size in itself, the smallest plugin it generates for VST2 is around 7kb IIRC
-
WG21, aka C++ Standard Committee, April 2022 Mailing
I've ported my lib https://github.com/celtera/avendish to P1061's experimental clang implementation to replace boost.pfr (https://github.com/celtera/avendish/blob/main/include/avnd/common/aggregates.hpp#L67) and it works great, it's only missing pack indexing because right now one still needs to do something like
-
Why LSP?
Working on a sunset of this with https://github.com/celtera/avendish - C++ reflection makes this very easy
-
Unreal vs. Unity Opinion
so interesting, as a mostly C++ dev, UE's C++ style feels absolutely awful aha. Of course they have to be here because c++ used to not have reflection but I think that nowadays one could use similar principles as the ones I've tried to develop for audio / media objects in https://github.com/celtera/avendish to implement game objects / UObject in a much cleaner way and with better compile times
What are some alternatives?
camilladsp - A flexible cross-platform IIR and FIR engine for crossovers, room correction etc.
proposal - Go Project Design Documents
rust-dsp - A library for sound Digital Signal Processing, written in Rust
DtBlkFx - Fast-Fourier-Transform (FFT) based VST plug-in
rust-ndarray - ndarray: an N-dimensional array with array views, multidimensional slicing, and efficient operations
csound_max - csound6~ object for Max/MSP
rust-bindgen - Automatically generates Rust FFI bindings to C (and some C++) libraries.
nanobind - nanobind: tiny and efficient C++/Python bindings
dasp - The fundamentals for Digital Audio Signal Processing. Formerly `sample`.
DPF - DISTRHO Plugin Framework
wasgen - Web Audio sound generator
clap-imgui - Minimal example of prototyping CLAP audio plugins using Dear ImGui as the user interface.