I dabbled with Teensy boards for a while due to having a decent audio library that's pretty easy to use.
I dabbled with Teensy boards for a while due to having a decent audio library that's pretty easy to use.
Faust is also popular for this purpose (this is mentioned in the linked page). You write audio code in Faust and it gets compiled to tight C code, so that works well for embedding. It also has an impressive set of libraries. For a different approach, you could also try Soundpipe. It's a C library, not initially meant for embedding but it's small so it could work.
Overall there are JUCE embedded support.
If you need more bare bones there are some DSP only resources. Not sure if I saw there the RtAudio which is also very minimal - https://www.music.mcgill.ca/~gary/rtaudio/
Elk is awesome but it's a proper linux distro, which may require more resources than the typical embedded audio device. But it's remarkable how much you can do these days.
I don't think JUCE belongs in the same conversation. It barely runs on Linux and the DSP library is not suitable for production applications (the IIR filter implementation requires allocation to set its parameters!)
In the end I switched to PortAudio which works fine with low-latency backends.
You’re right I meant - https://ccrma.stanford.edu/software/stk/tutorial.html
> Elk is awesome but it's a proper linux distro, which may require more resources than the typical embedded audio device
In comparison to teensy above I’d say the term embedded is quite broad.
> I don't think JUCE belongs in the same conversation
JUCE is modular. And as I’ve wrote above the term embedded is very broad and many times consider general purpose cpus.
There are also chipsets/SoCs with separate DSP unit which requires its own toolchain and usually include basic building blocks. SOUL in the list aims in the future to abstract also for such chips similar to GPUs abstractions (eg opengl)