[LAD] Leslie and convolution

2012-07-26 Thread Julien Claassen

Hello everyone!
  I have just asked myself, if it is a good idea to use an IR of a Leslie for 
simulating a Leslie. Correct me, if I'm bloody stupid, but working on the 
basics of convolution, it doesn't look promising. Since you take the IR of the 
Leslie and then apply the full IR to each sample, meaning, that you might get 
more of a whirling reverb? Or is there another technique, to apply an IR and 
cycles. Just one sample of the IR to one sample of the input signal.
  If I am completely wrong, a simple no will suffice. My knowledge of this is 
basic. I've only got some knowledge from a lecture called signal theory' to 
back me up and it should probably be called an introduction to or basics 
of at that. :-)

  Warm regards
 Julien

=-=-=-=-=-=-=-=-=-=-=-=-
Such Is Life: Very Intensely Adorable;
Free And Jubilating Amazement Revels, Dancing On - FLOWERS!

==  Find my music at  ==
http://juliencoder.de/nama/music.html
.
If you live to be 100, I hope I live to be 100 minus 1 day,
so I never have to live without you. (Winnie the Pooh)
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Leslie and convolution

2012-07-26 Thread Florian Paul Schmidt
Convolution with a constant convolution kernel (constant over time) 
gives you the response of a time-invariant system to the input signal. A 
Leslie is clearly not time-invariant..


Flo

On 07/26/2012 06:51 PM, Julien Claassen wrote:

Hello everyone!
  I have just asked myself, if it is a good idea to use an IR of a 
Leslie for simulating a Leslie. Correct me, if I'm bloody stupid, but 
working on the basics of convolution, it doesn't look promising. Since 
you take the IR of the Leslie and then apply the full IR to each 
sample, meaning, that you might get more of a whirling reverb? Or is 
there another technique, to apply an IR and cycles. Just one sample 
of the IR to one sample of the input signal.
  If I am completely wrong, a simple no will suffice. My knowledge of 
this is basic. I've only got some knowledge from a lecture called 
signal theory' to back me up and it should probably be called an 
introduction to or basics of at that. :-)

  Warm regards
 Julien

=-=-=-=-=-=-=-=-=-=-=-=-
Such Is Life: Very Intensely Adorable;
Free And Jubilating Amazement Revels, Dancing On - FLOWERS!

==  Find my music at  ==
http://juliencoder.de/nama/music.html
.
If you live to be 100, I hope I live to be 100 minus 1 day,
so I never have to live without you. (Winnie the Pooh)
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev



___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Leslie and convolution

2012-07-26 Thread Julien Claassen

Hello Flo!
  OK, I'm with you so far. So I suppose, that it is possible to process the IR 
of a time-variant system. The question is: Is it done in any library already 
optimised for the audio domain?

  Thanks and best wishes
   Julien

=-=-=-=-=-=-=-=-=-=-=-=-
Such Is Life: Very Intensely Adorable;
Free And Jubilating Amazement Revels, Dancing On - FLOWERS!

==  Find my music at  ==
http://juliencoder.de/nama/music.html
.
If you live to be 100, I hope I live to be 100 minus 1 day,
so I never have to live without you. (Winnie the Pooh)
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Leslie and convolution

2012-07-26 Thread Florian Paul Schmidt

On 07/26/2012 07:04 PM, Julien Claassen wrote:

Hello Flo!
  OK, I'm with you so far. So I suppose, that it is possible to 
process the IR of a time-variant system. The question is: Is it done 
in any library already optimised for the audio domain?

  Thanks and best wishes
   Julien



I sense a misunderstanding. With a single constant kernel you can only 
model time-invariant systems. A Leslie is NOT time-invariant. I.e. the 
response changes with time (the speaker rotates). So what you could do 
as a workaround would be to get IRs from the Leslie at various 
positions. Then convolve your input signal with each of them and mix the 
outputs together with the mixing coefficients being a periodic function 
of time.. You could probably get away with calculating only a few of the 
convolutions if your mixing coefficients are sparse, i.e. you only 
crossfade between two consecutive (in time) output signals.. (keep in 
mind the window length of the convolution kernel, though)..


It's of course a tradeoff - You need quite a few IRs to make the 
transitions smooth.. But then it's just a matter of hacking some code 
around an existing convolution engine..


But this could be done with shelf solutions

