Old 09-10-2021, 10:42 AM   #1
Darkhorse
Human being with feelings
 
Join Date: Nov 2020
Location: Monterrey, Mexico
Posts: 17
Default Adding a GR meter to JS Major Tom

Hello everyone!
I would like to add a gain reduction meter to the included Major Tom JS plugin. I tried copying and pasting all the "@gfx" part and variables from the 1975 compressor to no avail. Having very little experience with coding, what steps must I follow to achieve this?

FWIW after pasting the gfx section from 1975, a recompiling error screen showed up reading: "@sample:166: syntax error: '@gfx 0 32 // description etc...' though I copied and pasted the exact same thing.

Thanks!
Darkhorse is offline   Reply With Quote
Old 09-11-2021, 08:48 AM   #2
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
Default

JSFXes are recompiled each time they get loaded in a project.

Hence if you can load without an error message, it is ready to use.
-Michael
mschnell is online now   Reply With Quote
Old 09-11-2021, 03:52 PM   #3
Darkhorse
Human being with feelings
 
Join Date: Nov 2020
Location: Monterrey, Mexico
Posts: 17
Default

I couldn't get rid of the error message every time I opened the plugin, which I tried to use with several different instruments. Furthermore, I had to delete everything I pasted from the 1175's GFX, as it somehow disabled the plugin completely (it had no effect on the audio, no matter the settings).

Now that it is practically the same as before, what must be added to the code in order to add a GR meter? What should I pay attention to, or be careful not to mess up?
Darkhorse is offline   Reply With Quote
Old 09-11-2021, 04:26 PM   #4
ashcat_lt
Human being with feelings
 
Join Date: Dec 2012
Posts: 7,271
Default

There's a couple of lines in @init that have variables that include "meter" which you need. Then there's a line toward the end of the @sample section which uses those values, and you need that. Then it actually seems to work just fine. When you first save it, the window won't be big enough to show the meter, because it was sized before there was a meter, so you have to drag the bottom of the window down.
ashcat_lt is online now   Reply With Quote
Old 09-11-2021, 04:48 PM   #5
Darkhorse
Human being with feelings
 
Join Date: Nov 2020
Location: Monterrey, Mexico
Posts: 17
Default

Thanks for the quick reply. I just copied and pasted every variable related to metering, placing it in a similar place as the original, and the same recompiling screen appears, citing the same "syntax error" in @gfx, now marked red. Any idea what could be causing it? I did not modify a single line.

EDIT: Scratch all that, all I had to do was deleting spaces behind the @ sign, the meter is now there!! Thank you so much
Darkhorse is offline   Reply With Quote
Old 09-12-2021, 08:12 AM   #6
ashcat_lt
Human being with feelings
 
Join Date: Dec 2012
Posts: 7,271
Default

Quote:
Originally Posted by Darkhorse View Post
...all I had to do was deleting spaces behind the @ sign...
I actually had that same problem! I guess I never realized that those section markers needed to be right at the start of a line before, but also I’m not exactly sure where the spaces even came from.
ashcat_lt is online now   Reply With Quote
Old 09-12-2021, 11:18 AM   #7
dug dog
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,798
Default

This is so cool. A relatively simple edit makes this compressor much more useful to those of us still learning to "use our ears." I'm surprised it hasn't been done before and there's, at least, 1 more JS comp that would benefit from the same treatment.

I don't know if there's a proper method to add this to the official build or not.
dug dog is offline   Reply With Quote
Old 09-12-2021, 01:34 PM   #8
Darkhorse
Human being with feelings
 
Join Date: Nov 2020
Location: Monterrey, Mexico
Posts: 17
Default

Quote:
Originally Posted by dug dog View Post
This is so cool. A relatively simple edit makes this compressor much more useful to those of us still learning to "use our ears."
Agreed!

I just noticed that the same constant of 2.08... that caused the 1175 to over compress the signal is also present in here. It is not implemented with the same variables as the '75, but I wonder if it also affects the processing negatively. I just deleted it and noticed no major difference in sound... What do you think?
Darkhorse is offline   Reply With Quote
Old 09-12-2021, 01:58 PM   #9
dug dog
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,798
Default

Quote:
Originally Posted by Darkhorse View Post
What do you think?

