"Leslie" rotating speaker LFO

Started by ElectricDruid, May 21, 2021, 10:17:08 AM

Previous topic - Next topic

ElectricDruid

Quote from: anotherjim on May 22, 2021, 04:24:50 PM
I love the slow down of a Leslie. Pity it can't be made to do it continually without speeding up in between. Or can it? Is there an equivalent of a Barberpole/Shepard tone in a modulation effect?

I suppose something similar would be possible if you were to introduce higher frequency components gradually and then fade them out as they got lower. That's how the Shepard tone works, and there's no reason why a similar thing at modulation frequencies wouldn't also work, but it's worth noting that the introduction and removal of various higher harmonics would make the waveform quite variable. Since the Shepard tone is of much higher pitch, we can't directly perceive the waveshape, only the "timbre" (much more vague!) but at modulation frequencies, you'd hear extra "wobbles" coming in, slowing down and disappearing as other wobbles came in above them. Might be good nonetheless.

I've had fun doing fast switches in one direction and slow ones in the other. So you can do long dramatic slowdowns, and then switch virtually instantly (instantly, if I wanted it that way - I felt 0.2sec was short enough) back to higher frequencies, ready for the next dramatic slow down. That's perhaps a better option for what you wanted.

iainpunk

#21
Quote from: anotherjim on May 22, 2021, 04:24:50 PM
I love the slow down of a Leslie. Pity it can't be made to do it continually without speeding up in between. Or can it? Is there an equivalent of a Barberpole/Shepard tone in a modulation effect?
in Fruity Loops, i programmed in a barber-pole chorus, but it was a pain in the butt to automate 2 parameters on 3 phasers and make it sound organic. iirc i went with sine waves for the depth and sawtooth for the freq. you need atleast 2 that are out of phase to make it sound continuous, i used 3.

cheers

edit: just redid a 2 voice barberpole phaser, i'm sorry for the somewhat corny sounding synth, it was the first preset i randomly clicked on.
https://voca.ro/1oxizJEwzTlK
friendly reminder: all holes are positive and have negative weight, despite not being there.

cheers

ElectricDruid

A few more notes about where I've got to with this.

I ran out of time in my first version of the code (it was a very rough and ready proof-of-concept type thing) so I went back in and rejigged it all. It now calculates LFO samples in blocks of 16, with an output sample rate of 31.25KHz and 10-bit resolution. Plenty good enough for an LFO!!

Following Mark's suggestions, I changed the frequency ranges for the Slow and Fast frequency knobs. The Slow range is now from 0 to 1.6Hz, and the Fast range is 0.8 to 12.6Hz. Rather than have two lookup tables, and since the ranges overlap, I used one big table, and the slow control uses the bottom 4/7ths and the fast control uses the top 4/7ths.
I also spent a long time playing with the control response curve to get a good feel. This is especially difficult when it goes all the way down to zero.
In the end, the control response looks like this:

The response is based on octaves from 128 upwards (so the entire range of the fast control) and is linear from 128 down (so the bottom half of the slow control is linear). This seems to work well.

Mark also suggested I play with log/expo versus linear ramping between the frequencies. I've done this too, and since I based it on the lookup table above, the ramping response is exponential for higher frequencies and then linear when we get to really low stuff. This prevents the low end taking *ages*. There's four octaves between 1Hz and 8Hz, but there's also four octaves between 0.01Hz and 0.08Hz, so if we're *ever* going to down to zero, we need a linear element in the mix!
The response from the graph above gives a nice feel to the ramping up and down.

I added an PWM-driven output LED on the spare pin, because the main LFO output is a voltage output from a DAC and not ideal for driving an LED without more parts.

I've got a question for you all, too. What do you think about tap tempo on such a thing? It'd be possible (tapping would set the tempo of whichever of the two speeds you were in) but it means having three footswitches (effect in/out, Fast/Slow mode, Tap tempo). And how slow should the slowest taps be allowed to be? On the StompLFO, I think it times out after 4 seconds, so you can tap 0.25Hz but no slower. I'm not convinced it's worth it, and I'm wondering if there isn't something better to do with the pin I'd put aside for it (a digital input pin).


garcho

I know everyone is different but as a performing musician of 25+ years, I rarely use tap tempo anything. It might just be me, but I find the skip between old tempo and new tempo jarring, it's sounds like a "mistake" to me. I've heard guitarists incorrectly tap in tempo, or forgot how they set the quantization and all of a sudden the LFO is way off. If that hasn't thrown off the rest of the rhythm section, the tapper still has to bend over and fix whatever went wrong, or sit there tapping until it works. Either way, sucks to be on stage dealing with that.