Flo


=-=-=-=-=-=-=-=-=-=-=-=-
Such Is Life: Very Intensely Adorable;
Free And Jubilating Amazement Revels, Dancing On - FLOWERS!

==  Find my music at  ==
http://juliencoder.de/nama/music.html
.
If you live to be 100, I hope I live to be 100 minus 1 day,
so I never have to live without you. (Winnie the Pooh)



___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Leslie and convolution

2012-07-26 Thread Julien Claassen

Hello again!
  So the very short answer would be: It's not been done inany Linux software 
yet.
  Thanks for the explanations. I have thought a little too simple it seems and 
the outcome is what I originally expected. No go. :-)

  Kindly yours
  Julien

=-=-=-=-=-=-=-=-=-=-=-=-
Such Is Life: Very Intensely Adorable;
Free And Jubilating Amazement Revels, Dancing On - FLOWERS!

==  Find my music at  ==
http://juliencoder.de/nama/music.html
.
If you live to be 100, I hope I live to be 100 minus 1 day,
so I never have to live without you. (Winnie the Pooh)
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Leslie and convolution

2012-07-26 Thread Gene Heskett
On Thursday 26 July 2012 13:37:45 Julien Claassen did opine:

 Hello again!
So the very short answer would be: It's not been done inany Linux
 software yet.
Thanks for the explanations. I have thought a little too simple it
 seems and the outcome is what I originally expected. No go. :-)
Kindly yours
Julien

Speaking as a bit of an engineer, to do a Leslie simulation would require 
that something like a bucket brigade be done with the digital data once 
decoded, then setup a pair of taps that would sample the digital from the 
brigade , advancing the signal in time for the speaker nearest the 
listener, and delaying the other half of the mix equally. Then combine it, 
and send it on down the path to the speakers, or perhaps to 2 separate 
speakers, but the 2 speaker approach would add its own artifacts.  What you 
are then building is in essence similar to a comb filter with a variable 
clock speed.

And this effect would only be valid for a stationary listener, because the 
bucket-brigade would have to get longer for the angle being synthesized 
according to where the listener is.  The farther off the centerline, the 
longer the brigade, up to the time lag representing the maximum separation 
of the actual speakers on the Leslies rotating board.  I'm sure some 
curious coder could work out the math, but the bucket-brigade would 
probably have to be done in hardware.  Such IC's are (or were a decade ago) 
available.

Cheers, Gene
-- 
There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order.
-Ed Howdershelt (Author)
My web page: http://coyoteden.dyndns-free.com:85/gene is up!
Most of our lives are about proving something, either to ourselves or to
someone else.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Leslie and convolution

2012-07-26 Thread Julien Claassen

Hi Gene!
  You lost me there. but it's not too important from this point onwards. My 
basic question was aimed at things I think I saw done once or twice and I 
wondered if it was a god idea. There are nice Leslies around no problem there. 
Well nice enough. :-)

  thanks and best regards
 Julien

=-=-=-=-=-=-=-=-=-=-=-=-
Such Is Life: Very Intensely Adorable;
Free And Jubilating Amazement Revels, Dancing On - FLOWERS!

==  Find my music at  ==
http://juliencoder.de/nama/music.html
.
If you live to be 100, I hope I live to be 100 minus 1 day,
so I never have to live without you. (Winnie the Pooh)
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Leslie and convolution

2012-07-26 Thread Robin Gareus
On 07/26/2012 07:00 PM, Florian Paul Schmidt wrote:
 On 07/26/2012 06:51 PM, Julien Claassen wrote:
 Hello everyone! I have just asked myself, if it is a good idea to
 use an IR of a Leslie for simulating a Leslie. Correct me, if I'm
 bloody stupid, but working on the basics of convolution, it
 doesn't look promising. Since you take the IR of the Leslie and
 then apply the full IR to each sample, meaning, that you might
 get more of a whirling reverb? Or is there another technique, to
 apply an IR and cycles. Just one sample of the IR to one sample
 of the input signal. If I am completely wrong, a simple no will
 suffice. My knowledge of this is basic. I've only got some
 knowledge from a lecture called signal theory' to back me up and
 it should probably be called an introduction to or basics of
 at that. :-) Warm regards Julien
 
 Convolution with a constant convolution kernel (constant over
 time) gives you the response of a time-invariant system to the
 input signal. A Leslie is clearly not time-invariant..
 
 Flo
 

You'll want angular dependent convolution
https://ccrma.stanford.edu/~jos/doppler/dafx02.pdf

CCRMA has more publications on that matter.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Leslie and convolution

2012-07-26 Thread Ralf Mardorf
On Thu, 2012-07-26 at 13:49 -0400, Gene Heskett wrote:
 Such IC's are (or were a decade ago) available.

Analog bucket brigade reminds me to ugly delay circuits, we build as
children, with an entertaining noise performance :D. At all events, when
building such a thing use a perfboard to ensure to get as much bad audio
quality as possible. To be serious, there are some old professional
delays based on analog bucket brigade, but using it today IMO isn't
worth the hassle.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Leslie and convolution

2012-07-26 Thread Robin Gareus
On 07/26/2012 07:10 PM, Florian Paul Schmidt wrote:
 On 07/26/2012 07:04 PM, Julien Claassen wrote:
 Hello Flo!
   OK, I'm with you so far. So I suppose, that it is possible to
 process the IR of a time-variant system. The question is: Is it done
 in any library already optimised for the audio domain?
   Thanks and best wishes
Julien

 
 I sense a misunderstanding. With a single constant kernel you can only
 model time-invariant systems. A Leslie is NOT time-invariant. I.e. the
 response changes with time (the speaker rotates). So what you could do
 as a workaround would be to get IRs from the Leslie at various
 positions. Then convolve your input signal with each of them and mix the
 outputs together with the mixing coefficients being a periodic function
 of time.. You could probably get away with calculating only a few of the
 convolutions if your mixing coefficients are sparse, i.e. you only
 crossfade between two consecutive (in time) output signals.. (keep in
 mind the window length of the convolution kernel, though)..
 
 It's of course a tradeoff - You need quite a few IRs to make the
 transitions smooth.. But then it's just a matter of hacking some code
 around an existing convolution engine..

You're pretty much describing
  https://github.com/pantherb/setBfree/blob/master/b_whirl/whirl.c
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Leslie and convolution

2012-07-26 Thread Fons Adriaensen
On Thu, Jul 26, 2012 at 08:14:26PM +0200, Robin Gareus wrote:

 On 07/26/2012 07:10 PM, Florian Paul Schmidt wrote:

  It's of course a tradeoff - You need quite a few IRs to make the
  transitions smooth.. But then it's just a matter of hacking some code
  around an existing convolution engine..
 
 You're pretty much describing
   https://github.com/pantherb/setBfree/blob/master/b_whirl/whirl.c

Crossfading between IRs will not reproduce the Doppler effect
unless the phase response of the two IR that are being cross-
faded is within 90 degrees or so at all frequencies of interest.
Which means you'll need a lot of IRs. So it's more efficient to
separate the filtering and the delay. Once that's done, you can
probably find a parametric description of the filtering in function
of the angle of the driver. It doesn't need to be exact - a lot of
what a Leslie produces is there not by design but by accident.

Ciao,

-- 
FA

A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Leslie and convolution

2012-07-26 Thread Gene Heskett
On Thursday 26 July 2012 16:59:53 Gene Heskett did opine:

 On Thursday 26 July 2012 13:37:45 Julien Claassen did opine:
  Hello again!
  
 So the very short answer would be: It's not been done inany Linux
  
  software yet.
  
 Thanks for the explanations. I have thought a little too simple it
  
  seems and the outcome is what I originally expected. No go. :-)
  
 Kindly yours
 
 Julien
 
 Speaking as a bit of an engineer, to do a Leslie simulation would
 require that something like a bucket brigade be done with the digital
 data once decoded, then setup a pair of taps that would sample the
 digital from the brigade , advancing the signal in time for the speaker
 nearest the listener, and delaying the other half of the mix equally.
 Then combine it, and send it on down the path to the speakers, or
 perhaps to 2 separate speakers, but the 2 speaker approach would add
 its own artifacts.  What you are then building is in essence similar to
 a comb filter with a variable clock speed.
 
 And this effect would only be valid for a stationary listener, because
 the bucket-brigade would have to get longer for the angle being
 synthesized according to where the listener is.  The farther off the
 centerline, the longer the brigade, up to the time lag representing the
 maximum separation of the actual speakers on the Leslies rotating
 board.  I'm sure some curious coder could work out the math, but the
 bucket-brigade would probably have to be done in hardware.  Such IC's
 are (or were a decade ago) available.
 
 Cheers, Gene

