ZynAddSubFX/PADsynth/Implementation
Public domain C/C++ code that shows a simple implementation
[edit | edit source]I wrote some C/C++ implementations of the basic algorithm and the extended algorithm. The "c_basic" directory contains the basic algorithm, "c_extended" contains the extended algorithm and the "c_simple_choir" is the implementation of the basic algorithm to make a simple choir. These implementations are wrote to be easy to understood and they are not optimised for speed. You can test on Linux by running the ./compile.sh scripts. It's recommended to have snd installed, to make possible to hear the results as wav file. Of course, you can import the results into your instruments, because the waves are perfectly looped (set the first loop point to 0 and the second to the end of the wav). I put the source code under public domain, but it depends on the FFTW3_library, so, if you want to use into your products, you must use your IFFT routines to avoid licensing issues of the FFTW library.
Public domain C++ class that implements the algorithm (ready to use)
[edit | edit source]To be easy to use this algorithm into your projects or products, I made a ready-to-use C++ class. Only thing that you have to do, is to provide it an IFFT routine. Please read the header file for details.
The source code of C/C++ implementation is available here
Also, you can look at the C++ class here: CPP Implementation