In time-honoured fashion, I worked out an answer to this one shortly
after posting to the list. I found a way to get a q value for resonbp
from a decay time. My expression, which I got by inverting an
expression I found for decay time in terms of q, is as follows:

q(decaytime) = freq / (1 - exp(log(0.001) / (decaytime * ma.SR))) *
ma.PI / ma.SR;

Comments and other solutions (particularly mind-expanding ones) still welcome.

On 10/31/20, James Mckernon <jmcker...@gmail.com> wrote:
> Hi all,
>
> My filter theory isn't very good; perhaps a filter-savvy faust user
> can help me out.
>
> I'm seeking a filter in faust analogous to Ringz in supercollider (
> https://doc.sccode.org/Classes/Ringz.html ); that is, a filter whose
> impulse response is a sinusoidal oscillation at a given frequency,
> decaying over a given length of time.
>
> I suspect that fi.resonbp can do such a thing, but I couldn't work out
> a scaling that would let me provide a decay time in seconds and
> convert this to a Q for resonbp. (I tried plugging in tau2pole, but to
> no avail.)
>
> What would be the easiest way to construct such a filter in faust?
> Suggestions welcome.
>
> Many thanks,
> James
>


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

Reply via email to