New directory tree, with preprocessor/ inside interpretor/.
[Faustine.git] / interpretor / preprocessor / faust-0.9.47mr3 / tools / faust2oct / README
1
2 README for faust2octave
3
4
5 faust2octave is a script to create dynamically loadable functions for gnu octave
6 from faust code. You have to copy the file "octave.cpp" into the folder where
7 faust looks for its architecture files (check /usr/local/lib/faust or /usr/lib/faust) and
8 the script "faust2octave" somewhere in your PATH.
9
10 Then you can call the script with an faust ".dsp" file as argument.
11
12 > faust2octave wgo.dsp
13
14 This command creates the octfile wgo.oct which contains the function "wgo"
15 callable from octave.
16
17 Audio outputs are returned as vectors in the output list.
18 For the example function WGO the call should look like this:
19
20 [out1, out2] = wgo(NSAMPS, FREQ)
21
22 NSAMPS is the number of output samples to be produced and FREQ is a control input, which
23 can be a scalar or vector. If vectors are passed as control inputs the processing
24 happens blockwise (with a blocksize of 64 samples) and the control values are created
25 by treating the values of the input vector as uniform spaced control points, which
26 are linearly interpolated. For the first block to be processed the control value
27 will be equal to the first value in the vector and for the last block the value
28 is the last value of the vector.
29
30 If the plugin has audio inputs, the created function expects vectors containing
31 the input as the first parameters in the argument list.
32 In this case the number of output values to be created is equal to the longest
33 input vector. Shorter input vectors will be zero-padded to the size of the longest
34 input.
35
36 The samplerate and the blocksize (the number of sample to process with each call
37 to the compute-function) can be changed from the defaults (44100 and 64) by
38 setting global variables.
39
40 global FAUST_BLOCKSIZE=64;
41 global FAUST_SAMPLERATE=48000;
42
43 See also the file test.m for some example calls.
44
45 The script requires "sed" and the octave development files (headers and mkoctfile)
46 to be installed.
47
48
49 For suggestions, bugs, etc.. contact the author
50 Bjoern Erlach - bantone@web.de
51
52