Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach

2017-10-01 Thread gm



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

2017-10-01 Thread gm

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

2017-09-30 Thread 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 

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

2017-09-29 Thread gm



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

2017-09-29 Thread gm

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

2017-09-29 Thread gm
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

2017-09-29 Thread 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

Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach

2017-09-29 Thread gm


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

2017-09-29 Thread 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

Re: [music-dsp] Reverb, magic numbers and random generators #2 the Go approach

2017-09-28 Thread gm

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

2017-09-28 Thread gm



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

2017-09-28 Thread 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.


-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

2017-09-28 Thread STEFFAN DIEDRICHSEN
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, gm  wrote:
> 
> 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