Re: [music-dsp] Comb filter decay wrt. feedback

2015-05-13 Thread Theo Verelst



A comb filter has a certain purpose. Do you know it?

Not everybody is good at electronics (where comb filters have a clearer 
meaning) or physics, but it does pay to take a little time to at least 
try to understand the difference between free wheel thinking about some 
glossy subject (DSP) and what actually goes on the computations, 
regardless where they were electronically or digitally published.


The comb filter Z equation doesn't tell you what's right or wrong with a 
signal getting filtered in the digital domain. It's not easy to get a 
correct frequency idea in the head of DSP designers, usually, because 
they tend to think that their doings are the norm, and all the 
concepts (like frequency and filtering and phase shift, and linearity, 
etc.) will follow them along their thought journey. Unfortunately 
nature, and decent electronics are a natural science that will not yield 
to all kinds of DSP thoughts at all, so reverb and it's components would 
best be described and computed on using proper ideas.


The problem with the tuning of any filter, FIR or IIR, state varying 
or linear, is that you need to know what those samples in you program 
actually stand for. In classic sampling theory, samples are equidistant 
signal samples of a continuous signal (like reverb creating a voltage in 
a microphone), that can be reconstructed to reform the original 
continuous signal under the condition that the signal was bandwidth 
limited to at most half the sampling frequency. Boringly familiar, I'm 
aware, and then then the actual Reconstruction Function that RBJ 
referred to is an infinite sum functions, which can also tell you the 
actual continuous domain effect of every DSP filter or whatever, in 
perfect sample thinking space.


T.V.

--
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


Re: [music-dsp] Comb filter decay wrt. feedback

2015-05-13 Thread Tim Goetze
[Peter S]
 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.)

Thiran allpass interpolation works very well for tuning feedback-delay
string models, at very low computational cost.  Its nonlinear phase
causes slight inharmonicity in the partial frequencies, an effect which
is also found in nature.  Manual adjustments may be necessary to bring
especially higher pitches into musical tune.

Cheers, Tim
--
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


Re: [music-dsp] Comb filter decay wrt. feedback

2015-05-12 Thread robert bristow-johnson

On 5/10/15 3:42 PM, Matthias Puech wrote:

I have a recursive comb filter, implemented with a simple delay line of size N and feedback F in 
[0..1]. If feedback is high and I ping it, it decays exponentially as it should, to 
give the typical ringing effect. The decay time D is also proportional to N: if I double N, D is 
also doubled. My question: what is the value of F depending on N that will give a constant D. In 
other words, how can I play my comb filter on a scale à la Karplus-Strong and retain a 
constant decay time?



i forgot to consider the less trivial part of the question (it wasn't 
about the gains of the teeth).  repeating the setup:


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.  so designing your comb (both feedback and 
feedforward gains) is the same as designing an LPF and the comb teeth 
are spaced by 1/T0 (the specified fundamental frequency, f0) instead of 
1/T (which is the sampling frequency)  if


  H(s) =  (1 + b*e(-s*T0)) / (1 + a*e(-s*T0))  (feedback gain is -a)


so first consider the simple 1st-order digital LPF

  H(z) =  (1 + b*z^-1) / (1 + a*z^-1)

it has a discrete-time impulse response of

 +inf
  h[n] =  d[n] + (1 - b/a) * SUM (-a)^i d[i-n]
 i=1

where d[n] is the Kronecker delta

   d[n] = 1   when   n=0
= 0   otherwise


translating back to analog (where z^-1 -- e^(-sT) )

+inf
  h(t) =  d(t) + (1 - b/a) * SUM (-a)^i d(iT-t)
 i=1

now d(t) is a sorta bandlimited dirac delta

  d(t) =  (1/T)*sinc(t/T) where T=1/Fs  is the sampling period

but let's pretend it's a regular dirac delta, whatever the hell that is.

the decaying sum can be rewritten as (if the feedback gain is 0  -a  1)

+inf
SUM  e^(log(-a)*i) * d(t-iT)
i=0

so when t=iT the decay is down to e^(log(-a)*(t/T))

and the time constant is

   tau  =  -T/log(-a)

and the decay rate is the reciprocal  log(-a)/T

now for the comb filter, replace T with T0, the delay of your precision 
delay.


normally that T0 is the period of the note.

1/T0 = f0

where

f0 = (440 Hz) * 2^((p-69)/12)

   = (8.17579891564371 Hz) * 2^(p/12)

