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, multOfCar:*), carFreq:+:os.osc);

Dario


On Fri, 22 May 2020 at 01:13, Dario Sanfilippo <sanfilippo.da...@gmail.com>
wrote:

> 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 the example below:
>
> 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):*
> )
> , hslider("carFreq",100,100,1000,1):+:os.osc
> ) ~_ , 0.1:*;
>
> The only difference here is that the output is not delayed by one sample.
>
> About the dropouts: I'm not experiencing any. Is it possible that with
> some combination of the parameters the frequency of the oscillator at the
> output is in the infrasound range? After all, the modulating frequency can
> be negative.
>
> Cheers,
> Dario
>
> On Fri, 22 May 2020 at 00:42, Sam Pluta <spl...@gmail.com> wrote:
>
>> 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):*
>>   )
>>   , hslider("carFreq",100,100,1000,1):+:os.osc
>> ), 0.1:*;
>>
>> Without the GUI, it is:
>>
>> import("stdfaust.lib");
>>
>> process(carFreq, modFreq, multOfMod, multOfCar) = 0: + ~ ((((_,
>> multOfMod:*), modFreq:+):os.osc, multOfCar:*), carFreq:+:os.osc);
>>
>> The graphical display is here:
>>
>>
>> https://faustservice.grame.fr/CA4694BC72BFBA3822E0567BB44D02206B52EEAC/diagram/process.svg
>>
>> I made it to work in SuperCollider. In both SC and in the Faust Online
>> Editor, it sounds great, but there are these dropouts that happen seemingly
>> at random. It is as if the carrier continues going, but the modulator
>> disappears from the circuit for a second.
>>
>> So, two questions:
>>
>> Is there something causing the dropouts that I am unaware of / need to
>> compensate for?
>>
>> Can I get the feedback to work the way I want without that silly 0? I
>> could not get the circuit to feedback and output at the same time without
>> it.
>>
>> Thanks,
>>
>> Sam
>>
>>
>> _______________________________________________
>> 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

Reply via email to