Good question. I know almost nothing about coding and it was somewhat miraculous that I was able to get the GR meter going in Major Tom.
dug dog is offline   Reply With Quote
Old 09-12-2021, 02:17 PM   #10
elcalen
Human being with feelings
 
elcalen's Avatar
 
Join Date: Sep 2019
Location: Finland
Posts: 765
Default

Quote:
Originally Posted by Darkhorse View Post
Agreed!

I just noticed that the same constant of 2.08... that caused the 1175 to over compress the signal is also present in here. It is not implemented with the same variables as the '75, but I wonder if it also affects the processing negatively. I just deleted it and noticed no major difference in sound... What do you think?
I'm pretty sure Major Tom and several other JS compressors were supposedly fixed at the same time 1175 was last spring.
elcalen is online now   Reply With Quote
Old 09-13-2021, 05:58 AM   #11
dug dog
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,798
Default

That was my understanding but, according to this thread, maybe not.


https://forum.cockos.com/showthread.php?t=251251&page=2
dug dog is offline   Reply With Quote
Old 09-13-2021, 07:37 AM   #12
elcalen
Human being with feelings
 
elcalen's Avatar
 
Join Date: Sep 2019
Location: Finland
Posts: 765
Default

Well, doing a quick test running a 0db test tone through Major Tom, it doesn't look like it's over-compressing, anyway. At ratio 2:1 the volume goes down by about half of the threshold, which I think is correct. Choosing the 'overblown capacitor' knee options causes way more compression, those should be the pre-fix versions.
elcalen is online now   Reply With Quote
Old 09-13-2021, 09:22 AM   #13
Darkhorse
Human being with feelings
 
Join Date: Nov 2020
Location: Monterrey, Mexico
Posts: 17
Default

I tested the different options within the plugin, and found that peak detection + feedback mode needs a much lower threshold to start compressing (used with a drum bus), and the release behaves kinda strange. I don't know what the topology of the original dbx 160 is, so maybe this behavior is normal, but RMS + feedforward detection works a lot better for me, specially after removing that strange constant...

What are your go-to settings for this particular compressor?
Darkhorse is offline   Reply With Quote
Old 09-14-2021, 05:48 AM   #14
dug dog
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,798
Default

Quote:
Originally Posted by Darkhorse View Post

What are your go-to settings for this particular compressor?

I've never used it before and I suspect that the same could be said for most Reaper users.

(I have started to use 1175 recently due to the attention it got in the recent Dan Worrall vid.)
dug dog is offline   Reply With Quote
Old 09-14-2021, 06:15 AM   #15
elcalen
Human being with feelings
 
elcalen's Avatar
 
Join Date: Sep 2019
Location: Finland
Posts: 765
Default

Quote:
Originally Posted by dug dog View Post
I've never used it before and I suspect that the same could be said for most Reaper users.

(I have started to use 1175 recently due to the attention it got in the recent Dan Worrall vid.)
Ditto.
elcalen is online now   Reply With Quote
Old 09-14-2021, 06:55 AM   #16
Darkhorse
Human being with feelings
 
Join Date: Nov 2020
Location: Monterrey, Mexico
Posts: 17
Default

Ohh okay, have you ever used a dbx 160 style comp? I just never really gotten the hang of it, and between stock REAPER compressors I tend to favor the 1175 on drums and bass :P
Darkhorse is offline   Reply With Quote
Old 09-14-2021, 07:19 AM   #17
dug dog
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,798
Default

I have no experience or knowledge of dbx160 other than what I've read.

The guy who created this JS Comp produced a VST version of Major Tom that appears to be well regarded on Gearspace (formerly Gearslutz.)
dug dog is offline   Reply With Quote
Old 04-05-2022, 11:33 PM   #18
Bombs'n'Away
Human being with feelings
 
Join Date: Mar 2017
Posts: 90
Default

I had the very same question as the OP. How do I add a GR meter to JS Major Tom compressor? Search brought up this thread and I hope it is okay that I resurrect it, since there's actually no clear description of how it can be done.
It says there are variables at @init and at @sample, but what do I need to do with these? Can someone post a fool proof and complete description please, or share the code of Major Tom with GR meter?
Bombs'n'Away is offline   Reply With Quote
Old 04-09-2022, 11:54 PM   #19
Bombs'n'Away
Human being with feelings
 
Join Date: Mar 2017
Posts: 90
Default