where p is the MIDI note number.  now, if you want your decay rate to be 
independent of the note, the feedback gain, -a, cannot be independent


  log(-a) = -T0/tau

  -a  =  e^(-T0/tau)  = e^(-1/(tau*f0))

  =  e^( -2^(-p/12)/(tau*(8.1758Hz) )

so, select a time constant, know which note you're playing (that will 
determine T0 and how you're doing interpolation in the precision delay 
line), and calculate your feedback coefficient from that.


so Peter, this (the answer to the OP's question) is trivial?  it's not 
string theory, but it's more than trivial.


--

r b-j  r...@audioimagination.com

Imagination is more important than knowledge.



--
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

Re: [music-dsp] Comb filter decay wrt. feedback

2015-05-12 Thread Peter S
On 12/05/2015, robert bristow-johnson r...@audioimagination.com wrote:

 so Peter, this (the answer to the OP's question) is trivial?  it's not
 string theory, but it's more than trivial.

The poster's question was: how to solve F in a decaying exponential
for a given D and T:

http://morpheus.spectralhead.com/txt/exp-decay.txt

If the initial impulse has an amplitude of 1, then the resulting
impulses will have amplitudes of F, F^2, F^3, F^4, ... F^N. In other
words, it is a geometric series, where you have to solve

F^N = A

where A is a given target amplitude, and N = T/D.

I assume he already knows how to convert MIDI note to frequency. So he
already knows D (1/f), and he knows what T he wants. Therefore, he
knows N and A. The only unknown is F.

For someone who claims to be a 'CS researcher', this shouldn't be too
difficult to solve. Rearranging the equation gives:

F = A^(1/N)

No need to make it more complicated than it really is. Sure you can
turn this into a more difficult problem, if you prefer.

- 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


Re: [music-dsp] Comb filter decay wrt. feedback

2015-05-10 Thread Matthias Puech
Thank you very much to all of you for the great resources and the blazingly 
fast answers. It gives me much to digest. Indeed, my question was simply about 
a feedback path, no feedforward. 
I solved my problem, using Peter’s comment and with the great help of Matt 
(offline), simply by doing:

F = Fa ^ D

where Fa is an « amount » of feedback (I didn’t need real units). I guess I 
didn’t really think about it in terms of a geometrical suite.

Thanks again,
-m


 Le 10 mai 2015 à 23:41, Peter S peter.schoffhau...@gmail.com a écrit :
 
 On 11/05/2015, Peter S peter.schoffhau...@gmail.com wrote:
 By the way,
 the 'decay time' is also well defined in case of one-pole filters, and
 is called 'time constant'
 
 dspguide.com gives the following time constant formula for one pole filters:
 
 x = exp ( -1 / d )
 
 where d is the desired decay time (to ~36.8%) in samples, and x is the
 feedback coefficient.
 
 See equation 19-4 at:
 http://www.dspguide.com/ch19/2.htm
 
 - 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

--
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

Re: [music-dsp] Comb filter decay wrt. feedback

2015-05-10 Thread Peter S
On 11/05/2015, Peter S peter.schoffhau...@gmail.com wrote:
 By the way,
 the 'decay time' is also well defined in case of one-pole filters, and
 is called 'time constant'

dspguide.com gives the following time constant formula for one pole filters:

x = exp ( -1 / d )

where d is the desired decay time (to ~36.8%) in samples, and x is the
feedback coefficient.

See equation 19-4 at:
http://www.dspguide.com/ch19/2.htm

- 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


Re: [music-dsp] Comb filter decay wrt. feedback

2015-05-10 Thread Matthias Puech
Le 10 mai 2015 à 16:50, robert bristow-johnson r...@audioimagination.com a 
écrit :
 it's not trivial and it's not in the basic lit.

This make me somehow relieved and disappointed at the same time. ;)

 lemme find and review my own notes/equations regarding that (i think i titled 
 it Fun with Comb Filters), and i'll get back on it.

Thank you!

  but to tune your comb filters to arbitrary pitches, you will need a 
 precision tap delay line.

Yes, I got this far. I’m using Hermite interpolation because it was already on 
my shelf.

  maybe need to get familiar with the Nyquist/Shannon Sampling and 
 Reconstruction Theorem and the good ol' sinc() function.

Ok; you mentioning these in this context make me think I missed something. Any 
self-contained reference to recommend? DAFX was kind of glossing over this IIRC.
-m

--
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

Re: [music-dsp] Comb filter decay wrt. feedback

2015-05-10 Thread robert bristow-johnson

On 5/10/15 3:42 PM, Matthias Puech wrote:

This is my first post on this list, although I have been reading it for quite 
some time, with great interest.


welcum


  I am a CS researcher in an unrelated field, but fascinated for as long as I 
can remember by DSP and sound synthesis. Unfortunately my knowledge is still 
basic, and now is the first time that I face real technical difficulties (while 
implementing this: http://mqtthiqs.github.io/parasites/). Witness this question:

I have a recursive comb filter, implemented with a simple delay line of size N and feedback F in 
[0..1]. If feedback is high and I ping it, it decays exponentially as it should, to 
give the typical ringing effect. The decay time D is also proportional to N: if I double N, D is 
also doubled. My question: what is the value of F depending on N that will give a constant D. In 
other words, how can I play my comb filter on a scale à la Karplus-Strong and retain a 
constant decay time?

Sorry if this sounds too trivial or if it is not the right place to ask. Don’t 
hesitate to redirect me if needed or point me to references, I am eagerly 
looking for basic literature.


it's not trivial and it's not in the basic lit.

lemme find and review my own notes/equations regarding that (i think i 
titled it Fun with Comb Filters), and i'll get back on it.  but to 
tune your comb filters to arbitrary pitches, you will need a precision 
tap delay line.  maybe need to get familiar with the Nyquist/Shannon 
Sampling and Reconstruction Theorem and the good ol' sinc() function.



--

r b-j  r...@audioimagination.com

Imagination is more important than knowledge.



--
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

Re: [music-dsp] Comb filter decay wrt. feedback

2015-05-10 Thread Peter S
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 

Re: [music-dsp] Comb filter decay wrt. feedback

2015-05-10 Thread Peter S
On 10/05/2015, robert bristow-johnson r...@audioimagination.com wrote:
 it's not trivial and it's not in the basic lit.

It's trivial, and it's in the 1961 Schroeder paper linked in the previous post.

- 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


Re: [music-dsp] Comb filter decay wrt. feedback

2015-05-10 Thread robert bristow-johnson

On 5/10/15 8:00 PM, Peter S wrote:

On 10/05/2015, robert bristow-johnsonr...@audioimagination.com  wrote:

it's not trivial and it's not in the basic lit.

It's trivial, and it's in the 1961 Schroeder paper linked in the previous post.



apologies for the hyperbole.  if you consider both feedback and 
feedforward gain, 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.  so designing your comb (both feedback and feedforward gains) 
is the same as designing an LPF and the comb teeth are spaced by 1/T0 
(the specified fundamental frequency, f0) instead of 1/T (which is the 
sampling frequency)  if


  H(s) =  (1 + b*e(-s*T0)) / (1 + a*e(-s*T0))  (feedback gain is -a)

the gain at the top of the teeth (assuming it's an LPF prototype) is 
(1+b)/(1+a) and you can dB-ize that.  the gain at the valleys between 
teeth is (1-b)/(1-a).  i think the teeth are taller than the valleys if 
b  a.   now it doesn't have to be modeled after an LPF, you could 
design a first-order HPF (with z^-1) and translating that to the longer 
delay, you would get a comb with teeth spaced by 1/T0, but instead of 
starting at DC, your first tooth is at 1/(2*T0).  then the teeth gain is 
(1-b)/(1-a) and the valley gain is (1+b)/(1+a).


now my brain cells are dying (i dunno how many zillions per second) so 
when i am first faced with a problem called precision delay, i have to 
at least wonder if i'm gonna do it with an APF (single  z^-1 and 
negative feedback coef) or with the FIR polyphase method (where i get to 
use MATLAB to design an LPF).  or maybe it'll be blanch Linear 
Interpolation.  it's gonna be one or even some combination of two or 
these methods.  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.


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).


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.


--

r b-j  r...@audioimagination.com

Imagination is more important than knowledge.



--
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


Re: [music-dsp] Comb filter decay wrt. feedback

2015-05-10 Thread Peter S
On 10/05/2015, Matthias Puech pu...@cs.mcgill.ca wrote:
 I have a recursive comb filter, implemented with a simple delay line of size
 N and feedback F in [0..1]. If feedback is high and I ping it, it decays
 exponentially as it should, to give the typical ringing effect. The decay
 time D is also proportional to N: if I double N, D is also doubled. My
 question: what is the value of F depending on N that will give a constant D.
 In other words, how can I play my comb filter on a scale à la
 Karplus-Strong and retain a constant decay time?

Schroeder's paper Colorless artificial reverberation gives RT60
formulas for comb filters:

http://www.ece.rochester.edu/~zduan/teaching/ece472/reading/Schroeder_1961.pdf

See figure (19).

T = N * 60 / (-G)

...where T = delay time (RT60), N is delay length, and G is loop gain
in decibels.

Calculating F should be straighforward by rearranging the equation.

  maybe need to get familiar with the Nyquist/Shannon Sampling and
 Reconstruction Theorem and the good ol' sinc() function.

 Ok; you mentioning these in this context make me think I missed something.
 Any self-contained reference to recommend? DAFX was kind of glossing over
 this IIRC.

Hermite interpolation is fine for delays, most of the time (unless you
want something ultra-high quality and heavy).

- 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

[music-dsp] Comb filter decay wrt. feedback

2015-05-10 Thread Matthias Puech
Hello DSPists,

This is my first post on this list, although I have been reading it for quite 
some time, with great interest. I am a CS researcher in an unrelated field, but 
fascinated for as long as I can remember by DSP and sound synthesis. 
Unfortunately my knowledge is still basic, and now is the first time that I 
face real technical difficulties (while implementing this: 
http://mqtthiqs.github.io/parasites/). Witness this question:

I have a recursive comb filter, implemented with a simple delay line of size N 
and feedback F in [0..1]. If feedback is high and I ping it, it decays 
exponentially as it should, to give the typical ringing effect. The decay time 
D is also proportional to N: if I double N, D is also doubled. My question: 
what is the value of F depending on N that will give a constant D. In other 
words, how can I play my comb filter on a scale à la Karplus-Strong and 
retain a constant decay time?

Sorry if this sounds too trivial or if it is not the right place to ask. Don’t 
hesitate to redirect me if needed or point me to references, I am eagerly 
looking for basic literature.

Thank you in advance,
-m

--
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

Re: [music-dsp] Comb filter decay wrt. feedback

2015-05-10 Thread Matt Jackson
I'm about to build a clouds from pcb and quite interested in how to reprogram 
it. Seen your parasites on muffs and anxious to try it. 

Matt
(From Ableton)

Sent from a phone. 

 On 10.05.2015, at 21:42, Matthias Puech pu...@cs.mcgill.ca wrote:
 
 Hello DSPists,
 
 This is my first post on this list, although I have been reading it for quite 
 some time, with great interest. I am a CS researcher in an unrelated field, 
 but fascinated for as long as I can remember by DSP and sound synthesis. 
 Unfortunately my knowledge is still basic, and now is the first time that I 
 face real technical difficulties (while implementing this: 
 http://mqtthiqs.github.io/parasites/). Witness this question:
 
 I have a recursive comb filter, implemented with a simple delay line of size 
 N and feedback F in [0..1]. If feedback is high and I ping it, it decays 
 exponentially as it should, to give the typical ringing effect. The decay 
 time D is also proportional to N: if I double N, D is also doubled. My 
 question: what is the value of F depending on N that will give a constant D. 
 In other words, how can I play my comb filter on a scale à la 
 Karplus-Strong and retain a constant decay time?
 
 Sorry if this sounds too trivial or if it is not the right place to ask. 
 Don’t hesitate to redirect me if needed or point me to references, I am 
 eagerly looking for basic literature.
 
 Thank you in advance,
-m
 
 --
 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
--
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


Re: [music-dsp] Comb filter decay wrt. feedback

2015-05-10 Thread Matt Jackson
Oops that was meant as directly to Matthias.

But as long as there is no filter in the feedback loop, Rt60 is your friend ;)
http://www.sengpielaudio.com/calculator-RT60.htm

Sent from a phone.

On 10.05.2015, at 21:54, Matt Jackson 
matt.jack...@ableton.commailto:matt.jack...@ableton.com wrote:

I'm about to build a clouds from pcb and quite interested in how to reprogram 
it. Seen your parasites on muffs and anxious to try it.

Matt
(From Ableton)

Sent from a phone.

On 10.05.2015, at 21:42, Matthias Puech 
pu...@cs.mcgill.camailto:pu...@cs.mcgill.ca wrote:

Hello DSPists,

This is my first post on this list, although I have been reading it for quite 
some time, with great interest. I am a CS researcher in an unrelated field, but 
fascinated for as long as I can remember by DSP and sound synthesis. 
Unfortunately my knowledge is still basic, and now is the first time that I 
face real technical difficulties (while implementing this: 
http://mqtthiqs.github.io/parasites/). Witness this question:

I have a recursive comb filter, implemented with a simple delay line of size N 
and feedback F in [0..1]. If feedback is high and I ping it, it decays 
exponentially as it should, to give the typical ringing effect. The decay time 
D is also proportional to N: if I double N, D is also doubled. My question: 
what is the value of F depending on N that will give a constant D. In other 
words, how can I play my comb filter on a scale à la Karplus-Strong and 
retain a constant decay time?

Sorry if this sounds too trivial or if it is not the right place to ask. Don’t 
hesitate to redirect me if needed or point me to references, I am eagerly 
looking for basic literature.

Thank you in advance,
  -m

--
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
--
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
--
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