I have been using faust2puredata
successfully both on Bela and macos, with my latest fixes. This builds a Puredata external that can be used inside a Pd patch.
With a working installation of faust (commit 5bc96ce3080856ddb958aa24121170e89d321332 or above), you could do faust2puredata myfile.dsp
and obtain a compiled Pd external. For instance, using Faust's examples/delayEcho/smoothDelay.dsp:
faust2puredata smoothDelay.dsp
will generate a file smoothDelay~.pd_darwin
on Mac (which you'd want to move e.g.: to ~/Documents/Pd/externals), or
smoothDelay~.pd_linuxon Bela (which you'd want to move either to your project folder or to
~/Bela/projects/pd-externals). Then you can interact with it sending messages named after the interface of the
.dsp` file, i.e.:
Now, how do you get the same benefit on Bela without having to install faust on the board? Here's the solution:
on the host you install the full faust distribution. Then you can run
faust2puredata -tosource smoothDelay.dsp
which eventually generates a smoothDelay.cpp
file, which you then copy on to the board and can compile there into a Pd external with
clang++ -std=c++11 -O3 -mfpu=neon -I/usr/local/include/libpd -fPIC -shared -Dmydsp=smoothDelay -o /root/Bela/projects/pd-externals/smoothDelay~.pd_linux smoothDelay.cpp
and off you go!