There are three programs provided:
crude <script file>
[<output soundfile>]
fine <script file> [<output soundfile>]
set_fine (ambisonic|stereo)
The first two produce soundfiles, the third sets the mode of the 'fine' program.
The script file defines the motion of a collection of mono sound files in space: it is like a three-dimensional 'mixer' script. The syntax of this script file is included in another document.
Running 'crude' produces a mono soundfile using Csound. The name of the file is given on the command line or is defaulted to 'crude.wav' (or other if you set a different suffix in your makefile.) This soundfile does an extremely crude mix on the basis of the script provided. This mix has sounds at roughly their correct times and at roughly their correct levels, but no other spatialisation is done.
Running 'fine' produces a stereo or ambisonic soundfile 'fine.wav' (or other as before), again using Csound. The calculations used to produce this soundfile are considerably more complex than those used to produce the 'crude' soundfile, producing a more realistic sound but taking longer to do so. Techniques used include delay lines to produce an approximation to Doppler shift, attenuation and low-pass filtering for air damping, cardiod responses on two independent 'microphones' (for stereo,) simple reverb and some simple room modelling for early reflections. If you don't want to calculate early reflections at all then modify the function 'do_early_reflections' in 'fine.c' in the obvious way and recompile the system.
Running 'set_fine' sets the type of output 'fine' produces: running 'set_fine ambisonic' sets 'fine' to ambisonic output, and 'set_fine stereo'... Well, use your imagination. This program is really just a wrapper for a symbolic link instruction.