Differences between FaustPy and Faust-Ctypes¶
The main difference between Faust-Ctypes and FaustPy is the moment of compilation of the Faust program. Faust-Ctypes uses ahead-of-time compilation whereas FaustPy uses just-in-time compilation. Most of the advantages and drawbacks of the two programs are symptomatic of these approachs, for instance :
Faust-Ctypes does not require to embed the faust compiler and a C compiler. It could for instance be used in the web IDE to directly get a library containing the digital signal processor, without having neither Faust nor C installed on the user’s machine.
Faust-Ctypes does not have access to the original code. One cannot imagine for instance templating a Faust program and editing it on-the-fly to get very specific DSP libraries.
There are also less-notable differences :
As FaustPy directly works on the generated C files, it is more resilient to design changes than Faust-Ctypes, where Faust-Ctypes must be kept up-to-date with the C header files generated by Faust.
Faust-Ctypes relies on Ctypes which is part of the Python standard library.