However, I love the tap tempo pin on your LFO ICs though, because then I can use it for sync, which I do use all the time.
  • SUPPORTER
"...and weird on top!"

Mark Hammer

1) Thanks so much for electing to implement my suggestions, and finding them useful.  That pleases me.

2) When switching between fast and slow is essentially "tap-controlled", I can't see a cogent basis for needing tap-tempo on top of that.  Certainly one reason is that, as a Leslie emulator (and I realize it is not intended to be used ONLY for that), with ramping, any intended speed, established with tap tempo, is fundamentally a relative speed.  I.E. it's X amount faster or slower than the "other" speed.  Here, everything "goes all Heisenberg" on you.  You can't tell how much faster/slower the new speed is if you're listening to the current speed, and you can't hear and set the new speed properly, unless you get to compare it to the "other" speed.

I could sort of see the utility of a completely different arrangement that had one momentary footswitch for speeding up, and a second for slowing down, with amount of deceleration or acceleration depending on how long one holds the corresponding switch down for.  But that's a whole other system.

Like Gary, I'm not a big user of tap-tempo myself.  But even though some folks truly need it, I think in this application it invites more problems than it solves.  Thanks for asking, though.

anotherjim

How about a version of 2 button digital clock time setting method. A tap changes speed by a step in the ramp up or down. Hold the switch on for longer than a tap and it goes into auto ramp until the switch release when it holds where it got to. A knob presets the inertia (rate of auto ramp).


ElectricDruid

The feeling I'm getting here is that the tap tempo probably isn't worth it, but it's quite nice to have a sync input!

Ok, so the feature stays in, if only so that the tempo can be fixed to an external pulse. That avoids the third footswitch too, although it'd be simple to add for anyone that really did want tap tempo.

I'll have to work out what that looks like in the code with the two speeds. Either speed could be set by the control knob or by tap tempo. The previous code keeps track of which is being done, so if you've tapped a tempo, it ignores the control knob until it moves. That'll need doing for two knobs in this version.

Also there's a potential problem with sync, which is that if you had sync pulses coming in, and then switched speeds, you'd finish up with both speeds synced to the same pulse rate. Not very useful. Not sure how you deal with that.


elseif

On the Leslie crossover:

Quote from: Rob Strand on May 22, 2021, 05:49:03 AM
[snip]
Lows work out as f0 = 624Hz, Highs work out as f0 = 1007Hz, so a rough estimate for the crossover would be sqrt(624 * 1007) = 793Hz.    Close enough to 800Hz.
[snip]
It's an 800 Hz crossover, but it's component values don't correspond to modern filter synthesis methods or prototypes (Cheby, Butterworth, etc.). However, they do correspond to filter design methods from an earlier era (m-derived).  In the Leslie crossover, the treble filter is inverted to eliminate the notch that would otherwise occur at the crossover point.



Radio Engineers' Handbook, Terman, F.E., 1943



garcho

That's what you get for putting the word "Leslie" in the title Tom  ;)
  • SUPPORTER
"...and weird on top!"

ElectricDruid

Someone's bound to come along looking for Leslie stuff at some point, and when they find this thread, they'll have the frequencies and times, the crossover frequency, and an LFO chip to put it all together with! It's a little goldmine!

I'm just wondering what circuit to try this thing out in. I've got a Flangelicious board built up that might be interesting, and it shouldn't be too hard to plug the LFO into that. Pity I never built an expression pedal/ CV input into the one I boxed up, since that would have saved me some work.

YouAre

Quote from: anotherjim on May 22, 2021, 04:24:50 PM
I love the slow down of a Leslie. Pity it can't be made to do it continually without speeding up in between. Or can it? Is there an equivalent of a Barberpole/Shepard tone in a modulation effect?

Or...dynamic envelope? Like the trigger from a downward envelope filter.

Rob Strand

QuoteIt's an 800 Hz crossover, but it's component values don't correspond to modern filter synthesis methods or prototypes (Cheby, Butterworth, etc.). However, they do correspond to filter design methods from an earlier era (m-derived).  In the Leslie crossover, the treble filter is inverted to eliminate the notch that would otherwise occur at the crossover point.
There's many reasons for that.   It's more common for crossovers not to match textbook formulas.   The formulas are only used for naive designs or "don't care too much" designs.  Even in terms of textbook stuff you need to consider,
- The outright impedance.    If you have different impedance tweeter and woofer the part values will be different on the two halves.   
- The woofer voice-coil inductance often requires part value changes.

