Thank you for the detailed reply, Julius! That really helps. :)

Regards,
Tejas

On Fri, Feb 13, 2026 at 4:08 PM Julius Smith <[email protected]> wrote:

> Hi Tejas,
>
> You might try modifying os.triangleN(N,freq) to add a duty factor, where N
> is the order of the aliasing suppression.
> It's based on the paper "Alias-Suppressed Oscillators based on
> Differentiated Polynomial Waveforms" by Valimaki et al.
>
> My guess:
>
> triangleND(N,freq,duty) = squareND(N,freq,duty) : fi.pole(p) : *(gain)
> with {
>   gain = 4.0*freq/ma.SR; // for aproximate unit peak amplitude
>   p = 0.999;
> };
> squareND(N,freq,duty) = pulsetrainN(N,freq,duty);
>
> Then your 25% case would be os.triangleND(N,freq,0.25);
>
> Cheers,
> - Julius
>
>
> On Fri, Feb 13, 2026 at 10:39 AM Tejas Rode <[email protected]> wrote:
>
>> Hello,
>>
>> I want to create an anti-aliased dfdsdg triangle wave with 25% duty cycle
>> for use in a teensy project. I'm new to faust. Is there a resource that I
>> can refer to? Any ideas that can help me start implementing this?
>>
>> Thanks,
>> Tejas
>> _______________________________________________
>> Faudiostream-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/faudiostream-users
>>
>
>
> --
> AI has taken my job, but only I know what it is.
>
_______________________________________________
Faudiostream-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to