[LAD] Leslie and convolution
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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