If you account for voice-coil inductance, speaker roll-offs, different distance to the drivers you can end-up with a crossover that looks nothing like a textbook circuit.    The fact the Leslie is rotating puts a spanner in the works as far as distances to the drivers goes.
Send:     . .- .-. - .... / - --- / --. --- .-. -
According to the water analogy of electricity, transistor leakage is caused by holes.

modj


ElectricDruid

Welcome Modj!

Well, the situation is that I'm getting ready to "release this chip into the wild"!

I've been doing a bit of work on it and finishing a few things off, and I also need to finish writing up the documentation for it, and I'd like to do a fully-analog rotary speaker effect circuit as an example application circuit. So there is some work to do still.

The chip itself works well, and I recently added the option to have a sine wave with separate depth controls for the two speeds (so there's a Fast Rate, Slow Rate, Fast Depth, and Slow Depth, and both are ramped gently from one to the other) or alternatively you have only a single Depth control for both settings, but you get a Waveform control that gives you eight waveforms (so Fast Rate, Slow Rate, Depth, and Waveform).

The Tap Tempo or sync feature is out, I'm afraid. It's too complicated to see how it would work with the two speeds. It just doesn't make much sense. Are you syncing the current speed? What happens if you change to the other rate? Does it sync that too, or now it ignores the sync? Should the new rate be whatever it was set to, or should it be relative to the sync? How? There's just too many questions about it.

So instead I've used that pin to select between the two options that I think *will* be more useful. The separate depth controls makes a lot of sense in BBD applications since you don't want the same depth at faster rates - it will produce more pitch shift. So the depth can be reduced to compensate and the overall effect can be maintained.

So...more soon..ish!

:icon_biggrin:



modj

Sound delish allready. can't wait to build this.

Kipper4

Ma throats as dry as an overcooked kipper.


Smoke me a Kipper. I'll be back for breakfast.

Grey Paper.
http://www.aronnelson.com/DIYFiles/up/

ferdinandstrat

Having a chip like that would be awesome

Problem is there is more to rotary emulation than just the LFO, how do you plan to emulate the sound itself? Dual chorus?

ElectricDruid

Quote from: ferdinandstrat on August 13, 2021, 10:18:08 AM
how do you plan to emulate the sound itself? Dual chorus?

For an actual rotary speaker effect, yes, that's exactly what I'd got in mind!

Split the signal at 800Hz, use two chorus circuits to give plenty of swirl and ambience and a bit of pitch shift (so adjust delay times and depth to suit) and have the two Rotary LFO chips set up for the typical Leslie frequencies and ramp times so it sounds pretty authentic.

Of course, that's not the only option, and other people might decide some other circuit is more appropriate or just gives a better sound or whatever.

Beyond that, I want a flanger that speeds up when I stamp on it, and a phaser that slows down and stops when I stamp on it. Both of those sound cool too. Lots of stuff to do with this one!

ferdinandstrat

Quote from: ElectricDruid on August 13, 2021, 01:31:29 PM
Quote from: ferdinandstrat on August 13, 2021, 10:18:08 AM
how do you plan to emulate the sound itself? Dual chorus?

For an actual rotary speaker effect, yes, that's exactly what I'd got in mind!

Split the signal at 800Hz, use two chorus circuits to give plenty of swirl and ambience and a bit of pitch shift (so adjust delay times and depth to suit) and have the two Rotary LFO chips set up for the typical Leslie frequencies and ramp times so it sounds pretty authentic.

Of course, that's not the only option, and other people might decide some other circuit is more appropriate or just gives a better sound or whatever.

Beyond that, I want a flanger that speeds up when I stamp on it, and a phaser that slows down and stops when I stamp on it. Both of those sound cool too. Lots of stuff to do with this one!

You are free to use the schematic I posted for the Korg CX3 thing if you want, I am not sure how close it is to the real deal though

I did notice that flangers come close to that rotary sound more than chorus pedals though

ElectricDruid

Quote from: ferdinandstrat on August 13, 2021, 01:55:46 PM
I did notice that flangers come close to that rotary sound more than chorus pedals though

That implies two things to my mind:

1) We want delays at the shorter end of what would be acceptable for chorus, or into the flanger range
2) Some feedback is probably acceptable or even a good idea (it typically wouldn't be for a chorus).

I can't see any way to determine these details beyond practical experiments. The only trouble with that plan is that different people have different tastes and opinions, so you tend to get several different answers. Basing yourself on some kind of "that's the physics of the situation!" approach gives you a justification outside of "I thought it sounded good".