Re: [music-dsp] Reverb, magic numbers and random generators

2017-10-16 Thread Alan Wolfe
I was just about to suggest that maybe something like a low discrepancy
sequence could be interesting to explore - such as the golden ratio (which
strongly relates to fib of course!).

On Mon, Oct 16, 2017 at 10:22 AM, Andy Farnell 
wrote:

>
> Bit late to the thread, but if you look around Pd archives you will
> find a patch called Fiboverb that I made about 2006/7. As you surmise,
> the relative co-primality of fib(n) sequence has great properties
> for diffuse reverbs.
>
> Just reading about the proposed Go spacing idea, seems very interesting.
>
> best
> Andy
>
> On Wed, Sep 27, 2017 at 05:00:13PM +0200, gm wrote:
> >
> > I have this idée fixe that a reverb bears some resemblance with some
> > types of random number generators especially the lagged Fibonacci
> > generator.
> >
> > Consider the simplified model reverb block
> >
> >
> >  +-> [AP Diffusor AP1] -> [AP Diffusor Ap2] -> [Delay D] ->
> >  |  |
> >  -<--
> >
> >
> > and the (lagged) fibonacci generator
> >
> > xn = xn-j + xn-k (mod m)
> >
> > The delay and feedback is similar to a modulus operation (wrapping)
> > in that that
> > the signal is "folded", and creates similar kinds of patterns if you
> > regard the
> > delay length as a period.
> > (convolution is called "folding" in Germand btw)
> >
> > For instance, if the Delay of the allpass diffusor length is set to
> > 0.6 times the delay length
> > you will get an impulse pattern in the period that is related to the
> > pattern of the operation
> > xn = xn-1 + 0.6 (mod 1) if you graph that on a tile.
> >
> > And the quest in reverb designing is to find relationhips for the AP
> Delays
> > that result in a smooth, even and quasirandom impulse responses.
> > A good test is the autocorrelation function wich should ideally be
> > an impulse on a uniform noise floor.
> >
> > So my idea was to relate the delay time D to m and set the AP Delays
> > to D*(Number/m),
> > where Number is the suggested numbers j and k for the fibonacci
> generator.
> >
> > The results however were mixed, and I cant say they were better than
> > setting the
> > times to the arbitray values I have been using before.
> > (Which were based on some crude assumptions about distributing the
> > initial impulse as fast as possible, fine tuning per ear and
> > rational coprime aproximations for voodoo).
> > The results were not too bad either, so they are different from
> > random cause the numbers Number/m
> > have certain values and their values are actually somewhat similar
> > to the values I was using.
> >
> > Any ideas on that?
> > Does any of this make sense?
> > Suggestions?
> > Improvements?
> > How do you determin your diffusion delay times?
> > What would be ideal AP delay time ratios for the simplified model
> > reverb above?
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > ___
> > 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
>
___
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

2017-10-16 Thread Andy Farnell

Bit late to the thread, but if you look around Pd archives you will 
find a patch called Fiboverb that I made about 2006/7. As you surmise,
the relative co-primality of fib(n) sequence has great properties
for diffuse reverbs.

Just reading about the proposed Go spacing idea, seems very interesting.

best
Andy

On Wed, Sep 27, 2017 at 05:00:13PM +0200, gm wrote:
> 
> I have this idée fixe that a reverb bears some resemblance with some
> types of random number generators especially the lagged Fibonacci
> generator.
> 
> Consider the simplified model reverb block
> 
> 
>  +-> [AP Diffusor AP1] -> [AP Diffusor Ap2] -> [Delay D] ->
>  |  |
>  -<--
> 
> 
> and the (lagged) fibonacci generator
> 
> xn = xn-j + xn-k (mod m)
> 
> The delay and feedback is similar to a modulus operation (wrapping)
> in that that
> the signal is "folded", and creates similar kinds of patterns if you
> regard the
> delay length as a period.
> (convolution is called "folding" in Germand btw)
> 
> For instance, if the Delay of the allpass diffusor length is set to
> 0.6 times the delay length
> you will get an impulse pattern in the period that is related to the
> pattern of the operation
> xn = xn-1 + 0.6 (mod 1) if you graph that on a tile.
> 
> And the quest in reverb designing is to find relationhips for the AP Delays
> that result in a smooth, even and quasirandom impulse responses.
> A good test is the autocorrelation function wich should ideally be
> an impulse on a uniform noise floor.
> 
> So my idea was to relate the delay time D to m and set the AP Delays
> to D*(Number/m),
> where Number is the suggested numbers j and k for the fibonacci generator.
> 
> The results however were mixed, and I cant say they were better than
> setting the
> times to the arbitray values I have been using before.
> (Which were based on some crude assumptions about distributing the
> initial impulse as fast as possible, fine tuning per ear and
> rational coprime aproximations for voodoo).
> The results were not too bad either, so they are different from
> random cause the numbers Number/m
> have certain values and their values are actually somewhat similar
> to the values I was using.
> 
> Any ideas on that?
> Does any of this make sense?
> Suggestions?
> Improvements?
> How do you determin your diffusion delay times?
> What would be ideal AP delay time ratios for the simplified model
> reverb above?
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> ___
> dupswapdrop: music-dsp mailing list
> music-dsp@music.columbia.edu
> https://lists.columbia.edu/mailman/listinfo/music-dsp


