What's the latest on using SOUL with platforms like Faust and Bela?
What's the latest on using SOUL with platforms like Faust and Bela?
Faust has also had SOUL support for a while. Not sure what's new over there but maybe Stephane will see this and comment :)
On licensing, how will it work for creators of open source hardware? Will they still need to pay a licensing fee if they are targeting a specific device with closed driver IP? Or could there be an exception there?
Do you also see yourselves supporting open low-level hardware (RISC-V, FPGA, ...?), and in that case would you consider opening your driver IP for those targets?
RISC-V is an easy one to support, as our JIT uses LLVM so it's just a case of adding a build flag for that.
FPGA is more interesting. I think there could be some really clever tricks we can do for soul programs which are highly parallel, but that kind of rocket-science stuff is probably going to have to wait until we have a couple of PhD students to work on it :)
A lot of people have been down this road before, and it doesn't end well for the users.
At least your lawyers are happy.
So you're saying it should be technically feasible to live code/hot reload faust.dsp on Bela with no glitching?
So then, update your faust code, re-run faust2soul and the soul command will see the updated patch and recompile.
Even though this already sounds great, hot swapping state would be the really big deal here. Do you think the Faust program itself might be able to save/load state somehow?
We've sketched out how this would work, and it's on the project backlog as something we want to support, so at some point we'll improve this area of the runtime.
I can vouch for that being a high priority feature for any interactive audio development, not just for live coding scenarios.