forked from grame-cncm/faust
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfaust.1
203 lines (203 loc) · 7.07 KB
/
faust.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
.TH "man" "1" "" "Version 1.0 (21 November 2017)" "Faust man page"
.SH NAME
.PP
Faust \- DSP to C/C++, Rust, LLVM IR, JAVA, JavaScript, asm.js,
WebAssembly (wast/wasm), Interpreter compiler
.SH SYNOPSIS
.PP
\f[B]faust\f[] [options] file1 [file2 ...]
.SH DESCRIPTION
.PP
Faust (Functional Audio Stream) is a functional programming language
specifically designed for real\-time signal processing and synthesis.
Faust targets high\-performance signal processing applications and audio
plug\-ins for a variety of platforms and standards.
.SH OPTIONS
.PP
\f[B]\-h\f[], \f[B]\-\-help\f[] print help message
.PP
\f[B]\-v\f[], \f[B]\-\-version\f[] print the compiler version
.PP
\f[B]\-d\f[], \f[B]\-\-details\f[] print compilation details
.PP
\f[B]\-tg\f[], \f[B]\-\-task\-graph\f[] generate the internal task graph
in dot format file
.PP
\f[B]\-sg\f[], \f[B]\-\-signal\-graph\f[] generate the internal signal
graph in dot format file
.PP
\f[B]\-ps\f[], \f[B]\-\-postscript\f[] generate a block\-diagram
representation of the program as a postscript file
.PP
\f[B]\-svg\f[], \f[B]\-\-svg\f[] generate a block\-diagram
representation of the program as an SVG file
.PP
\f[B]\-mdoc\f[], \f[B]\-\-mathdoc\f[] generate the mathematical
documentation of a program in LaTeX format
.PP
\f[B]\-mdlang <l>\f[], \f[B]\-\-mathdoc\-lang <l>\f[] load mathdoc
language <l> if translation file exists (<l> = en, fr, ...)
.PP
\f[B]\-stripmdoc\f[], \f[B]\-\-strip\-mdoc\-tags\f[] strip mdoc tags
when printing Faust \-mdoc listings
.PP
\f[B]\-sd\f[], \f[B]\-\-simplify\-diagrams\f[] try to further simplify
block\-diagrams before drawing them
.PP
\f[B]\-f <n>\f[], \f[B]\-\-fold <n>\f[] set fold threshold used during
block\-diagram generation (default 25 elements)
.PP
\f[B]\-mns <n>\f[], \f[B]\-\-max\-name\-size <n>\f[] set max name size
threshold during block\-diagram generation (default 40 char)
.PP
\f[B]\-sn\f[], \f[B]\-\-simple\-names\f[] use simpler names (without
arguments) during block\-diagram generation
.PP
\f[B]\-xml\f[] generate an XML description file of the user interface
.PP
\f[B]\-exp10\f[], \f[B]\-\-generate\-exp10\f[] function call instead of
pow(10) function
.PP
\f[B]\-json\f[] generate a JSON description file of the user interface
.PP
\f[B]\-blur\f[], \f[B]\-\-shadow\-blur\f[] add a shadow blur to SVG
boxes
.PP
\f[B]\-lb\f[], \f[B]\-\-left\-balanced\f[] generate left\-balanced
expressions
.PP
\f[B]\-mb\f[], \f[B]\-\-mid\-balanced\f[] generate mid\-balanced
expressions (default)
.PP
\f[B]\-rb\f[], \f[B]\-\-right\-balanced\f[] generate right\-balanced
expressions
.PP
\f[B]\-lt\f[], \f[B]\-\-less\-temporaries\f[] generate less\-temporaries
when compiling delay lines
.PP
\f[B]\-mcd <n>\f[], \f[B]\-\-max\-copy\-delay <n>\f[] max delay
threshold used to switch from copy based to ring buffer based delay
lines (default 16 samples)
.PP
\f[B]\-mem\f[], \f[B]\-\-memory\f[] memory allocate static in global
state using a custom memory manager
.PP
\f[B]\-a <file>\f[] indicate the architecture file to use
.PP
\f[B]\-i\f[], \f[B]\-\-inline\-architecture\-files\f[] inline all
architecture files in the generated code
.PP
\f[B]\-cn <name>\f[], \f[B]\-\-class\-name <name>\f[] specify the name
of the dsp class to be used instead of mydsp
.PP
\f[B]\-t <sec>\f[], \f[B]\-\-timeout <sec>\f[] abort compilation after
seconds (default 120)
.PP
\f[B]\-time\f[], \f[B]\-\-compilation\-time\f[] display timing
information of the various compilation phases
.PP
\f[B]\-o <file>\f[] output file to use for the generated code
.PP
\f[B]\-scal\f[], \f[B]\-\-scalar\f[] generate code as a single loop
.PP
\f[B]\-vec\f[], \f[B]\-\-vectorize\f[] generate code as a DAG of
multiple loops easier to auto vectorize
.PP
\f[B]\-vls <n>\f[], \f[B]\-\-vec\-loop\-size <n>\f[] size of the vector
DSP loop for auto\-vectorization (experimental)
.PP
\f[B]\-vs <n>\f[], \f[B]\-\-vec\-size <n>\f[] size of the vector
(default 32 samples)
.PP
\f[B]\-lv <n>\f[], \f[B]\-\-loop\-variant <n>\f[] Control how loops are
generated [ = 0:fastest (default), 1:simple]
.PP
\f[B]\-omp\f[], \f[B]\-\-openMP\f[] generate OpenMP pragmas, activates
\-\-vectorize option
.PP
\f[B]\-pl\f[], \f[B]\-\-par\-loop\f[] generate parallel loops in
\-\-openMP mode
.PP
\f[B]\-sch\f[], \f[B]\-\-scheduler\f[] generate tasks and use a Work
Stealing scheduler, activates \-\-vectorize option
.PP
\f[B]\-ocl\f[], \f[B]\-\-openCL\f[] generate tasks with OpenCL
(experimental)
.PP
\f[B]\-cuda\f[], \f[B]\-\-cuda\f[] generate tasks with CUDA
(experimental)
.PP
\f[B]\-dfs\f[], \f[B]\-\-deepFirstScheduling\f[] schedule vector loops
in deep first order
.PP
\f[B]\-g\f[], \f[B]\-\-groupTasks\f[] group single\-threaded sequential
tasks together when \-omp or \-sch is used
.PP
\f[B]\-fun\f[], \f[B]\-\-funTasks\f[] separate tasks code as separated
functions (in \-vec, \-sch, or \-omp mode)
.PP
\f[B]\-lang <lang>\f[], \f[B]\-\-language <lang>\f[] generate various
output formats : c, ocpp, cpp, rust, java, js, ajs, llvm, cllvm, fir,
wast/wasm, interp (default cpp)
.PP
\f[B]\-uim\f[], \f[B]\-\-user\-interface\-macros\f[] add user interface
macro definitions in the output code
.PP
\f[B]\-single\f[], \f[B]\-\-single\-precision\-floats\f[] uses
single\-precisions floats for audio computations (default)
.PP
\f[B]\-double\f[], \f[B]\-\-double\-precision\-floats\f[] uses
double\-precision floats for audio computations
.PP
\f[B]\-quad\f[], \f[B]\-\-quad\-precision\-floats\f[] uses
quad\-precision floats for audio computations
.PP
\f[B]\-es 1|0\f[], \f[B]\-\-enable\-semantics 1|0\f[] use enable
semantics when 1, and simple multiplication otherwise
.PP
\f[B]\-flist\f[], \f[B]\-\-file\-list\f[] list all the files used to
eval process
.PP
\f[B]\-norm\f[], \f[B]\-\-normalized\-form\f[] prints signals in
normalized form and exits
.PP
\f[B]\-A <dir>\f[], \f[B]\-\-architecture\-dir <dir>\f[] add the
directory <dir> to the architecture search path
.PP
\f[B]\-I <dir>\f[], \f[B]\-\-import\-dir <dir>\f[] add the directory
<dir> to the import search path
.PP
\f[B]\-L <file>\f[], \f[B]\-\-library <file>\f[] link with the LLVM
module <file>
.PP
\f[B]\-O <dir>\f[], \f[B]\-\-output\-dir <dir>\f[] specify the relative
directory of the generated output code, and the output directory of
additional generated files (SVG, XML...)
.PP
\f[B]\-e\f[], \f[B]\-\-export\-dsp\f[] export expanded DSP code (all
included libraries)
.PP
\f[B]\-inpl\f[], \f[B]\-\-in\-place\f[] generate inplace code when input
and output buffers are the same (in scalar mode only)
.PP
\f[B]\-inj <f>\f[], \f[B]\-\-inject <f>\f[] inject source file <f> into
architecture file instead of compiling a dsp file
.PP
\f[B]\-ftz\f[], \f[B]\-\-flush\-to\-zero\f[] Adds flush\-to\-zero code
to recursive signals [0:no (default), 1:fabs based, 2:mask based
(fastest)]
.PP
\f[B]\-fm <file>\f[], \f[B]\-\-fast\-math <file>\f[] uses optimized
versions of mathematical functions implemented in <file>, takes the
\[aq]/faust/dsp/fastmath.cpp\[aq] file if \[aq]def\[aq] is used
.SH SEE ALSO
.PP
Grame Faust site at: \f[B]<http://faust.grame.fr>\f[]
.SH BUGS
.PP
Please report bugs to:
\f[B]<https://github.com/grame-cncm/faust/issues>\f[]
.SH AUTHOR
.PP
Copyright (C) 2002\-2017, GRAME \- Centre National de Creation Musicale.
All rights reserved.