ref: 0acd2208855ac7e5c1e2499614c50828a1ace0de
dir: /README.md/
# faust9p Tools to compile [FAUST](https://faust.grame.fr) DSP code to a 9p server, provide UI to control DSP, etc. WIP, nothing to look at yet ## Description A DSP fs presents an interface to create instances of a DSP class by reading the `clone` file. In the resulting directory `ctl` is used to read general info about the dsp, `raw` is used to supply input to the DSP (if it has any inputs) by writing to it, and output can be read from it. The format is raw stream of `float`. `pcm` is the same but is of format directly supported by `/dev/dsp` (two channels, 44100Hz). Each DSP instance, in addition to the mentioned files, provides a file tree that reflects the UI elements. UI elements may provide `ctl` file to read initial and current, maximum and minimum, step, and may be used to write a new value to it. File `value` is for watching the value of the UI element change: first read gives current value and a number of samples processed before the change, next read is blocked until the value is changed. Several DSPs may be connected by chaining their `raw` interfaces together. If some parameters need to be changed dynamically during processing with frame accuracy, it can be achieved by running the chain for a chunk of data, changing the parameters, then continuing processing.