All Buttons In Is Not A Ratio Control
Тәжірибелік нұсқаулар және стиль
Note: the issue I address in this video is fixed in the current version of Reaper. Update video here: • Its Not xxxxxxx Rocket...
In which I finally give in and take a look at the JS 1175 plugin (native to Reaper), and end up hacking away at its code in gleeful ignorance of how it actually works.
If you like this type of content and you want to see it more often, consider signing up for Channel Membership: / @danworrall
Video edited with VEGAS Pro 17:
{affiliate link)
www.vegascreativesoftware.com...
Пікірлер: 235
"if this is a 4:1 ratio, then I'm a cheese toastie" 🤣🤣
@GingerDrums
2 жыл бұрын
I lol'ed at a Trainstation in Bielefeld, Germany.
@fitzeflinger
2 жыл бұрын
@@GingerDrums bielefeld, my hometown! what a great coincidence finding it in the comments!
@nuphory
2 жыл бұрын
@@fitzeflinger ...if it exists at all
@fitzeflinger
2 жыл бұрын
@@nuphory never heard that one before... :|
@nuphory
2 жыл бұрын
@@fitzeflinger really? thats so strange. its a very common joke
Reaper v6.26 changelog: "JSFX: update 1175 compressor and various others to fix overcompression, add deprecated blown capacitor mode to preserve old behavior ".
@NovianLeVanMusic
11 ай бұрын
Interesting, so the behavior present in this video/before the 6.26 update is considered blown out capacitors.
Dan worall is making movies at this point tutorial is an understatement
@MrJC1
3 жыл бұрын
I am going to read something... because i wrote it, and its the truth! "I f*kin love dan worral. He is the best music related youtuber ever... PERIOD!" Thank you. Goodnight!
@raphaelkuttruf
3 жыл бұрын
Dan Worral Productions are EPIC Hollywood is probably part of his backyard
The good thing about Reaper is that they are likely to see this and implement changes in an update.
@jasonzdora
3 жыл бұрын
@@petersamps HAHAHAHA thats so awesome!!
@m13253
2 жыл бұрын
The most recent update allows you to make a copy of a JS plugin inside Reaper now.
@eliteextremophile8895
2 жыл бұрын
@@petersamps did they just change what Dan changed or were there some much more profound problem in the code?
This dude turns audio nerdery into something that should be a feature at an iMax theater
if you want a gain knob that can only go up : here's the modified line for the slider 3 : slider3:0Gain (dB)
@dagamusik
3 жыл бұрын
Would also be right (I mean if I can get same results) if I change slider 1 to: slider1:0Input (dB)
Update: The bugs in this plugin have been addressed in the new pre-release version of the plugin. I suspect that your video helped to make that happen. Thank you for these great videos and information. Your effort, information, and hard work creating these excellent videos is very much appreciated. Keep up the great work.
@Clarity-808
2 жыл бұрын
Coincidence that TinMan is another plugin of theirs, IIRC 😏
If you ever delete this video, we can't be friends.
I have absolutely no idea about compressor design, but I did some testing, and from what I discovered, the code that calculates the gain reduction `gr = -overdb*(cratio-1)/(cratio);` is actually correct. An equivalent formula, that's maybe easier to read would be `gr = -(overdb - overdb*(1/cratio));`, which basically calculates the difference of the uncompressed over-threshold level and the compressed level. The problem is that the value of overdb is roughly twice as big as it should be. Perhaps it has to do with the following line: overdb = 2.08136898 * log(det/cthreshv) * log2db; Edit: Turns out this has been discussed on the reaper forums quite some years ago: forum.cockos.com/showthread.php?t=125584
@StevieBoyesmusic
3 жыл бұрын
Removing that * 2.08...... bit I can make it null with inserting the same value inserted in the GR line, as shown in this video.
@Dan Worrall , I expect the problem isn't with the calculation of ratio (which really, truly should be correct), but with the value of "overdb" which is being multiplied by 2.08136898 (suspiciously close to your 2.1, eh?) on line 84 of the stock version of the plugin (line 10 of the @sample section). Your change accomplishes roughly the same thing as removing that multiplier, I'd think. Being that I wrote that around 15 years ago and haven't touched it since...it's hard to know what I was including that constant multiplier for, but I think that's more than likely the problem. Some of the math in there is condensed down to constants where possible to avoid using expensive functions like LOG() or EXP() if I didn't absolutely have to in the middle of a per-sample loop. A lot of those JS plugins were written as proof-of-concept of things I was working on...and JS is absolutely BRILLIANT for that. Also, like anyone, I learn over time and things I did then may not be the same things I would do now. You live, you learn. Really, REALLY odd that nobody's brought it up before now...or at least nobody brought it directly to MY attention where I could do something about it. I only found this video because someone else pointed it out to me. Always feel free to reach out to me if you have concerns about something I've written - if you don't have my contact information you can file a support ticket or fill out a contact form on the website and I'll be happy to provide it for you. Thank you for bringing it (indirectly) to my attention. :)
@sstillwell
3 жыл бұрын
Reviewing the source code of Rocket compared to 1175, I'm almost completely certain that's the issue. I've reported the same to Cockos if they want to fix it in their distribution, although that would cause a major backwards compatibility issue for existing projects.
@DanWorrall
3 жыл бұрын
Now I feel bad. In my defence, I had no right to expect support for an old JS plugin that's bundled with Reaper... But thanks for chipping in and clarifying, and I promise not to do that again!
@sstillwell
3 жыл бұрын
@@DanWorrall absolutely not a problem...you shouldn't feel bad at all! I wouldn't have known the issue was there unless someone reported it...if you find a problem in something else of mine, please...DO let me know. I just find it somewhat humorous that it's taken THIS long for someone to say something!
@petersamps
3 жыл бұрын
No problem for backward compatibility, as it turns out. The plugin has been updated, and the old settings are listed as "blown capacitor (ratio n) - deprecated" under the ratio dropdown. So the old settings remain, as well as the new ones.
@sstillwell
3 жыл бұрын
@@petersamps yep, talked with Justin at Cockos last night and this morning about it and reviewed his fix before he released it. 👍. Existing projects will use the “broken capacitor” presets and new instances will use the new settings by default.
This is a great argument for learning to code at least a little bit.
Et voila! From the 6.27 changelog, released a couple days ago. " JSFX: update 1175 compressor and various others to fix overcompression, add deprecated blown capacitor mode to preserve old behavior". There you have it. Gotta appreciate the interaction here. It's hard to know for sure, but my hunch is that this wouldn't have gotten changed were it not for this video. Good contribution! ;)
"If this is a 4:1 ratio, then I'm a cheese toasty."
@MontyCraig
3 жыл бұрын
Very toasty indeed!
JSFX effects are mostly user contributed and were included into Reaper distribution many years ago. They are not only meant to be used but also serve as the basis for user hacking, which is what Dan demonstrates (I wish you underlined this point even more - JS are meant to be tweaked!). Even if some of them have some bugs (and all code has), it's hard for Reaper devs to fix them due to obligations to backward compatibility - some Project out there relies on them working in the same way they always did. I believe I was the one who mentioned JS in my comment under the previous video. I'm honoured. Thanks, Dan.
You're the smoothest talking cheese toastie that's ever been. It's always a great day when there's a new Dan Worrall video. Thank you sir!
@sleepCircle
3 жыл бұрын
*I thought this video made it abundantly clear that he is not a cheese toastie.*
Thanks for showing how you dug into the code, it makes all of that seem far more accessible! I had no idea it was that easy to edit things. Fantastic work as always.
There hasnt been a video from Dan that isn't just 100% pure gold.
Dan: we have to go deeper Great video, as always. I love when someone with more know-how gets into plugin details.
I love that outro of Dan pointing out the melody humming it and then going "we'll roll with that" and the full song comes in, it's a small thing but my god that's a good transition.
Will look at this in a few days, but I'm so glad that you are back, sooo much :)
I just watched a video of someone changing the code in software I don’t even use… and enjoyed every second of it.
Yes! More Dan Worrall tutorials! I can't get enough.
Fixed in next reaper release: 6.26rc3 - March 26 2021 + JSFX: update 1175 compressor to fix overcompression, add deprecated blown capacitor modes for old behavior (havent check the code, not sure how it has been fixed, a diff check is needed) Keep reporting ! 😉
@XRaym
3 жыл бұрын
Funny, this bug was alreayd reported at least in 2013, and affects other JS plugins: forum.cockos.com/showthread.php?p=2008836#post2008836 Though, it should all be fixed in nest version. Glad you made a video about this :P
Really good! That's why every time I try use the 1175 I end up going like: nope. With your fix, it sounds well!
I can't express how many ways I find this video fabulous
I loved the hearing the melody in the rhythm
This is not only my favorite Dan Worrall video so far, but one of my favorite videos so far.
Wow. You made the 1175 usable. Thank you very much
This channel is one the best thing I stumbled across on youtube
That bass at the end is mean... Another magnificent video by the almighty Dan Worrall
Brilliant! I'll be doing this tomorrow, always wondered what the devil was wrong with the 1175 plugin
Bro... I was just thinking about the JS 1175 and this video pops up, are you in my head 😳
@Not-Only-Reaper-Tutorials
3 жыл бұрын
ypur phone is spying your brain, your thoughts, your will 🤣🤣🤣
I'm bored... what could I do? Well.... I could open a broken JS software and turn it in a good compressor even without any coding skills! Ok... no problemo, let's do it! :D Only Dan can do this. GENIUS!
Great to see I'm not the only one who mods scripts by guessing how stuff works and changing stuff until it does.
@GrandNebSmada
3 жыл бұрын
Congratulations you can be a professional programmer now
That was really fascinating... thank you!
Best comedy in mix engineering 😂
been thinking for a while to get started looking at vst code and you just inspired me to install reaper paralel to cubase to get started fiddling. thank you so much Dan. br
Yesssss! You did after all! Thanks!
Thanks - sounds like it's worth having a go.
How dare you upload a video when I'm just about to go to bed! ;)
@Ali_Seraj
3 жыл бұрын
and he wants us to stand up and dance ,, let's roll with that
@lh7666
3 жыл бұрын
How dare you even thinking about going to bed when Dan just uploaded a video?!
Yes the video we didnt know we needed!
The king returns!
hey Dan i loved this video. I do a lot of stuff with JS (Especially modifications with stock plugins) I have a specific use case I wanted to share for the weird dynamics of the stock 1175...which is if you are doing some phrase sampling hiphop..you get this awesome ducking sort of sound on your soul samples which makes them pump.
Epic Dan - Thanks so much!
I'm 1k! Wooooh! Never experienced that before! IT'S THE BEST MY MANS! For real tho, this song is awesome! Likin' those side-wobs!
Excellent video; small suggestion: change the pointer design so that it's visible in all background. It's hard to follow a black pointer on a black background 6:00 😁
New Dan Worrall video, dis' gonna b gud! Already liked, now back to watching.
the fact that Justin Frankel himself made a blog post calling himself out on the mistake that he did on the 1175 JS plugin really tells how you should react when addressing criticisms, unlike *cough cough* DARVOing like Harrison team did lmao.
Analog Obsession’s free FETish compressor implements all-buttons-in as a “smash” switch separate from the ratio!
and just after a fiew days I find out that they fixed the JS 1175 and added a "Blown capacitor deprecated" mode.... My god Dan your powerful
this guy also sing ;-), thank you so much Dan, it gets me motivated to learn coding JS now
Beautiful!
Dan's like the man.!
It's an amazing video!
Guess what is in the Reaper update 6.26 notes like 1 week later: update 1175 compressor and various others to fix overcompression, add deprecated blown capacitor mode to preserve old behavior
The tune hacker. Amazing track 🔥🔥
everyone commenting about the technical content and no one is commenting about the sick beat that Dan uses in that video.
Dirty hacker suspense music... Nice hack, Dan! Will try it right now! Thanks!
Craving a cheese toastie now
1:28 “He does get browny points for correctly implementing the Dry/Wet mix slider” I paused the video, died of laughter and continued watching 😂
Maybe a lil late, but Analog Obsession's FETISH compressor plugin is an emulation that separates the Ratio from the All Buttons control with a SLAM button.
@CHEpachilo
Жыл бұрын
FETISH is kinda best 1176 style plugin. It doesn't have all the possible bells and whistles, but it is 1176 with separate slam button and really great SC Eq. Never used other 1176 since I have FETISH
Brilliant.
he actualy used PluginDoctor to heal a plugin
Interesting stuff
😂😂😂 Dan Worrall you are a genius!
dan worrall, an audio engineer and musician who just casually improves the work of a dsp developer xD that's so cool
Bad boy Dan 🔥🔥🙌
sweet hack. thanks, dan! love your vibe and your content. A++++ would do business again
haha song at the end,you are insane Dan! You wipe out ‘real’ hiphop/trap/electronic producers in your every video, not to mention many times with rea plugins. This channel is a real reality check for young hothed producers who think they know something (unfortunatelly myself included)
I felt the same with that plugin. Great hack code.😎
Funny! I've had a look at the code, and line 84 is: overdb = 2.08136898 * log(det/cthreshv) * log2db; No idea what that magic 2.0813... is for, but with what you're telling it sure looks very suspicious.
@DanWorrall
3 жыл бұрын
I have a sneaking suspicion, which I wasn't confident enough to mention in the video. However, 1176 compressors are feedback designs. In order to achieve a 2:1 ratio with a feedback topology you actually need a hard limiter transfer curve internally. Higher ratios, like 4:1 require ducking style transfer curves, just like the unmodified 1175. My guess is that this is actually running as a feed forward design, when that wasn't intended, and the transfer curves are designed for feedback operation. But I'm too lazy to try to untangle the code and see if I'm right.
@alexthi
3 жыл бұрын
@@DanWorrall That's an interesting suspicion. The code really looks like unfinished work to me: there is actually an RMS feature in it, which just lacks a slider on the UI. It takes very few modifications to turn this implementation into a feedback compressor (multiplying maxspl by grv, removing that 2.0813... and setting gr = -overdb*(cratio-1) without the division by cratio). It is a bit glitchy for very short attack times though (
@juneaftn
3 жыл бұрын
2.08136898 = 1/(ln 2)^2
@sstillwell
3 жыл бұрын
After 15 years, I don't know what the 2.08... was for, either. :). But you're correct that that is where the problem is. The ratio calculation is correct. Increasing the denominator of the ratio calculation by 2.1 roughly compensates for overstated calculation of the amount over threshold.
@sstillwell
3 жыл бұрын
@@DanWorrall 1175 is not a direct emulation of an 1176...rather just a compressor with similar VERY fast attack (and less so on release) times. That yields a surprising amount of the "flavor" of an 1176. Writing truly complex code in JS is difficult since all variables are essentially global whether you use functions/subroutines or not. @alexthi is correct about where the main problem you described with the ratio is actually located. I made a comment at the top of the page before I saw these comments. After 15 years it's all a blur anyway. :)
I suspect that if Dan is old enough, then he was that kid in 1980s BBC micro computer lessons at school who'd wait for the teacher to make a statement, then he'd chip in with, "well, actually..." I also suspect that he could correctly interpret the loading sounds of most, if not all ZX Spectrum games.
@DanWorrall
3 жыл бұрын
I'd be a developer now if that was me! Yes I'm old enough, but my dad bought an Acorn Electron rather than anything fun like a Spectrum. I didn't take much of an interest in computers till I bought a second hand Atari ST in the nineties (price: one pint of Guinness).
@MartinvonBargen
3 жыл бұрын
@@DanWorrall Similar story for me with school as I viewed the BBC micros as a source of agony, not fun. I got into programming a bit of BASIC with the Speccy, and did a year at uni too. My mate did a bit of sequencing with his Atari ST an I should have given it a go back then too. Speaking of Guinness, where did you have your first proper pint? Mine was in Flanagan's Apple in Liverpool, but the evening ended in disaster for me. But that's a story for another plugin dissection altogether. 🤪
@DanWorrall
3 жыл бұрын
A pub in Cheadle. Can't remember the name, its long gone. I was about 14 I think...
Dan you have a unbeatable Mr. Spock analyzing logic. This is amazing how you identify coherence and and bring them to the point! Great!
let's roll with that
Bumm bumm bumbumbumm - let’s roll with that
7:14 i fucking spit my drink when I saw this graph
Well I hope you make a part 2 to actually explain all buttons in!
Dan the Mad Man!
to make a backup, just (Windows) press CTRL+A (select all) and then CTRL+C (copy) and then CTRL+V (insert) into a an empty text document and save it... backup done. BUT its just as easy to open in external editor.
Nice one, Dan :) You know, I'd wear a t-shirt with "all buttons in is not a ratio" emblazoned on it.
@scacchomattho
3 жыл бұрын
I'd buy it
@sleepCircle
3 жыл бұрын
me too
This was uploaded on March 23rd and reaper had a new update fixing this by March 29th. Clutch
What I get from seein this compressor work is that it actually is a Negative Ratio compressor, the most extreme way to compress. It works something like this: Let's say you have the threshold at -12 and the signal is peaking at -6. If you set a 2:1 ration the compressor would reduce 3 dB in theory. With a ratio of -2:1 (notice the minus which indicates it's negative), the compressor will reduce 2x times what goes over the threshold, which would be 12 dB. If the ratio was -3:1, the the compressor would reduce 18 dB. And so on.
National Treasure!
Pam pam pam-pam-pam. Oh look, i want more of that song ...
"however, I know for a fact that I've never used the 1175 in anything that matters". I don't think I've ever heard any expert destruction of other experts' tools in my life. Absolutely savage.
Dan: Releases another epic video. Thousands of people: can't wait to copy the code.
not surprised at all
Dammit honestly if in the next video this guy whips out a bunch of resistors and capacitors and builds an EQ on the spot I'd be like "sure, I was expecting that actually"
That last part of this video where you hum out the melody you hear in the drums and then add a strings version of that melody over the rhythm is mind-bogglingly helpful. Thank you.
The plus side for me is I'd completely forgotten about this compressor!
Quite epic
The reason why plugin developers don't put the all buttons in mode near the attack and release settings, is because people are used to the all buttons in mode as an all buttons in mode. Most of us don't even know what it does precisely, we just know when to use it, and that it sounds good.
To everyone who wants to do the same edit to the Macfizz GUI modded version of the Stillwell 1175, It is line 63 in the dkaps.jsfx-inc file that needs to be changed from "/this.cratio;" to "/(this.cratio*2.1);"
@StevieBoyesmusic
3 жыл бұрын
just delete any parts that say, * 2.08............ does the same thing!
You're like the Post 10 of audio processing
What a mind!
8:29 I half expected to hear a random "Harry Potter!" now and then.
Aaaand there's the Reaper update :)
That outro is such a mic drop … #boss
This is, seriously, wildly entertaining and I'll never use that plugin. I have much better, friendlier options that do what I need, but I'm still riveted.
The bass on the last couple of seconds shook my fillings loose...I need to sue for my dentist bill; where is the full track?