Thanks all for your input! I managed to do it with phasor and env, but will take a look at all the suggestions.
On Sat, 18 Sept 2021 at 09:40, James Mckernon <jmcker...@gmail.com> wrote: > It seems that there isn't one in the standard library. > > But the triangle wave in the standard library is made by integrating a > square wave. Analogously, you can construct a var saw by integrating > the pulsetrain oscillator, which is essentially a square wave with > duty cycle parameter. > > import("stdfaust.lib"); > varsawN(N,freq,duty) = os.pulsetrainN(N,freq,duty) : fi.pole(p) : *(gain) > with { > gain = 4.0*freq/ma.SR; // for aproximate unit peak amplitude > p = 0.999; > }; > varsaw = varsawN(2); > process = varsaw(220, hslider("duty cycle", 0.5, 0, 1, 0.01)) <: _,_; > > This looks and sounds right around the middle, but unfortunately it > fades away to zero at either extreme (i.e. as it approaches saw > shape). > > Not perfect, but it's a start. > > Cheers, > James > > On 9/14/21, Roger Pibernat <rogerpiber...@gmail.com> wrote: > > Hi, > > > > just starting with Faust, with quite a few years of SuperCollider behind > my > > back but no math background whatsoever. > > > > Is there such a thing as a variable saw wave oscillator in Faust? I'd > like > > to be able to modulate between saw <> triangle <> ramp. I cannot find it > > in the docs. > > > > I thought I could maybe feed an en.ar() into a phasor, but it doesn't > seem > > to work (because an envelope is not a table?). > > > > How could it be done? > > > > cheers! > > > > Roger > > >
_______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users