Inflator as an Ableton M4L plugin
-
- KVRist
- Topic Starter
- 314 posts since 20 Feb, 2005
Hi everyone,
As an exercise, I implemented an Ableton Max4Live device that mimics the Inflator plugin. It is, in essence, a soft waveshaper with a parametrised sine-ish curve.
You should find the effect identical except for gui differences, the added gain compensation switch and the multi-band functionality provided through an Ableton rack with separate wet/dry and settable split points which replaces the split band mode.
Compatibility: Ableton 10 and 11. Note: The v1 multiband Rack works in Ableton 10 and up, while the v2 Rack requires Ableton 11.
Files attached in a .zip, have fun! Would be interesting to hear how they worked out for you.
v2.02 June 30th, 2022
* fixed input clipping bug
v2.01 June 25th, 2022
* set initial dry/wet to 0 to avoid immediate jump in volume
v2.0 June 24th, 2022
* added Clip 0 dB switch (engage for hard clip at 0 dB, no signal wrap-over)
* added signal folding in clip off mode
* added switch for gain compensation for the saturation curve applied (note: does not compensate for input/output gain. Use e.g. the Volume Compensator device by LAEX for end-to-end compensation)
* added a few presets to the multi-band rack (Ableton v11)
* added mouse-over documentation
As an exercise, I implemented an Ableton Max4Live device that mimics the Inflator plugin. It is, in essence, a soft waveshaper with a parametrised sine-ish curve.
You should find the effect identical except for gui differences, the added gain compensation switch and the multi-band functionality provided through an Ableton rack with separate wet/dry and settable split points which replaces the split band mode.
Compatibility: Ableton 10 and 11. Note: The v1 multiband Rack works in Ableton 10 and up, while the v2 Rack requires Ableton 11.
Files attached in a .zip, have fun! Would be interesting to hear how they worked out for you.
v2.02 June 30th, 2022
* fixed input clipping bug
v2.01 June 25th, 2022
* set initial dry/wet to 0 to avoid immediate jump in volume
v2.0 June 24th, 2022
* added Clip 0 dB switch (engage for hard clip at 0 dB, no signal wrap-over)
* added signal folding in clip off mode
* added switch for gain compensation for the saturation curve applied (note: does not compensate for input/output gain. Use e.g. the Volume Compensator device by LAEX for end-to-end compensation)
* added a few presets to the multi-band rack (Ableton v11)
* added mouse-over documentation
You do not have the required permissions to view the files attached to this post.
Last edited by el davo on Sat Sep 03, 2022 7:30 am, edited 11 times in total.
-
- KVRist
- Topic Starter
- 314 posts since 20 Feb, 2005
You can certainly get very close with the CM Waveshaper by manually adjusting the curve and comparing to a reference, but there is no way of specifying the transfer function using a precise equation - and certainly not to get a parameter adjustable curve.
However, you can specify precise curves using the free Melda Waveshaper. I used this excellent post over at GS as a starting point for the M4L implementation, and it demonstrates both the identity to Inflator as well as shares a lot of presets for Melda. To use the presets, right click on the curve, then the presets top menu, and then import the presets.
https://www.gearslutz.com/board/showpos ... tcount=118
However, you can specify precise curves using the free Melda Waveshaper. I used this excellent post over at GS as a starting point for the M4L implementation, and it demonstrates both the identity to Inflator as well as shares a lot of presets for Melda. To use the presets, right click on the curve, then the presets top menu, and then import the presets.
https://www.gearslutz.com/board/showpos ... tcount=118
Last edited by el davo on Sun Dec 06, 2020 5:27 pm, edited 1 time in total.
-
thecontrolcentre thecontrolcentre https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=76240
- KVRAF
- 35296 posts since 27 Jul, 2005 from the wilds of wanny
-
- KVRian
- 759 posts since 7 Dec, 2018 from Saint-Petersburg
Just tried it, sounds like Inflator. Thank you!
- KVRAF
- 2255 posts since 21 Nov, 2015
Very useful, indeed!
Thank you.
Thank you.
The art of knowing is knowing what to ignore.
-
Obsolete462444 Obsolete462444 https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=462444
- Banned
- 465 posts since 15 Apr, 2020
Do you mean protection from overshooting peaks, like a true peak function to make sure the signal never exceeds the set ceiling? I guess you could implement that by adding a hardclipping (or close to hardclipping, maybe 95% hard with a small knee setting?) stage to the initial soft-clipping stage. Would that be a solution?
What does the split-band mode do in Inflator?
By the way: cool idea to recreate popular processors in M4L. Maybe you want to join the KVR DC21 and share another creation with the public? KVR DC21 rules say that it must be something you have not released prior to the KVR DC, so a good opporunity for another shot.
-
- KVRist
- Topic Starter
- 314 posts since 20 Feb, 2005
Not quite. In the clip OFF mode it does not flatten the peak but takes the overshooting samples and maps them back down below 0 dB according to a "+50 curve", ie. 2⋅x - x², regardless of what curve is set to (for the signal under 0 dB). The gearslutz post I linked to above has rather detailed info. I used that deduction of the transfer function for this implementation.Kazi7 wrote: ↑Tue May 04, 2021 8:16 pmDo you mean protection from overshooting peaks, like a true peak function to make sure the signal never exceeds the set ceiling? I guess you could implement that by adding a hardclipping (or close to hardclipping, maybe 95% hard with a small knee setting?) stage to the initial soft-clipping stage. Would that be a solution?
It does a multi-band split and processes the bands individually. The splits are roughly around 260 Hz and 2.2 kHz. Rather than solving this in m4l, I wrapped it in an Ableton rack for clean and flexible band splits.
The developer challenge has been very fruitful over the years, it is a great initiative that I am unable to prioritise this year, but appreciate the nudge.Kazi7 wrote: ↑Tue May 04, 2021 8:16 pm By the way: cool idea to recreate popular processors in M4L. Maybe you want to join the KVR DC21 and share another creation with the public? KVR DC21 rules say that it must be something you have not released prior to the KVR DC, so a good opporunity for another shot.
-
- KVRist
- Topic Starter
- 314 posts since 20 Feb, 2005
Update June 24th, 2022, version 2:
* added Clip 0 dB switch (engage for hard clip at 0 dB, no signal wrap-over)
* added signal folding in clip off mode (for signals above 0 dB) behind the scenes
* added switch for gain compensation for the saturation curve applied (note: does not compensate for input/output gain. Use e.g. the Volume Compensator device by LAEX for end-to-end compensation)
* added a few presets to the multi-band rack (Ableton v11)
* added mouse-over documentation
You'll find a new download (v2) attached to the initial post.
The device name has been kept identical, and you should be able to drop-in replace this for the previous version without issue, unless you were driving the device very hard in which case this version will give a different output, as it implements the folding of overshooting signals in the clip off mode
Please do let me know if this works as expected! Thanks.
* added Clip 0 dB switch (engage for hard clip at 0 dB, no signal wrap-over)
* added signal folding in clip off mode (for signals above 0 dB) behind the scenes
* added switch for gain compensation for the saturation curve applied (note: does not compensate for input/output gain. Use e.g. the Volume Compensator device by LAEX for end-to-end compensation)
* added a few presets to the multi-band rack (Ableton v11)
* added mouse-over documentation
You'll find a new download (v2) attached to the initial post.
The device name has been kept identical, and you should be able to drop-in replace this for the previous version without issue, unless you were driving the device very hard in which case this version will give a different output, as it implements the folding of overshooting signals in the clip off mode
Please do let me know if this works as expected! Thanks.