On 11/05/2015, robert bristow-johnson <r...@audioimagination.com> wrote:
>
> apologies for the hyperbole.  if you consider both feedback and
> feedforward gain,

Where does the 'feedforward' part come from? As I understand, poster
has a delay line with a simple feedback loop, and no feedforward path:

http://morpheus.spectralhead.com/txt/delay.txt

Of course, when delay is reduced to 1 sample (= z^-1), it becomes a
trivial one-pole filter, with tuning = half samplerate (Nyquist),
without a gain or feedforward coefficient:

http://morpheus.spectralhead.com/txt/onepole.txt

In this model (and in the Shroeder model), there's no gain or
feedforward coefficient, so it's not normalized for neither DC gain
nor skirt gain (both of which would need a gain coefficient, turning
this into either a cheap one-pole HP filter, or a Nyquist resonator).

> getting the gain no more or less trivial than
> designing a quick, oneth-order digital LPF.  instead of z^-1 or e^(-sT),
> it's e^(-s*T0) where T0 is the reciprocal of the precise fundamental
> frequency of the ping and is not necessarily an integer number of
> samples.

Yes, though that can be rounded to integer delay length, which will
give frequency quantization for very high notes, which is shown on
this graph:

http://morpheus.spectralhead.com/img/delay-freq-quantization.png

This figure is from a paper titled "Extensions of the Karplus-Strong
Plucked String" by David A. Jaffe and JOS, which might be of interest
to some readers:

http://davidjaffesite.squarespace.com/storage/writings/Jaffe-Smith-Extensions-CMJ-1983.pdf

> so designing your comb (both feedback and feedforward gains)
> is the same as designing an LPF

Yes, assuming you also have a feedforward coefficient :) I assumed the
poster doesn't have one in his model, only a feedback coeff. In that
case, the model is simpler, and Schroeder's figure apply for
calculating RT60 time. When I consider adding a gain coeff, like this:

http://morpheus.spectralhead.com/txt/onepole2.txt

...then the RT60 formula should still apply, since 'a' is just a
global gain coeff, and the feedback loop isn't changed. By the way,
the 'decay time' is also well defined in case of one-pole filters, and
is called 'time constant', with formulas similar to what Schoeder's
equation gives you, except it's usually defined for 1/e (~36.8%), not
for -60 dB (RT60):

https://en.wikipedia.org/wiki/Time_constant

Probably by 'feedforward' gain you meant adding a zero, like this:

http://morpheus.spectralhead.com/txt/onepole3.txt

If you consider that, the Schoeder formula should still (roughly)
apply, since the length of the IR is determined mainly by the feedback
part, a0 is just a gain, and the feedforward part is a FIR filter,
thus it increases IR length only by 1 sample in case of z^-1, or by N
in case of z^-N.

So I think this is also not difficult to analyze, since the
feedforward and feedback parts can be analyzed independently, and the
feedback part is the same as the Schoeder's comb filter model, for
which he gives a precise formula to calculate RT60, and the
feedforward part only modifies it slightly (though I have no precise
equation for that). And I think the poster only has a feedback part
and no feedforward part in his model, so the FIR part is not a
concern.

> but when i consider that part of designing comb filters
> tuned to musical notes, i have to at least pause and wonder which
> interpolation would be better or sufficient for whatever application and
> that's why it didn't seem trivial to me.

Linear interpolation is fast and dirty, and gives muffled notes with
reduced high freqs. Allpass interpolation has flat passband, so the
Schroeder RT60 formula works precisely. (It may mess up the phase and
create some Nyquist ringing, so that might be an issue in some cases.)
Hermite interpolation I found adequate for most musical needs, and has
only little error. Higher order interpolators are more precise near
Nyquist, but a lot more expensive. I think all of these are described
in the literature. (JOS has a lot of material on these.)

> what's really cool (and also makes this a teeny bit less trivial) is
> that you can use this "extend z^-1 design to comb filter design"
> philosophy to second or higher order filters  (more precision-delay taps
> offa the delay line) and *really* design the shape of the teeth of the
> comb.  like do a butterworth design and the teeth are really flat (and
> won't complain too much if some harmonic is slightly offa its harmonic
> value).

Sounds like an interesting proposition, and that one indeed sounds
less trivial. Haven't actually seen that described in the literature.

> we should have a drink together (do you come to U.S. AES shows?) and all
> you do is mention one of several political topics and the hyperbole
> coming outa me will be worse than this.

Heh... thanks for the invitation! I'm not much of a traveler (actually
haven't been to the U.S. so far), but who knows? Maybe some day.

- Peter
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp

Reply via email to