signature.asc
Description: Digital signature
___
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 solution?

2017-10-02 Thread Scott Gravenhorst

music-dsp@music.columbia.edu wrote:
>             D          2D
>|     1     |  2        |
>|     |     |  |  1     |
>|_|_|__|__|_|_
>            g___|  |
>            {__|
>
>            a__|     |
>            {|
>
>So, why is g= ln(2) the best solution?
>
>So far, we haven't scaled g, the ratio of the first "broken echo" to the 
>initial echo, but there is no need to keep that fixed for all allpasses/ 
>echo generators.
>In fact I believe that scaling g, possibly with ~0.382
>will lead to families of optimal results for rooms
>I have no proof for this though, but again its supported by data.
>
>Replacing in the general formula
>
>ratio a = 1 / (N+1-g)
>
>with
>ratio = 1/ (N+1-g^N)
>
>Instead of g=ln(2) we use the simple original Go approach again where 
>g=1/2, we set
>
>ratio= 1/ (N+1 -1/2^(N)) or ratio= 1/ (N+1 -2^(-N))
>
>(wich expands with Laurent series as
>1/(N(1+ln(2)) + ... )
>
>and I think it is somewhere along such lines, scaling g=1/2 with each N
>on a basis 1/2^x or 2^-x where ln(2) comes into play
>
>We now should set N, which defined both the number of echoes and the
>number of the nth echo generator, independently
>
>1/ (N+1 -(1/2)^M)
>
>and set the ratio in respect to the ratio of the next echo generator
>
>(N+2 -(1/2)^(M+1))/ (N+1 -(1/2)^M)
>
>or more general
>
>(N+2 -g^(M+1))/ (N+1 -g^M)
>
>where N is the number of echoes and m is the number of the echo generator.
>
>
>I dont have any math skills to expand on this, and I would love to see 
>some one doing this.
>Or see any other inside or discussion points.
>
>Does anybody follow this?

I am, with great interest.

>Does any of this make sense to someone?

Well, no but that's my fault.


-- ScottG

-- Scott Gravenhorst
-- http://scott.joviansynth.com/
-- When the going gets tough, the tough use the command line.
-- Matt 21:22

___
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 solution?

2017-10-02 Thread gm

    D  2D
| 1 |  2    |
| | |  |  1 |
|_|_|__|__|_|_
   g___|  |
   {__|

   a__| |
   {|

So, why is g= ln(2) the best solution?

So far, we haven't scaled g, the ratio of the first "broken echo" to the 
initial echo, but there is no need to keep that fixed for all allpasses/ 
echo generators.

In fact I believe that scaling g, possibly with ~0.382
will lead to families of optimal results for rooms
I have no proof for this though, but again its supported by data.

Replacing in the general formula

ratio a = 1 / (N+1-g)

with
ratio = 1/ (N+1-g^N)

Instead of g=ln(2) we use the simple original Go approach again where 
g=1/2, we set


ratio= 1/ (N+1 -1/2^(N)) or ratio= 1/ (N+1 -2^(-N))

(wich expands with Laurent series as
1/(N(1+ln(2)) + ... )

and I think it is somewhere along such lines, scaling g=1/2 with each N
on a basis 1/2^x or 2^-x where ln(2) comes into play

We now should set N, which defined both the number of echoes and the
number of the nth echo generator, independently

1/ (N+1 -(1/2)^M)

and set the ratio in respect to the ratio of the next echo generator

(N+2 -(1/2)^(M+1))/ (N+1 -(1/2)^M)

or more general

(N+2 -g^(M+1))/ (N+1 -g^M)

where N is the number of echoes and m is the number of the echo generator.


I dont have any math skills to expand on this, and I would love to see 
some one doing this.

Or see any other inside or discussion points.

Does anybody follow this?
Does any of this make sense to someone?

___
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 solution?

2017-10-02 Thread gm

Am 02.10.2017 um 04:42 schrieb Stefan Sullivan:
Forgive me if you said this already, but did you try negative feedback 
values? I wonder what that does to the aesthetics of the reverb.


Stefan
yes... but it's not recommended for the loop unless it's part of a 
feedback matrix

you get half the modes and basically a hollow tone by that
you can use negative values an the AP coefficients as well which can 
sound quite different

- in reality every reflection is an inversion though
___
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 solution?

2017-10-01 Thread Stefan Sullivan
Forgive me if you said this already, but did you try negative feedback
values? I wonder what that does to the aesthetics of the reverb.

Stefan


On Oct 1, 2017 16:24, "gm"  wrote:

> and here's the impulse response, large 4APs Early- > 3AP Loop
>
> its pretty smooth without tweaking anything manually
>
> https://soundcloud.com/traumlos_kalt/whd-ln2-impresponse/s-d1ArU
>
> the autocorrelation and autoconvolution are also very good
>
> Am 02.10.2017 um 00:45 schrieb gm:
>
> So...
> Heres my "paper", a very sloppy very first draft, several figures and
> images missing and too long.
>
> http://www.voxangelica.net/transfer/magic%20numbers%
> 20for%20reverb%20design%203b.pdf
>
> questions, comments, improvements, critique are very welcome.
> But is it even worth to write a paper about that?, its just plain simpel:
>
> The perfect allpass and echo comes at *1/(N+1 -ln(2)).*
>
> Formal proof outstanding.
>
> And if you hack & crack why it's 1/(N+1 ln(2)) exactly you'll get 76.52 %
> of the fame.
> Or 99.% even.
>
> Imagine that this may lead to perfect accoustic rooms as well...
> Everywhere in the world they will build rooms that bare your name, for
> millenia to come!
> So, yes, participate please. ;)
>
> I assume it has to do with fractional expansion but that paragraph is
> still missing in the paper.
> I have no idea about math tbh.  but I' d love to understand that.
>
>
>
> ___
> dupswapdrop: music-dsp mailing 
> listmusic-dsp@music.columbia.eduhttps://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
>
___
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 solution?

2017-10-01 Thread gm

and here's the impulse response, large 4APs Early- > 3AP Loop

its pretty smooth without tweaking anything manually

https://soundcloud.com/traumlos_kalt/whd-ln2-impresponse/s-d1ArU

the autocorrelation and autoconvolution are also very good


Am 02.10.2017 um 00:45 schrieb gm:

So...
Heres my "paper", a very sloppy very first draft, several figures and 
images missing and too long.


http://www.voxangelica.net/transfer/magic%20numbers%20for%20reverb%20design%203b.pdf

questions, comments, improvements, critique are very welcome.
But is it even worth to write a paper about that?, its just plain simpel:

The perfect allpass and echo comes at *1/(N+1 -ln(2)).*

Formal proof outstanding.

And if you hack & crack why it's 1/(N+1 ln(2)) exactly you'll get 
76.52 % of the fame.

Or 99.% even.

Imagine that this may lead to perfect accoustic rooms as well...
Everywhere in the world they will build rooms that bare your name, for 
millenia to come!

So, yes, participate please. ;)

I assume it has to do with fractional expansion but that paragraph is 
still missing in the paper.

I have no idea about math tbh.  but I' d love to understand that.



___
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 solution?

2017-10-01 Thread gm



Am 02.10.2017 um 00:45 schrieb gm:


Formal proof outstanding.

sorry, weird Germanism, read that as "missing" please
___
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 solution?

2017-10-01 Thread gm

Am 01.10.2017 um 18:35 schrieb gm:

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 )

make that phi^2 = 0.382..ect


For those who didnt follow, after all this I now postulate that

*ratio = 1/ ( N - ln(2) +1) *

with N = number of the allpass delay and ratio the allpass delay length 
ratio in respect to the loop delay


gives the ideal ratios for the smoothest reverb response for allpass 
chains and allpass + delay loops for example like in the combined structure:



[APn]->...->[AP5]-->[AP4]--+-->[AP3]-->[AP2]-->[AP1]-->[Delay]--->
^   |
|   |
<

while other ratios that follow

Na mod 1 = a*g
a = 1 / (N-g)

(lower series)
or

Na mod 1 = 1- a*g
a = 2 / (N + g)

(upper series)

with N the number of the nth impulse and g the times scaling of the 
impulse in respect to the first delayed impulse


are still of interest, for instance with
g = 1/2 and a1,2,3... = a1,2,3... *detunefactor 1,2,3...
and g = 1/golden ratio squared (0.382..)
where an additions of reziprokals like a = 0.5 for the g= 1/2 series or 
a combination

lower and upper series are also possible.

Can some ome explain the result for g = ln(2) and ratio = 1/ ( N - ln(2) 
+1) to me?

Or give a better formula or value?



BTW it doesnt mean it's the "best" reverb, musically, but it seems give 
the smoothest values
For shorter reverbs other values for instance the mixed series with 
~0.5, ~2/3, ~4/5 pluse detuning migt be better.













___
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 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 #3 the lagged Fibonacci

2017-09-29 Thread gm

Am 29.09.2017 um 02:48 schrieb gm:

Another idea is to alter the Go method as follows

instead of

Na mod 1 = a/2

Na mod 1 = a*0.618... and Na mod 1 = 1- a*0.382... respectively

Some observations:

It's the same as 1/(1 + 0.382..) for N=2

This seems to do what Fibonacci does, it fills the line evenly.
This seems good for long term evolution since it's as evenly distributed 
as possible
but bad for short term evolution since it appears as some kind of order 
at first

so it's smooth in the long tail but takes some time to diffuse.
I would prefer a random distribution between pulses at the start.

Recently there where a couple of articles about distribution patterns
like those of cells in the retina, and there is a WP article about that.

But I can't remember what it was called and can't find it.

Does anybody know what I am thinking about?
Maybe that's a starting point...
___
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 #3 the lagged Fibonacci

2017-09-28 Thread gm

Another idea is to alter the Go method as follows

instead of

Na mod 1 = a/2

Na mod 1 = a*0.618... and Na mod 1 = 1- a*0.382... respectively

to get rid of the detuning procedure
a quick listening test seems promising, but I haven't investigated it in 
depth yet





___
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 #3 the lagged Fibonacci

2017-09-28 Thread gm
Now back to the orginal question, why doesn't the scheme that follows 
the lagged Fibonacci generator achieve better results then my "Go" method?


Somehow the analogy between the simplified model

 +-> [AP Diffusor AP1] -> [AP Diffusor Ap2] -> [Delay D] ->
 |  |
 -<--


and the (lagged) fibonacci generator

x[n] = x[n-j] + x[n-k] (mod m)

is flawed, they are not identical but only vaguely similar. If you see 
that at all, I am a pretty fuzzy thinker if you havent noticed yet


But still I belive that optimal j/m and k/m exist, that achieve an even 
better
distribution then the Go scheme, and work by a similar chaos mechanism 
as the RNG does.


Similar to my retuned ratio for 4/5 of -1/(1-SQRT(5)),  j/m and k/m are 
said to be related to the Golden Ratio
(but not identical, and I am not sure hwo) and are somewhat similar in 
magnitude to the ratios usefull in a reverb.


For instance 7/(2^4), 10/(2^4) gives 0,4375 and 0,625

or 1279/(2^11), 418/(2^11) give 0,62451 and 0,20410

and similar, you dont get 0.9 oder 0.1 for instance

So one idea is to find ratios that meet criteria for both schemes, for 
example.


But possibly, since the LFG is desined to give fluktuating magnitudes
and the Go method is designed to give distributed pulses both approaches 
don't match.


I am posting this mostly for inspiration, hoping that some one else will 
find interesting solutions
and insights. I am positive that some one here knows a little bit about 
chaos theorie and things like that.







___
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

[music-dsp] Reverb, magic numbers and random generators

2017-09-27 Thread gm


I have this idée fixe that a reverb bears some resemblance with some 
types of random number generators especially the lagged Fibonacci generator.


Consider the simplified model reverb block


 +-> [AP Diffusor AP1] -> [AP Diffusor Ap2] -> [Delay D] ->
 |  |
 -<--


and the (lagged) fibonacci generator

xn = xn-j + xn-k (mod m)

The delay and feedback is similar to a modulus operation (wrapping) in 
that that
the signal is "folded", and creates similar kinds of patterns if you 
regard the

delay length as a period.
(convolution is called "folding" in Germand btw)

For instance, if the Delay of the allpass diffusor length is set to 0.6 
times the delay length
you will get an impulse pattern in the period that is related to the 
pattern of the operation

xn = xn-1 + 0.6 (mod 1) if you graph that on a tile.

And the quest in reverb designing is to find relationhips for the AP Delays
that result in a smooth, even and quasirandom impulse responses.
A good test is the autocorrelation function wich should ideally be an 
impulse on a uniform noise floor.


So my idea was to relate the delay time D to m and set the AP Delays to 
D*(Number/m),

where Number is the suggested numbers j and k for the fibonacci generator.

The results however were mixed, and I cant say they were better than 
setting the

times to the arbitray values I have been using before.
(Which were based on some crude assumptions about distributing the 
initial impulse as fast as possible, fine tuning per ear and rational 
coprime aproximations for voodoo).
The results were not too bad either, so they are different from random 
cause the numbers Number/m
have certain values and their values are actually somewhat similar to 
the values I was using.


Any ideas on that?
Does any of this make sense?
Suggestions?
Improvements?
How do you determin your diffusion delay times?
What would be ideal AP delay time ratios for the simplified model reverb 
above?




















___
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp