On 11/25, Julius Smith wrote:
>
> Hey, perfection is often a minor step forward!

;)

> I would simply say that there is no difference for constant p, but in the
> time-varying case there is a new one-sample delay preventing bit-for-bit
> compatibility.

OK, thanks. I'll try to do something more meaningful and possibly change
period/pulse "while at it".   Again, I am shy to spam github.com/grame-cncm
with such a trivial change.

For example, do you think the new

        pulsef(period) = tick ~ -(1) : !,_ with {
                tick(acc) = select2(pulse, acc, acc+period), pulse
                with { pulse = acc <= 0; };
        };

makes sense?

Like ba.pulse() but "period" can be float. So pulsef(2.5) outputs

        1 0  1 0 0  1 0  1 0 0 ...

iow, ba.time / (pulsef(P) : +~_) "converges" to P.

At the same time, if P is integer it does not uses floating point,
and (according to my naive testing) it is 14% faster than ba.pulse
because it doesn't use the division.

Oleg.



_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to