This is an electromechanical tonewheel organ model (Hammond B3/A100/L102). I previously released my L102 sample pack on PianoBooks and included some of my first M4L effects. I've improved my DSP chops quite a bit since then, so I thought it was worth revisiting this and implementing some of the ideas I have come up with since then. Tone Generator: This time, everything is synthetic, there are no samples to speak of. I modelled leakage (simplified, just the 4th octave), keyclick, and foldback. Scanner Vibrato: I have been working on a hardware version of a solid state scanner vibrato for quite some time (more to come on this soon!), so I am pretty well acquainted with the original schematics. I actually already had LTSpice simulations of them, so I wanted to try extracting impulse responses (IRs) of the frequency and phase response at each tap along the LC ladder. This turned out to be far superior than my original method of just naively using signal delays in the crossfeeding sequence. I suppose I could have also tried to model this with the right combination of all-pass filters and delay lines. Eventually, I'd like to figure out how to model this with a Wave Digital Filter, although this would be quite a challenge to implement directly in Max. Rotary Speaker: I also recoded the majority of the Leslie model. A lot of this effort went into cleaning up the model, and making the performance more robust, but I also added IRs for 3 more Leslie models, added a brake mode, added stereo mic placement on the bass rotor, and created a phase parameter so that it is possible to have the treble horn and bass rotor counterrotating relative to each other. Tube Amp: This isn't a perfectly accurate tube amp model, but it seems to do the business for organs. The most commonly associated distortion circuit associated with B3s is the Leslie 122 tube amp. This has a triode preamp stage (even harmonics) and a pentode power amp stage (odd harmonics). Together, they create quite a growly dirty effect that can add a bit of bite or texture. To model this, I opted to use a polynomial waveshaper. An x^4 term provides even harmonics, and an x^7 term produces odd harmonics. The dry signal (x^1) is mixed back in to stabilize the fundamental frequency, and the entire polynomial is nested inside of a hyperbolic tangent function. This controls the output levels by limiting/compressing louder signals so that they never pass unity (-1 to 1 amplitude). It also adds some extra odd order harmonics. I experimented with a stage of my hysteresis model to try and mimic the saturation of the output amplifier, but found it was more trouble than it was worth. Included Files: While the .amxd file SHOULD include all of the assets, I wasn't confident it would load correctly on other people's systems. I am including all of the IRs as well, just in case. They should load if they are in the same directory as the .amxd file (this will have a better chance of working if it is all copied to your default max instrument folder). Also, if you want to use the IRs for anything else, here they are! Notice on Bugs: I did my best to work out all the bugs I could find, but last time I used convolution, it seemed to break on some peoples systems. If anyone encounters and bugs, please let me know and I will do my best to fix them as quickly as possible. This project was a behemoth and took a lot of time, so if you like it, please consider throwing some support my way. That said, if you are thinking donating, I'd also encourage you test it out first to make sure it runs on your machine, then tipping after the fact. I'm also toying with the idea of a better communication medium. Ko-fi is a great service for creators, and very much in the spirit of what I am doing, but it lacks some fundamental features (like a comments section). For now, you should be able to message me directly after a sale (free or paid) if you have any thoughts or feedback. Be well!