So, is this:
process(f1,f2,m1,m2) = (os.osc(*(m1)+f1):os.osc(*(m2)+f2:abs)) ~ _;
preferable to this:
process(f1,f2,m1,m2) =
(os.osc(((_,m1:*),f1):+):os.osc(((_,m2:*),f2):+:abs)) ~ _;
or this:
process(f1,f2,m1,m2) = _,m1:*),f1):+:os.osc,m2:*),f2:+:abs:os.osc) ~ _;
Are fewer parenthesis
That's on me for being lazy, Oleg :) I didn't change Sam's code at all and
I just moved the ~ at the end :)
Dario
On Fri, 22 May 2020 at 18:42, Oleg Nesterov wrote:
> Dario, sorry for noise but I simply can't resist...
>
> On 05/22, Dario Sanfilippo wrote:
> >
> > process(carFreq, modFreq,
Dario, sorry for noise but I simply can't resist...
On 05/22, Dario Sanfilippo wrote:
>
> process(carFreq, modFreq, modModMult, indexMult) = (
> (
> (
> (_, hslider("modModMult",100,100,1000,1):*),
> hslider("modFreq",100,100,1000,1):+
> ):os.osc, hslider("carModMult",100,100,1000,1):*
> )
> ,
On 05/21, Sam Pluta wrote:
>
> I made this crossfeedback synth in Faust:
>
> import("stdfaust.lib");
>
> process(carFreq, modFreq, modModMult, indexMult) =
note that the code below doesn't use any of theese inputs. It seems
to me you actually want
process = ...same code...;
Just in
>
>
> Feedback without delay of blocksize is sick. You just can’t make this circuit
> in SC.
>
This was *one* of the initial motivation of the project… ((-;
Welcome to Faust !
Stéphane
___
Faudiostream-users mailing list
Happy to help, Sam.
If interested in some technical papers, Lazzarini has written on feedback
modulations.
Personally, I would consider the emergence of non-sound, together with the
emergence of sound with turbulence, an added degree of complexity to the
behaviour of the system. But I understand
Thank you Dario,
This is great. Adding an abs before the last osc seems to clear up the
dropouts (but also takes away a bit of the fun), so I guess it was negative
freq. The placement of the ~ is my incomplete understanding of its function
at this point. But seeing your solution clears up a lot,
Just to be precise, if you want the exact same circuit without the 0 and
the +, you can replace them with a wire, so it will be one signal feeding
back into something with one input: the wire.
process(carFreq, modFreq, multOfMod, multOfCar) = _ ~ _, multOfMod:*),
modFreq:+):os.osc,
Hi, Sam. Sounds nice.
If you notice, the recursive operator is at the top of the chain, so
whatever block of code within parentheses after ~ will be in the feedback
path. The signal left of ~ is then going through. You can achieve the same
circuit by moving the feedback operator at the end as in
I made this crossfeedback synth in Faust:
import("stdfaust.lib");
process(carFreq, modFreq, modModMult, indexMult) = 0: + ~ (
(
(
(_, hslider("modModMult",100,100,1000,1):*),
hslider("modFreq",100,100,1000,1):+
):os.osc, hslider("carModMult",100,100,1000,1):*
)
,
10 matches
Mail list logo