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
[email protected]
https://lists.sourceforge.net/lists/listinfo/faudiostream-users