Excuse double post please. Can you guys who know the answer please jump in, @ashcat_lt and @Darkhorse? You mentioned that you succeedeed but didn't post the exact solution.
Bombs'n'Away is offline   Reply With Quote
Old 04-11-2022, 03:38 AM   #20
dug dog
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,798
Default

I can't guarantee that I've done this 100 percent correctly, as I know nothing about coding, but it seems to work. If you compare it, line by line, to the original Major Tom, you should be able to see the changes.
Attached Files
File Type: txt majortom GR meter.txt (6.1 KB, 69 views)
dug dog is offline   Reply With Quote
Old 04-11-2022, 09:47 AM   #21
Bombs'n'Away
Human being with feelings
 
Join Date: Mar 2017
Posts: 90
Default

Quote:
Originally Posted by dug dog View Post
I can't guarantee that I've done this 100 percent correctly, as I know nothing about coding, but it seems to work. If you compare it, line by line, to the original Major Tom, you should be able to see the changes.
Thanks a lot! Can't test it at work right now but looking forward to doing so later.
Bombs'n'Away is offline   Reply With Quote
Old 04-11-2022, 11:29 AM   #22
Bombs'n'Away
Human being with feelings
 
Join Date: Mar 2017
Posts: 90
Default

It seems to work fine! Thank you, @dug dog.
This GR version also made clear to me why I never liked using the JS version of Major Tom: I often found it hard to set the threshold.
This GR meter version I just put on a drum track which is constantly peaking between -12 and -10. In order to get 2-3dB of compression, I have to set the threshold to -22. I would expect having to set it at about -14 to get me the desired result. So why does Major Tom require me to set the threshold 8-10 dB lower than the actual audio source is peaking to get slight reduction going?
Bombs'n'Away is offline   Reply With Quote
Old 04-11-2022, 12:52 PM   #23
dug dog
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,798
Default

Good question. I was hoping that some other users, who actually know what they're doing would chime in, as I'm way out of my depth with this stuff. And, as I said, there's no guarantee that I implemented the GR meter correctly.

In the mean time, you might try the demo version of the similar comp from Stillwell Audio to see if it exhibits the same behavior. (I think Scott Stillwell was the guy who originally coded the JS Major Tom, but I could be wrong.)

https://www.stillwellaudio.com/plugi...nt-compressor/
dug dog is offline   Reply With Quote
Old 04-11-2022, 05:46 PM   #24
ashcat_lt
Human being with feelings
 
Join Date: Dec 2012
Posts: 7,271
Default

The detector level is integrated over attack and release and whatever RMS window it might use. In any compressor, unless that is compensated for, any A/R will tend to skew the input level vs GR calculations. Also, feedback compression is very much like parallel compression, and when you do that, the relationship also gets lets linear.

Edit - That is all to say that the sample-to-sample gain reduction is not really directly related to the sample-to_sample input levels.
ashcat_lt is online now   Reply With Quote
Old 04-29-2022, 12:05 AM   #25
Bombs'n'Away
Human being with feelings
 
Join Date: Mar 2017
Posts: 90
Default

Quote:
Originally Posted by dug dog View Post
Good question. I was hoping that some other users, who actually know what they're doing would chime in, as I'm way out of my depth with this stuff. And, as I said, there's no guarantee that I implemented the GR meter correctly.

In the mean time, you might try the demo version of the similar comp from Stillwell Audio to see if it exhibits the same behavior. (I think Scott Stillwell was the guy who originally coded the JS Major Tom, but I could be wrong.)

https://www.stillwellaudio.com/plugi...nt-compressor/
I'm happy with your GR meter version. Sometimes the meter doesn't show anything when making excessive use of the threshold slider, but it starts working again when I re-open the plugin window.

I was about to purchase the VST versions of some of Stillwell's plugs last year and demo'ed them all. Unfortunately, they showed very weird behaviour, especially 1073 and that other vintage EQ. Peaks that caused Reaper to auto-mute. Something was going nuts with at least one of the compressors, too. I emailed him and he said he thought these bugs were long fixed but he will definitely have them fixed by version 1.3 (or so) which he was currently working on back then. Honestly, I never checked whether these flaws got fixed meanwhile, several months later.
I like the JS versions cause the Reaper community is keen on keeping them working properly, plus upgrades like the GR meter make them really fun to use.
Bombs'n'Away is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 12:52 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.