Faust signals are defined by the following grammar: $$ S \in\FS ::= k || u || \ain{c} || X_i || \star(S_1,S_2,...) || S_1@S_2 || S_1<S_2 || S_1>S_2 $$
-
$k$ is a number (integer or real) -
$u$ is a user interface element (slider, button, etc.) -
$\ain{c}$ is the input channel$c$ -
$\star(S_1,S_2,...)$ is a numerical operation on signals -
$X_i$ : is the i-th signal of a group of mutually recursive signals associated to symbol$X$ -
$S_1@S_2$ is$S_1$ delayed by$S_2$ -
$S_1\downarrow S_2$ is$S_1$ downsampled by$S_2$ -
$S_1\uparrow S_2$ is$S_1$ up-sampled by$S_2$ .
A Faust signal
By definition in Faust, the value of any signal before time
For
$\sems{k}(t)=k$ -
$\sems{u}(t)=$ value of the user interface controller$u$ at time$t$ -
$\sems{\ain{c}}(t)=$ value of the audio input channel$c$ at time$t$ -
$\sems{X_i}(t)=\sems{S_i}(t)$ with definitions$\rdef{X} = (S_1,..,S_i,..,S_n)$ $\sems{\star(S_1,S_2,...)}(t)=\star(\sems{S_1}(t),\sems{S_2}(t),...)$ $\sems{S_1@S_2}(t)= \sems{S_1}(t-\sems{S_2}(t))$ $\sems{S_1<*S_2}(t)= \sems{S_1}(\down{S_2}(t))$ $\sems{S_1*>S_2}(t)= \sems{S_1}(\up{S_2}(t))$
\begin{table}[!ht]
\centering
\begin{tabular}{cccc}
\hline
\begin{table}[!ht]
\centering
\begin{tabular}{cccc}
\hline