Hi Klaus, You can give names to the input signals as in your example, but you don't have to. In other words, instead of writing:
process(x) = f(g(x)); you can use a more idiomatic style, and write: process = g : f; Faust is inspired by Moses Schönfinkel's combinatory logic (1924) and John Backus' FP (1977). The idea of Schönfinkel was to eliminate the need for variables in mathematical logic. In functional programming, this style is known as "point-free" or "tacit" programming. At first sight, it seems complicated to do without variables. But a variable is just one way (among others) to move a value to its point of use. In Faust, you can use the `_` and `!` primitives, as well as the five operations of the block diagram algebra (or the route{} primitive) to create complex routing to move signals to their point of use. The advantage of point-free expressions is that they are more modular and often easier to generalize. Let say you want to write a quadriphonic amplifier. You can write: amp4(v,x1,x2,x3,x4) = v*x1, v*x2, v*x3, v*x4; but it is better to write: amp4(v) = *(v), *(v), *(v), *(v); or even better to write: amp4(v) = par(c,4,*(v)); This is now easy to generalize to a variable number N of channels: anyamp(N,v) = par(c,N,*(v)); (note: by convention, we use capital letters for parameters that need to be known at compile-time, here N) You can now specialize this general definition, as in: amp4 = anyamp(4); amp8 = anyamp(8); So much for the principle, on an extremely simple example. What you are trying to do is probably more complicated. Don't hesitate to post a little diagram if you need help... Cheers, Yann Le lun. 26 juil. 2021 à 10:23, Klaus Scheuermann <kla...@posteo.de> a écrit : > Hi All, > > so for stereo, I have > process(x1,x2) = x1,x2; > > How would I use 'par' in 'process' for N-channel operation? > > (I need the inputs x1, x2, xN later in a function.) > > Maybe a list with N entries? > > Thanks, Klaus > > > _______________________________________________ > Faudiostream-users mailing list > Faudiostream-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/faudiostream-users >
_______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users