I forgot to mention that the tap location up and down the bucket brigade 
would have to be cycled from zero to the max separation at 2x the Leslies 
speaker rpms in a sin wave pattern.  This could be done by keeping the sign 
of the sine and shifting the channels so they would crossover in time with 
the sin being driven with the Leslies normal rpm, the crossover of course 
occurring when the speakers are directly over each other.

It might be a fun exercise to code if our modern cpus are fast enough to do 
the bucket brigade in memory at the sample frequency, for the whole brigade 
needed.  A decent approximation might be done with 8 buckets, but I'd think 
16 or 32 deep would be more accurate for the golden eared, which sadly no 
longer includes me.

Cheers, Gene
-- 
There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order.
-Ed Howdershelt (Author)
My web page: http://coyoteden.dyndns-free.com:85/gene is up!
I'd love to go out with you, but I never go out on days that end in `Y.'
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Leslie and convolution

2012-07-26 Thread Gene Heskett
On Thursday 26 July 2012 17:09:03 Ralf Mardorf did opine:

 On Thu, 2012-07-26 at 13:49 -0400, Gene Heskett wrote:
  Such IC's are (or were a decade ago) available.
 
 Analog bucket brigade reminds me to ugly delay circuits, we build as
 children, with an entertaining noise performance :D. At all events, when
 building such a thing use a perfboard to ensure to get as much bad audio
 quality as possible. To be serious, there are some old professional
 delays based on analog bucket brigade, but using it today IMO isn't
 worth the hassle.
 
Who said anything about analog?.  Those were horrible.  What I had in mind 
is a digital shift register, 16 or more bits wide.  That wouldn't even 
multiply the quantization noise.  Sure two channels of that might add, 
making it 3db worse, but when the two are summed again, that scales right 
back out I believe.

Cheers, Gene
-- 
There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order.
-Ed Howdershelt (Author)
My web page: http://coyoteden.dyndns-free.com:85/gene is up!
Practical people would be more practical if they would take a little
more time for dreaming.
-- J. P. McEvoy
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Leslie and convolution

2012-07-26 Thread Ralf Mardorf
I can't resist: http://www.youtube.com/watch?v=Y5KaeCZ_AaY

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Leslie and convolution

2012-07-26 Thread Ralf Mardorf
On Thu, 2012-07-26 at 17:13 -0400, Gene Heskett wrote:
 On Thursday 26 July 2012 17:09:03 Ralf Mardorf did opine:
 
  On Thu, 2012-07-26 at 13:49 -0400, Gene Heskett wrote:
   Such IC's are (or were a decade ago) available.
  
  Analog bucket brigade reminds me to ugly delay circuits, we build as
  children, with an entertaining noise performance :D. At all events, when
  building such a thing use a perfboard to ensure to get as much bad audio
  quality as possible. To be serious, there are some old professional
  delays based on analog bucket brigade, but using it today IMO isn't
  worth the hassle.
  
 Who said anything about analog?.  Those were horrible.  What I had in mind 
 is a digital shift register, 16 or more bits wide.  That wouldn't even 
 multiply the quantization noise.  Sure two channels of that might add, 
 making it 3db worse, but when the two are summed again, that scales right 
 back out I believe.
 
 Cheers, Gene

Apologize Gene, after sending my mail I already googeld for digital
versions :). However, we agree that analog bucket brigade were a
PITA :).

Best,
Ralf

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Leslie and convolution

2012-07-26 Thread Julien Claassen

Hello Fons!
  Nothing technical really or perhaps it is? but is't accident sometimes a 
huge point of such devices? As far as I remember, it was more or less an 
accident, that the roland TB303 sounded that crappy, same for one guitar 
effects processor of the same era, but exactly these accidents made them, what 
they are today. :-)

  Smart-Aleck-ingly yours
 Julien

=-=-=-=-=-=-=-=-=-=-=-=-
Such Is Life: Very Intensely Adorable;
Free And Jubilating Amazement Revels, Dancing On - FLOWERS!

==  Find my music at  ==
http://juliencoder.de/nama/music.html
.
If you live to be 100, I hope I live to be 100 minus 1 day,
so I never have to live without you. (Winnie the Pooh)
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev