Replicate Kilohearts Disperser within MSF, MXXX, etc?

Official support for: meldaproduction.com
RELATED
PRODUCTS

Post

I accidentally stumbled across this the other day:



I don't fully understand what it's doing, but something along the lines of rotating the phase around a given frequency. The video actually provides a terrible example because it's cranked way too high, and completely changes the character of the kick, but I've tried this out now in multiple contexts, and it's pretty amazingly effective in much smaller doses.

It seems to be effectively delaying the lower frequencies on a sort of sliding basis, so similar in some ways to what EDM producers already do by having a pitch dive at the beginning of a kick drum to get those chest thumping punchy frequencies front-loaded into the attack of the sound. It's different, though, compliments such a kick nicely, and in just the right (small) dose, can drop the peak by 2db or so while INCREASING the perceived loudness and imparting an extra sense of motion in that it has a bit of a bouncy character added. It actually improves a 909 style kick in multiple ways AND drops the peak as an added bonus.

A bit of magic really for anyone making that kind of music. Sort of amazed I've never come across this sooner.

Anyway, plug seems simple enough, and I'd really like to be able to pull off this trick within MSF since I have built my own kick drum creating tools in there. Anyone have any insights into whether this could be done with existing modules? (I just need the frequency and amount controls. The pinch isn't helpful for this purpose. I haven't yet found a good use for that.)

Post

Interesting. I can't test right now. But I read the user manual and it says that it is simply an all-pass filter. Did you try using these in Melda EQ?
Jason @ Melda Production

Post

Maybe this'll help :)

Post

I would use FreeformPhase for this as it will offer the most flexibility, however it does have latency. Latency is not really an issue as it is compensated by the host (in most cases) but could be an issue if you want to use it live. The other way to do it would be to stack (in series) multiple all-pass filters. I made a preset in MXXX. Please test it and let me know if it works the same as Disperser.

Code: Select all

$eNrtnVlz2sgahu-9K7p6zmVs1BJrFWIKG5y4KsQak0l8LnWgjVUREmk1scnF-PZTEpvwMjaoGxC8383YWnrR0-1Iyvhr1f98HPrkFxeRFwY2ZWcGJTzohX0vGNh0LO9Oq-TPxkm9c3t7G3EpvWAQkT9syii5CH3fHUW83xn70nNc4Q4-X147bsB9mxrx-kCK0Pe5iNqB+z+f96ebx0LwQDqCR1xetWzamZDpL9E-LS8acRFxQUm778lQdL3f3KasVLI+lKssvbXtRhObVqq1D8WqQcnnm+7I96TkyU5mU1Yrmk83m0m7O+7j58vrcz-s-ZgWb5nPNl7f3flewKfHL7rHJRfRottJb7rc5z3J+44-HniBTY0PjJKuF-SSU7-Nr2vNZGXDoI369Lho-gM5d4MfF+E4kMnxl2Pf-+IOuU0NdsrKlEx-6YT9se8KSq7HcjSWV0GfPzKbnjJKbnjgDuO2MEpukxb9N-65UY8LNgrzerqr6Na9BC-18v19aTrEYPO+tCaBO-R6Ufvnu7tjvNWdP1p8JO9ng25GpzmWYfvnbDQySj55g3vHjaKvkxG36SeHsHh4hA-LbZ+n29a8No36R+GO7hv1UegFksy7d9a9d+NCuz-HruB9Sq5Fn4ukiT9tapxVmDEPRolMGtD0-bg1Sc-NM8tghlmr1UpFixbeLD49w5LTjdLs9HJ5k9OLZnnD05cdfalXVSNDs6wzVilnOb208UWZ9iUeRN177t99up6VWFu9ToXZYGgK7kbxqPGG3m9+Ez5E8VgpNOrNwPUnv7lg1krx3WEYyvuAR1E8OIwSJd+9oB8+zEarGwTxfBP8zvMlF14waNSdpPGXvjuIzm3KioySx1jg1uoVfvmw4tPDCquFNx1j2T5GicPdH9FUBffhw0Xoh+Kb64-5vFuFZb8a9enUG7u+95sL0uy7I+mFQdMfhMKT90ObtvidO-ZlMq3mu89dEdm0SEk3HIseT8qLvKjF77xgdpG+umLA5Qt7GvV5KZeC-xzzoDfpeEHhpc3uY2HewHbwi-vhiJP2l2-OTbvb-mrTatyZ1RbMD3vfFScTm56axktX3kgON1-fZb2XV1JJMamk8FpjCysUYsAr5lxseJe9zQz2ZmvY+3wycqNo9ekCIofIIXKIHCJXIHIrg8hNiBwih8ghcoh89yIvZhC5BZFD5BD50YscIt8DkZcyiLwIkUPkEDlEDpHvXuTlDCIvHbLITQPyhrwhb8h7f+VdySDvMp7CIXKIHCKHyHcv8moGkVcgcogcIofIIfLdi7yWQeRViBwih8ghcoh85yJnRgaR1yByiBwih8gh8t2LPEsKJzNgcpgcJofJYfLdmzxTOifyOWFymBwmh8n3wORZ8jkZEjphcpgcJofJ98DkWRI6GTI6YXKYHCaHyffA5FkyOhlSOmFymBwmh8n3wORZUjpZCSaHyWFymBwm12zywmIh8o1tzyqnlrnpcuvmFpZbL6233jqrbGm9ddy5cOfCnQt3Lty5NL2DVLH0OkQOkUPkEHm+RV7D0usQOUQOkUPkuRa5aWDpdYgcIofIIfJ8i5xh6XWIHCKHyCHyfIvcxNLrEDlEDpFD5PkWuYVl2CFyiBwih8jzLfIilmGHyCFyiBwiz7fIS1iGHSKHyCFyiDzfIi9jGXaIHCKHyCHyfIu8gmXYYXKYHCaHyXNu8iqWYYfJYXKYHCbPuclrWIYdJofJYXKYPN8mtwwsww6Tw+QwOUyec5MzLMMOk8PkMDlMnnOTm1iGHSaHyWFymDzvy7Avjjmpd8a+9BxXuEMuuYgaTzYY6VuCZVEyg50MlwTjRxGORzZtedGIi4gLSj7+fdXuezIUnbDPTZuee4NkY9cdxnMnOSveZdO47Gh+W2kO41oo6Y74bIQklUyPdLjo8UBG8byZt420H+XNdMwmt6obNxjwZNAtDpmWbLBTVianpOkQg5FT0hKTwncuZxUkQ+4-zWfRenAeZtuc5ul8b7VVnf2E-evsrxcWULIiNN+NMBVAuE8IrU0QpgKIdo6wmBHhMoBoRwhLyhCmAoi2ibCsA2EqgFA7wopmhMsAQk0Iq1tDmAogVImwtguEqQDCrAiZsWOEywDCDRGyvUGYCiBcB6G5jwhTAYRvIrT2HOEygPAVhMXcIEwFEKYRlvKIMBVAyMo5R7iMo0KYfIZ6hrByMAhTcVwIq4eIMBVHgLB24AiXcagITeNoEKbisBCyY0SYigNAaB45wmXkFqEFhM8jXwiLQPivkQOEJSB8Z+wtwjIQrh-7hbAChJliDxBWgVBR7AxhDQjVx1YRWgYQao0tIGRAuKXQhhD-OrODUPt3pPEsnCawg+AWQ3F64b8QLC5MjlAZirML30WwNViIHJE5FCcXrkvwevnAjNgsFOcWZiAIy24WilMLlRCEZdcJxZmFqgnCsm+G4sRCjQRh2ZdDcV7hVgjCsulQnFa4bYKwbFNxVuEOCR6rZRUnFe4FweOyrOKcwn0jeASWVZxSuMcED9WyijMKc0HwsCyrOKEwbwQPwLKK8wlzTDCvllWcTngQBPNlWcXZhIdGMAeWVZxMeMAE99WyinMJj4LgfllWcSrhsRHcA8sqziQ8YoK7sqziREIQ3LplFecRguDWLas4jRAEt25ZxVmEILh1yypOIgTBrVtWcQ4hCG7dsopTCEFw65ZVnEEIglu3rOIEQhDcumVXCBaefEHx6ScV2cbfUJx+CvFLKIauP-9qouMFvft1Ppq4OpY67uOyGW+kNbb-IvF--iJsObjOqpWiUTMty2TV6QdKX6nojYS7dNl-R-zSE5GcnZyqbcMKLN0VFHVXUNJdQfkVvhsWV9Hd3qruCmqaK0j+rFhrBUx3BbrnLdM9b5nuect0z1tW1lHB079X0VpBVXcFNc0VmIbuCpjuCkzdFVi6KyjqrqCkuwLdM9nUPZNN3TPZ1D2TLd0z2dI9k631ZvKTVxX29FXFfPqqcmbNwyyV3-XeMpYyDF75-Pvqm8ziq-7P3mZSFRcts1xZeck5n5C7uIdkNG813eiBL4Vm0RIFT8KmnmItPcUW9RRb0lNsWU+xFT3FVvUUW9NSbPr1RGWxemYZ0zPLmJ5ZxvTMMqZnljGFs+yVFwuVxVb1FFvTUqxp6CmW6SnW1FOspafYop5iS3qK1TPLTD2zzNQzy0w9s8zSM8ssPbPMes8se-Lgbj7bEjVO6s2e9H5xR-CIS5L+pct93pOhuAh93x1F8aM2oyR+bk-+d1H9wpV8EIrJleTDq+AuJI4bRQ+h6Ns0rvxiLAQP5OyxPd7SdKYFxy1LVxQ3QozIjSu5TU3aqHdcKbzH1MFi1Dipd5IWm436d68v7zuNejccix4njuB3ni+58ILBvOPzQwrzk07qhc7t7W3EpfSCQdQ4+T9t14vB
Jason @ Melda Production

Post

Held wrote: Sat Jan 30, 2021 9:56 pm Maybe this'll help :)
Interesting.

Unfortunately, the pre-ringing means it won't work for my purpose (kick drum processing).

Good info, though. I really only like the effect at 25% strength or less, so if it can be worked out with one of the other modules with post-ringing instead, should be doable and rather light on CPU.

Post

jmg8 wrote: Sun Jan 31, 2021 10:09 am ...The other way to do it would be to stack (in series) multiple all-pass filters. I made a preset in MXXX. Please test it and let me know if it works the same as Disperser.
It's got a similar zap-ish sound to it, but when I A/B with

1) Same frequency
2) Zero pinch (also tried 0.5 since that's numeric value Disperser shows at lowest setting)
3) Matched "amount" settings (number of 100% enabled AP filters matches 0-32 setting in Disperser)

I notice the following:

Disperser always sounds punchier and louder despite actually having a lower peak. The MXXX version has a softer sounding attack, a more pronounced sweep, and a sort of boxy resonance around the chosen frequency.

I know next to nothing about all-pass filters, but..

I noticed that if I switch the AP filters from the default of 12 db/octave, all those things about it that don't stack up seem exacerbated. If anything, that would make me guess that what I might actually want is 6db/octave, yet the lowest option in the module appears to be 12dB/octave. Is it possible to do a 6dB/octave AP? I tried dropping the Q for each of the AP bands below 0.71, and that does seem to get it a bit closer, though still different for the reasons listed above... which again makes me wonder if lowering the slope isn't the magic ingredient.

Also wondering from a few items mentioned in the video if AP's are subject to the same sort of difference in sound like pre-post ringing that might make a difference if the filter type doesn't match. I'm not hearing pre-ringing here like I do in the video, but wonder if there is some sort of mismatch there between the flavor of AP in disperser vs mxxx.

Video also mentions something about the filter curve needing to be inverted in Melda. Didn't quite follow that, but just wondering if it might be a factor.

EDITED TO ADD: To really understand what's going on with the phase, I tried using different shapes in freeformphase, and so far, it seems that stacking a few of these types of shapes is what emphasises all the right aspects of the kick while dropping the peak:

Image

While I certainly don't have it all worked out yet, it seems to generally be the case that doing this in the chest thump range (100-300 hz) gives it added oomph and provides a free ride on the peak drop whereas doing the inverse (flipping the image upside down) does the opposite with a thinner sound. It also seems to be the case that the gentler the slope the better which is why for now I have it just sloped out to the ends of the spectrum.

Not exactly sure how those concepts map to the AP filters used int he patch.
Last edited by Annabanna on Mon Feb 01, 2021 2:53 am, edited 1 time in total.

Post

Annabanna wrote: Mon Feb 01, 2021 12:53 am Video also mentions something about the filter curve needing to be inverted in Melda. Didn't quite follow that, but just wondering if it might be a factor.
Phase curve* And it *can* have an impact on the result as it's technically ramping frequencies in reverse. That being said, the main culprit here is the "linear phase" (phase-time compensation. because we're manipulating phase it's by definition not linear). Maybe Vojtech would be willing to make a non-compensated version. That would result in post roll, but for percussion post roll is preferable to pre roll.
Software portfolio
M.N.I.E - soon to be my musical portfolio
Hey, I'm Eurydice(Izzy for short) - she/her :hug:

Post

dakkra wrote: Mon Feb 01, 2021 2:31 am
Phase curve* And it *can* have an impact on the result as it's technically ramping frequencies in reverse. That being said, the main culprit here is the "linear phase" (phase-time compensation. because we're manipulating phase it's by definition not linear). Maybe Vojtech would be willing to make a non-compensated version. That would result in post roll, but for percussion post roll is preferable to pre roll.
Doing this with the freeformphase as mentioned above (and pictured) seems to be doing the percussive thing correctly (and sounds absolutely terrible when phase ramps reversed. Done as pictured, its working well enough, in fact that I'm confident spending more time with it will be able to wrangle a sound that beats what's coming out of Disperser.

Is this because the drawn curve is not linear phase compensated? (I'm generally aware of some basic issues of linear phase vs. other types, but only in the context of EQ and audible pre-post ringing). This is my first time drawing any phase curves or dealing with all pass filters.

Post

Annabanna wrote: Mon Feb 01, 2021 3:00 am Is this because the drawn curve is not linear phase compensated? (I'm generally aware of some basic issues of linear phase vs. other types, but only in the context of EQ and audible pre-post ringing). This is my first time drawing any phase curves or dealing with all pass filters.
The issue is that it is compensated. It rolls harmonics backwards in time (thus pre-ring) to make sure the frequency response doesn't change. It's like backwards linear-phase... so linear-frequency? :lol: :hihi: Anyway, if it would roll phase forward (a.k.a no compensating for phase latency a.k.a post-ring) it would sound much closer to Disperser.

Phase response != frequency response. Phase response is about the start or end position of a harmonic, where as frequency response is about the amplitude of a harmonic. They are intimately tied together (difference space/dimension of their parent equations), but are not the same as each other.
Software portfolio
M.N.I.E - soon to be my musical portfolio
Hey, I'm Eurydice(Izzy for short) - she/her :hug:

Post

dakkra wrote: Mon Feb 01, 2021 3:20 am
The issue is that it is compensated. It rolls harmonics backwards in time (thus pre-ring) to make sure the frequency response doesn't change. It's like backwards linear-phase... so linear-frequency? :lol: :hihi: Anyway, if it would roll phase forward (a.k.a no compensating for phase latency a.k.a post-ring) it would sound much closer to Disperser.

Phase response != frequency response. Phase response is about the start or end position of a harmonic, where as frequency response is about the amplitude of a harmonic. They are intimately tied together (difference space/dimension of their parent equations), but are not the same as each other.
I'm sure that will all make more sense to me tomorrow morning after some coffee, but...

... is there any version of any kind of phase adjustment in any melda module that isn't compensated, then?

I hear pre-ringing on freeforphase model above if I go beyond 180 on a single instance, or if I stack more than 4, but within those boundaries it doesn't seem to be wrecking the transient. Definitely interested, though, to hear the difference if I can line up a couple examples next to each other of this trick in action with different filter types, but with all the other variables stabilized.


Just realized too... I've had this solo'd while I've been working on it. Now that it's unsolo'd, I see that it's causing significant latency that Logic isn't compensating for. That can't be good.

Post

I have no idea if 50% of Disperser's amount knob equals 16 all-pass filters. They may have some curve to mage the knob range more usable. So I wouldn't compare them both at 50% for likeness. Try lower values in the version I made, does it get closer? Also 6dB filters do not cause phase shift, so I reckon they are using 12dB too.
Jason @ Melda Production

Post

jmg8 wrote: Mon Feb 01, 2021 1:10 pm I have no idea if 50% of Disperser's amount knob equals 16 all-pass filters. They may have some curve to mage the knob range more usable. So I wouldn't compare them both at 50% for likeness. Try lower values in the version I made, does it get closer? Also 6dB filters do not cause phase shift, so I reckon they are using 12dB too.
Yeah, I'm not necessarily assuming there's a linear relationship to the settings. I spent at least a couple hours doing the best I could to match up low amount settings on each by ear.

It's more a difference in character, though. After dialing in dozens of curves on freeformphase as well, and comparing those to both your MXXX emulation and Disperser, it's seeming more and more like the difference may be pre-ringing. It's not so obvious at the settings I was using since I'm sticking to lower amount values, but that boxy woof becomes more and more obvious as the amount increases, and it's just not there in Disperser.

After spending some time with freeformphase, it seems the ability to create custom curves gets quite a bit closer to pulling off this specific trick than the AP filter fixed shape allows. Mind you, my goal here is not necessarily to replicate Disperser, but if possible to do an even better job of pulling off the kick betterizer trick that it turned me on to.

Specifically, in the 909 kick examples I ran through it, something close to this specific shape seems to give the biggest boost to perceived loudness and punch while actually decreasing the peaks by over 3db.

That's pretty much a goldmine for EDM production, but If you unmute the other two freeformphase modules in the stack, you can clearly hear the percussion killing pre-ringing issues (and that woof). It's just two more of the same instances doing the same thing as the default two, though, so those same issues were already present, but just less audible which leads me to guess that even this simple dual stack would be considerably more effective if it were zero latency or whatever gets rid of that.

A little ringing out of that chest thump crossover frequency AFTER the initial transient could actually be a good thing. BEFORE... not so much.

Code: Select all

$eNrtnVtT2zgUx9-5FBrtPgLxLbcZ251cgGWGFA9pS-qoJifBgyNlJYWQPvSz79jOxQlQCmwpCuf-ZMvyOZJ+4p-jB0b+h9txQm5AqljwgNqHFiXA+2IQ81FAp3p4UKMfwj2-0+v1FGgd85EifwXUpqQluJYiSUCqI86+JTAIqEVJSwqlxA3IjhhAQB1v0CyJvi48+DSfQEAbnCViRElrKiVwHUlQoE-bAe3MSX6jfrRjNQGpQFJyNIi1kN34exrTrZf3q5ZTbD1iah7Qaq2+79VsSs5ifp0N5+yiO0lirSHrZQfUrnreYdVz3HLNqm0-dwJadtxDp1yteHbdsSnpsNuz4-NmIvrXeXLXudN4PhwmMYdsVbox72cXX5ZrWiu7Zcujob9agHTq8+8gHdIdC6GvOCgVUOvQKlNyGfOBmOVL9A-jnIZ+JGEYJxpkzEehH4mYa3KcsJFqBtT2bEpuU3CuZVtOvV4vVyq09FA3b7tbaTN4I7LICqZNSQTsWuXzuhKzlkiE-MKSKWRt6et35xTu+d8YH1jLXfJreJ+8zJBAX8MgSqajmAfU2q+kK5XdqeUFaTJ+3RJTrrN3jqdJ8pGNIaDHEmAo5Di6YgqITck9zZT0sg30NaApvDSUVVpG7m7+KTxx9KF-ItnkinQ5m3wSJzIe9PJJre6-5t2eydpadKtYjlWu1+u26z7czdmIRuYLsr-a+eAnvd3nbspsedLNubHYq4Yn8nUe41tGvibzdR-jW3mMb3M+YUoh6jeP2nsMdRVRv13UpdXvcykrEdK6cproOGKSjUGDVOFWg1XcF65LSRuGbJrorAjJmJ9IMZ0EtFBKnHw+zcvCvAD9KOSYJVlzl43hQsyy9-KHaXS13FONcZqHku4EFrXsIo29uMrfiUD2gWuVkl6Okxzd6ou8Ksr27gXjI0gLB7Lqkudoy3npEvQqtEXDvxt31J5Fs8Vl1DhYttbaNXz+jOd+aQXh9yErCJfcOGQFIRLjkK2FSIxDVhAiMQ5ZQYjMOGRrITLjkBWEyIxDVhAiMw7ZWojMOGQFITLjkBWEyIxDthYiMw5ZQYjMOGQFITLjkK2FyEwWIjNZiMxgITKThchMFiIzWIjMZCEyk4XIDBYiM1mIzGQhMoOFyEwWIjNZiMxgITKT9XJkTcYHxCYHi-9zRHSvqFdA5628GfV-6lXRtUcrj0a9WH8K3fm6yEU9T28AHRrq8-Sm0KGhPkVvFR0a6qMyAB0a6v0yCh0aalGmokND3QV079VQdwrd+zLUXUX3Dgz1HaDbVUN9V+h2y1DfK7odMFREZ6yhIjpjDRXRGWuoiM5YQ0V0xhoqojPWUBGdsYaK6Iw1VERnrKEiOmMNFdEZa6iIzlhDRXTGGiqiM9ZQEZ2xhorojDXUDXSlrdPmto+fs19w3tzmXQ4+inn-6s4Bcz85Vm5zG3XY7XogD+2prbNt013G+PV6jx3Wqp5Vd1zXsWv58X4PZHtqgs8KjmOp9CKCXdjWmOUPZsH1wSyYBbNgFsyCWTALZsEsvyPL1seUvf0x5Wx-TB26SznlyktP8t780DqW8O8UeH9+z2neq7ye61SqG99gzTkZphMkk+Wg6duuwzEmxsSYGBNjYkyMiTEx5u7F3KqrnTstKtzzG30d30AkQYEmxZsuJNDXQrZEkrCJSkthm5K0rE4vQr-FNIyEnJ9qGJ-yoSARU2om5CCgafLWVErgelFWpy2NKA+cjqyYKB2EnJALpiGgDi2Fe34nG50T+pfxQF91Qr8rprIPJJIwjBMNMuaj5SSXXUrLl-b8UqfX6ynQOuYjFe79B3yefWk=

Post

Did you try simply plugin in MAutoDynamicEq and using an allpass filter? Also I remember MStereoSpread creates this artifact (I call this artifact, but sometimes you may want that apparently :D ).
Vojtech
MeldaProduction MSoundFactory MDrummer MCompleteBundle The best plugins in the world :D

Post

I tried the all-pass options on each of the modules that have one within MXXX and MSF since that's where I'm trying to implement this.. so I've used the one in DynamicEQ module if that's the same.

I've found after spending some time, though, that all pass filter is in the ballpark, but isn't actually the ideal shape. Shape pictured below is more finely tuned to the task. Two of these stacked makes typical kick/snare/hat/sub drums punchier and drops peaks by over 3dB. I've even tried it on a few entire drum busses, and it does some wonderful things... but the pre-ringing/artifacts I mentioned earlier become a problem after two are stacked, and make me wonder even if I don't stack more than two if there's a cleaner version of this that keeps a completely clean transient

Does anyone know of any tool (Melda or otherwise) that will allow me to draw phase curve like this without the artifacts I'm hearing when I stack these? Basically just interested in hearing how different filter types affect this shape being applied. (Again, this is a new conversation for me, and I'm sure I'll just end up with DIFFERENT artifacts, but hopefully better suited to clean attack on percussion, so not entirely sure, but I guess that means I'm looking for zero latency version of draw your own curve tool?)

Image
upload a picture to the internet

Post

The preringing is actually what this does. You alter the phase somehow, so the frequencies get dispersed, which smears the transient and some frequencies move before and others after. You could probably use Ratio to switch between the dry and altered version based on dynamics though.
Vojtech
MeldaProduction MSoundFactory MDrummer MCompleteBundle The best plugins in the world :D

Post Reply

Return to “MeldaProduction”