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