Ein Kleiner Filter Compiler
A "little" compiler (actually, a C pre-processor) is described that translates an Intermediate Filter Language (IFL) into filter code. The main motivation is to provide an easy way to experiment with filters for digital sould synthesis. The compiler itself comprises 60 lines of C and produces C. The new keyword tap is available, which creates a buffer for storing the current value of the signal, which is then available earlier or later in the computation as a feedback or feed-forward term, respectively. C code in the filter description is passed largely unchanged, except for variables of the form it Si which is the signal value from the ith buffer. In this way, the usual FIR and IIR filters can be represented easily, as well as much more general filters and signal generators. The compiler is portable, requires small computer resources, uses text input that can be generated by other programs, and is easy to modify.