Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach
Am 01.10.2017 um 16:52 schrieb gm: So I tested a familiy of numbers based on a = ln(2) that should read g= ln(2); (a ~= 0.76597) It seems one of the best, but why? Counterintutively, there is no solution for g=a for N =2 (except g=a=1); (the solution for g=a and N=3 is 1/golden ratio ) ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach
Am 30.09.2017 um 22:44 schrieb Stefan Sullivan: Sometimes the simplest approach is the best approach. Sounds like a good reverb paper to me. Some user evaluation and references to standard papers and That would be a paper on numerology then... I generalized a bit: Na - 1 = a*g a = 1 / (N-g) ; which gives a = 2/3, 2/5, 2/7, 2/9... für g = 1/2 g = N - 1/a N = 1/a + g And for the other side: Na - 1 = 1 - a*g a = 2 / (N + g) ; which gives a = 4/5, 4/7, 4/9... für g = 1/2 g = 2/a - N N = 2/a -g N is the number of the Nth impulse and g is the time scaling in respect to the first impulse modulo 1 and a is the ratio to the loop delay which is 1: D 2D | 1 | 2 | | | | | 1 | |_|_|__|__|_|_ g___| | {__| a__| | {| Now for some more numerology, this seems to ask for something like the Golden Ratio, or similar, but another value in a paper where they used genetic algorithms to optimize a Schroeder type reverb with nested APs one ratio is: 329 / 430 which is ~ 0.7651163 and gives a ~= 0.69309 and N=2 which is suspiciously close to ln(2)... So I tested a familiy of numbers based on a = ln(2) and they are not bad But what would that mean, if it means anything? I assume it means nothing. I also assume that there are several "best" ratio families islands and that their values are not other magic numbers. Also this doesnt take tha actual impuls values into account, nor 2nd order impulses from convolving one AP with the other(s). I also made 2D plots for the first order patterns that emerge, for some numbers for g it'spretty ordered while for others it seems rather chaotic but hat doesn't necessarily mean a thing for the sound. ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach
Sometimes the simplest approach is the best approach. Sounds like a good reverb paper to me. Some user evaluation and references to standard papers and On Sep 29, 2017 8:51 AM, "gm"wrote: > It's a totally naive laymans approach > I hope the formatting stays in place. > > The feedback delay in the loop folds the signal back > so we have periods of a comb filter. > | | | | > |__|__|__|___ > > Now we want to fill the period densly with impulses: > > First bad idea is to place a first impulse exactly in the middle > > that would be a ratio for the allpass delay of 0.5 in respect to the comb > filter. > It means that the second next impulse falls on the period. > > | | > |||___ > > > The next idea is to place the impulse so that after the second cycle > it exactly fills the free space between the first pulse and the period > like this, > exactly in the middle between the first impulse and the period: > > | | | > | | | || > |_|_|__|__|_|___ > > this means we need a ratio "a" for the allpass delay in respect to the > combfilter loop that fulfills: > > 2a - 1 = a/2 > > Where 1 is the period of the combfilter. > Alternativly, to place it on the other side, we need > > 2a - 1 = 1 - a/2; > > > | | | > | | | | | > |___|___|___|_|_|___ > > This gives ratios of 0.5. 0.7 and 0.8 > > These are bad ratios since they have very small common multiples with the > loop period. > So we detune them slightly so they are never in synch with the loop period > or each other. > That was my very naive approach, and surprisingly it worked. > > > The next idea is to place the second impulse not in the middle of the free > space > but in a golden ratio in respect to the first impulse > > ||| > | ||| | > |___|||__|| > > 2a - 1 = a*0.618... > > or > > N*a mod 1 = a*0.618.. > > or if you prefer the exact solution: > > a = (1 + SQRT(5)) / ( SQRT(5)*N + N - 2) > > wich is ~ 0.723607 and the same as 1/ (1+ 0.382...) or 1/ (N + 0.382) > > where N is the number of impulses, that means instead of placing the 2nd > impulse on a*0.618 > we can also place the 3rd, 4th etc for shorter AP diffusors. > > (And again we can also fill the other side of the first impulse with > 0.839643 > And the solution for N = 1 is 2.618.. and we can use the reciprocal 0.381 > to place a first impusle) > > The pattern this gives for 0.72.. is both regular but evenly distributed > so that each pulse > falls an a free space, just like on a Fibonaccy flower pattern each petal > falls an a free space, > forever. > (I have only estimated the first few periods manually, and it appeared > like that > Its hard to identify in the impulse response since I test a loop with 3 > APs ) > > The regularity is a bad thing, but the even distribution seems like a good > thing (?). > I assume it doesn't even make a huge difference to using 0.618.. for a > ratio though it seemed to sound better. > (And if you use 0.618, what do you use for the other APs?) > > So it's not the solution I am looking for but interesting never the less. > > I believe that instant and well distributed echo density is a desired > property > and I assume that the more noise like the response is as a time series > the better it works also in the frequency/phase domain. > > For instance you can make noise loops with randomizing all phases by FFT > in circular convolution > that sound very reverberated. > > > > > ___ > dupswapdrop: music-dsp mailing list > music-dsp@music.columbia.edu > https://lists.columbia.edu/mailman/listinfo/music-dsp ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach
Am 29.09.2017 um 17:50 schrieb gm: For instance you can make noise loops with randomizing all phases by FFT in circular convolution that sound very reverberated. to clarify: I ment noise loops from sample material, a kind of time strech, but with totally uncorrelated phases ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach
It's a totally naive laymans approach I hope the formatting stays in place. The feedback delay in the loop folds the signal back so we have periods of a comb filter. | | | | |__|__|__|___ Now we want to fill the period densly with impulses: First bad idea is to place a first impulse exactly in the middle that would be a ratio for the allpass delay of 0.5 in respect to the comb filter. It means that the second next impulse falls on the period. | | |||___ The next idea is to place the impulse so that after the second cycle it exactly fills the free space between the first pulse and the period like this, exactly in the middle between the first impulse and the period: | | | | | | | | |_|_|__|__|_|___ this means we need a ratio "a" for the allpass delay in respect to the combfilter loop that fulfills: 2a - 1 = a/2 Where 1 is the period of the combfilter. Alternativly, to place it on the other side, we need 2a - 1 = 1 - a/2; | | | | | | | | |___|___|___|_|_|___ This gives ratios of 0.5. 0.7 and 0.8 These are bad ratios since they have very small common multiples with the loop period. So we detune them slightly so they are never in synch with the loop period or each other. That was my very naive approach, and surprisingly it worked. The next idea is to place the second impulse not in the middle of the free space but in a golden ratio in respect to the first impulse | | | | | | | | |___|||__|| 2a - 1 = a*0.618... or N*a mod 1 = a*0.618.. or if you prefer the exact solution: a = (1 + SQRT(5)) / ( SQRT(5)*N + N - 2) wich is ~ 0.723607 and the same as 1/ (1+ 0.382...) or 1/ (N + 0.382) where N is the number of impulses, that means instead of placing the 2nd impulse on a*0.618 we can also place the 3rd, 4th etc for shorter AP diffusors. (And again we can also fill the other side of the first impulse with 0.839643 And the solution for N = 1 is 2.618.. and we can use the reciprocal 0.381 to place a first impusle) The pattern this gives for 0.72.. is both regular but evenly distributed so that each pulse falls an a free space, just like on a Fibonaccy flower pattern each petal falls an a free space, forever. (I have only estimated the first few periods manually, and it appeared like that Its hard to identify in the impulse response since I test a loop with 3 APs ) The regularity is a bad thing, but the even distribution seems like a good thing (?). I assume it doesn't even make a huge difference to using 0.618.. for a ratio though it seemed to sound better. (And if you use 0.618, what do you use for the other APs?) So it's not the solution I am looking for but interesting never the less. I believe that instant and well distributed echo density is a desired property and I assume that the more noise like the response is as a time series the better it works also in the frequency/phase domain. For instance you can make noise loops with randomizing all phases by FFT in circular convolution that sound very reverberated. ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach
And, "The simplest digital reverberator is nothing more than a delay of 30 msec." Am 29.09.2017 um 13:16 schrieb STEFFAN DIEDRICHSEN: Maybe that’s because of Hal Chamberlin, who wrote in his book “Musical Applications of Microprocessors”, 2nd ed., p. 508: “Perhaps the simplest, yet most effective, digital signal-processing function is the simulation of reverberation”. There you are. ;-) Best, Steffan On 29.09.2017|KW39, at 12:47, gm> wrote: It's interesting that there seems to be no literature about it. ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach
Maybe that’s because of Hal Chamberlin, who wrote in his book “Musical Applications of Microprocessors”, 2nd ed., p. 508: “Perhaps the simplest, yet most effective, digital signal-processing function is the simulation of reverberation”. There you are. ;-) Best, Steffan > On 29.09.2017|KW39, at 12:47, gmwrote: > > It's interesting that there seems to be no literature about it. ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach
Well maybe it is nonsense, I admit that. The whole approach is pretty naive and thats why I was reluctant to post it. It worked pretty well, though this might be concidence. But if you can find great ratios manually, there must be reasons why they are great and better than those you dismissed. I haven't found these ratios in other reverbs but one, but I have noticed that some work better than others - and these worked better - they diffuse faster and more randomly. It's interesting that there seems to be no literature about it. Schroeder gives 100ms/(3^n) as a guidline, and some people even suggest to distribute the lengths randomly for FDNs. Others suggest to use room aspect ratios. None of that is very satisfying. Some ratios may be "bad" but still musically interesting, for instance exhibit a pronounced echo after some time. I would like to understand and control such things completely. Am 29.09.2017 um 09:07 schrieb Martin Lind: That’s great! I haven’t been so fortunately in my work until now – so I have to go the long way with extensive tests each time. I have analyzed some reverbs, but didn’t found any overall rule regarding either delay ratios or feedback ratios – maybe I didn’t look closed enough. *From:*music-dsp-boun...@music.columbia.edu [mailto:music-dsp-boun...@music.columbia.edu] *On Behalf Of *gm *Sent:* 28. september 2017 18:41 *To:* music-dsp@music.columbia.edu *Subject:* Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach But this ratio scheme actually /is /the result of thousands of listening tests, some years of reverb building attempts and lots of sneaking into the reverbs of others... I found the exactly same ratios +- some cents are used in a nice reverb from a well known company that was built for efficiency, whos designer I know and who tweaks them by ear only AFAIK. Coincidence? I think not. ;) You still have to invest time to detune the ratios optimally and lots of time to design your reverbs, these are just starting points. ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach
That’s great! I haven’t been so fortunately in my work until now – so I have to go the long way with extensive tests each time. I have analyzed some reverbs, but didn’t found any overall rule regarding either delay ratios or feedback ratios – maybe I didn’t look closed enough. From: music-dsp-boun...@music.columbia.edu [mailto:music-dsp-boun...@music.columbia.edu] On Behalf Of gm Sent: 28. september 2017 18:41 To: music-dsp@music.columbia.edu Subject: Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach But this ratio scheme actually is the result of thousands of listening tests, some years of reverb building attempts and lots of sneaking into the reverbs of others... I found the exactly same ratios +- some cents are used in a nice reverb from a well known company that was built for efficiency, whos designer I know and who tweaks them by ear only AFAIK. Coincidence? I think not. ;) You still have to invest time to detune the ratios optimally and lots of time to design your reverbs, these are just starting points. ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach
Now that I had to explain it I realize a few more things It has some interesting properties not just on the echo density but also on the phase delays (of course these are related somehow). the untuned pitches are [-12] -7.02. -15.86 -21.68 ... and -3.86, -9.68, -14.04 ... and inverted intervalls. But the reziprocals of the ratios before detuning which are directly related to the spacing on the comb like effect of the phase delays are: 1.5, 2.5, 3.5,... and 1.25, 1.75, 2.25,... this gives you two evenly distributed "manglings" of the phase delay maxima with regular maximum delay peaks on a frequency scale (skewed by each delay, so there is an increasing delay of the whole range, und two series superimposed) I wasn't aware of this before. The question is whether that's a good thing or a bad thing? because these are also related to the period of the loop, although this would change somehwat after retuning but not much I assume it's a good thing though, cause the alternative would be an arbitrary spacing of the delay maxima with even larger gaps, or a totally regular spacing in frequency wich results in a uniform delay ratio (identical pitch step) for all delays, which is not desired either. But it doesn't seem optimal either cause it's not regular but two series with larger and smaller distances of the delay maxima. Another possibility wouldbe to have the delay maxima distributed evenly on a log scale, maybe. But still the time evolution of the scheme seems unmatched, unless I'll find better series with the RG approach. ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach
Am 28.09.2017 um 17:18 schrieb Martin Lind: To get a realistic (or a musical for matter) sounding reverb it will include thousands of listening tests with various test signals - I haven't seen any 'automated' or any particular strategy for tuning reverbs in the wild other than extensive listening tests. The AP delay lines gets longer for each segment when connected in series, but I don't believe I have seen an overall strategy for the ratio and it's not particular important to use primes either. It's obvious that the output taps needs a ping pong behavior. The reduction to 2 APS in the first post was mainly to match the RNG structure and for a simplfied example. I use for instance 2-3 APs in two channels with modulation and a mixing matrix etc plus early diffusion stages and / or sparse FIRS outside the loop and all these things- But this ratio scheme actually /is /the result of thousands of listening tests, some years of reverb building attempts and lots of sneaking into the reverbs of others... I found the exactly same ratios +- some cents are used in a nice reverb from a well known company that was built for efficiency, whos designer I know and who tweaks them by ear only AFAIK. Coincidence? I think not. ;) You still have to invest time to detune the ratios optimally and lots of time to design your reverbs, these are just starting points. But as I said there are strategies for that as well: For instance you can detune 0.8 by ~ 19 cents to -1/(1-SQRT(5)) which is related to the Golden Ratio and should never repeat, it's off enough to avoid beating or flanging but still close enough to 4/5 to increase the echo density immediately... And this rationale works in all sizes. Similar numbers exist for diffusion ratios, for instance 0.618... will give you the flattest response possible and 0.707.. an exponetial decay of the impulses... After lots of tweaking I have a reverb that works well for both, rooms and large spaces, I also use this as a late stage for a very nice plate reverb for instance, to me it's become a basic building block now. And I found that for some lofty reverbs only 2 APs in two channels in a late stage are sufficient to sustain the sound if its already decorrelated when it enters the loop, when you have the right ratios for the AP delay lengths. /"Don't be afraid if things because they are easy to do"/ - Brian Eno Of course there must be optimal ratios, cause there are also shitty ratios that dont work from the start. And thats why I was curious hwo the RNG approach relates to my current strategy ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach
To get a realistic (or a musical for matter) sounding reverb it will include thousands of listening tests with various test signals - I haven't seen any 'automated' or any particular strategy for tuning reverbs in the wild other than extensive listening tests. The AP delay lines gets longer for each segment when connected in series, but I don't believe I have seen an overall strategy for the ratio and it's not particular important to use primes either. It's obvious that the output taps needs a ping pong behavior. -Original Message- From: music-dsp-boun...@music.columbia.edu [mailto:music-dsp-boun...@music.columbia.edu] On Behalf Of gm Sent: 28. september 2017 16:47 To: music-dsp@music.columbia.edu Subject: Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach And here's how I've been doing it before the RNG approach, I present you: The Go strategy of impulse spacing If the delay loop period is 1, in a first step this places the impulses so that consecutive impulses fall exactly in between already delayed impulses within the first periods, by setting the ratio "a" according to Na mod = a/2 and Na mod 1 = 1 - a/2 for N = 2,3,4... which gives the series a = 2/(2n-1) and 2 = 4/(2n+1) : 2/3, 2/5, 2/7, 2/9... and 4/5, 4/7, 4/9, 4/11... Note that reciprocals work in a similar way. The first delay in this strategy can also be set to a = 1/2 which gives ratios of 0.5, 0.7 and 0.8, or pitch differences of -12, -7.02 and -3.86 semitones. We see the octave is neatly divided by this strategy. With rational ratios like this, the pattern would repeat quickly and impulses would fall exactly on delayed impulses after a few iterations. Therefore we now carefully detune the ratios so that consecutive repetition cycles do not coincide. There are also strategies for detuning and to avoid beating and flanging as well as certain magic numbers which fulfill this and additional criteria. Once a satisfying couple or triplet has been found the ratios can be reused on additional early diffusion stages, scaled by a matching strategy like Schröders 1/3^n scaling. Comments? ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach
I think, this structure you mentioned (2 AP filter + delay and a feedback node) has been investigated by Bill Gardner. I used this structure, too, but it took 4 allpass filter to make it work. But still it has a repetitive sound, which goes away, if the feedback factor approaches 1.0. So, it’s a great structure for massive reverbs, but not for simulating small rooms. Best, Steffan > On 28.09.2017|KW39, at 16:47, gmwrote: > > Once a satisfying couple or triplet has been found the ratios can be reused > on additional early diffusion stages, scaled by a matching strategy > like Schröders 1/3^n scaling. > > Comments? > > ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp