Old 07-16-2013, 02:10 AM   #1
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default "Retro" compressor released

Greetings,

This is my newest creation with JS. It doesn't try to emulate anything specific in analog domain. But it's eager to take your punishment.

Installation: Copy the folder from the zip into your Reaper effects folder.
Comments are welcome.

Version History:

1.0:
Initial release

1.01:
- Plugin made no sound after loading a project until the gui was opened => fixed.
- Meter behavior changed to corresponding rms.
- Gain range increased. Gain values above 40 change the compressor behavior more to saturating side.

Developed further by notwa:

1.02:

- Significantly refactored code (no changes to sound)
- Smarter knob turning (fixed dragging)
- Resettable knobs (ctrl+click)
- Alternate metering (try clicking)
- More accurate knob turning relative to mouse
- Greater knob precision
- Reduced filesize (optimized png's)

1.03:

- made sample-rate independent
- fixed rounding in knob animation
- moved meter centerpoint downwards
- rewrote metering

DOWNLOAD: https://dl.dropboxusercontent.com/u/.../dsp/VCX1W.zip

Attached Images
File Type: jpg vcx.jpg (27.3 KB, 8953 views)

Last edited by Anomaly; 08-07-2013 at 10:03 AM. Reason: Updated status
Anomaly is offline   Reply With Quote
Old 07-16-2013, 02:17 AM   #2
adaragray
Human being with feelings
 
adaragray's Avatar
 
Join Date: Jan 2012
Location: Bananenrepublik Deutschland
Posts: 307
Default

thank you very much anomaly
i'll give it a try

ummm... nice graphics, i was just about to clean my monitor screen
__________________
www.shallmodule.com
adaragray is offline   Reply With Quote
Old 07-16-2013, 09:48 AM   #3
witti
Human being with feelings
 
witti's Avatar
 
Join Date: May 2012
Posts: 1,216
Default

This is cool ! Thanks !

(Didn't know that JS plugins also accept 'knob stacks'.)
witti is offline   Reply With Quote
Old 07-20-2013, 02:43 AM   #4
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

I had to make a new version to fix a problem with the plugin.. See the first post.
Anomaly is offline   Reply With Quote
Old 07-20-2013, 03:25 AM   #5
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Some nice gain-riding there Thanks!
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 07-20-2013, 04:13 AM   #6
ramses
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,231
Default

Looking good! Gonna have to try this out :-)
ramses is offline   Reply With Quote
Old 07-20-2013, 07:10 PM   #7
marrecords
Human being with feelings
 
Join Date: Dec 2010
Location: Sweden
Posts: 28
Default

Thanks! Will try it out
marrecords is offline   Reply With Quote
Old 07-25-2013, 05:18 AM   #8
Quest The Wordsmith
Human being with feelings
 
Quest The Wordsmith's Avatar
 
Join Date: May 2011
Location: Shaolin => NJ
Posts: 1,213
Default

Has this been posted to the stash? I'm downloading and trying this out today.
__________________
freestylefam.com
Quest The Wordsmith is offline   Reply With Quote
Old 07-25-2013, 10:59 AM   #9
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

Quote:
Originally Posted by Quest The Wordsmith View Post
Has this been posted to the stash? I'm downloading and trying this out today.
Nope. I could post it to the stash at some point but now I keep it here for "beta test" purposes.
Anomaly is offline   Reply With Quote
Old 07-25-2013, 04:26 PM   #10
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
Default

Tried this on a speech recording. It did very well.

Thanks for sharing.
__________________
Using Latch Preview (Video) - Faderport 16 setup for CSI 1.1 , CSI 3.10
Website
"My ego comes pre-shrunk" - Randy Thom
airon is offline   Reply With Quote
Old 07-26-2013, 11:01 PM   #11
jackdied
Human being with feelings
 
jackdied's Avatar
 
Join Date: Dec 2007
Posts: 77
Default

Very simple but sounds really good. Thanks!
jackdied is offline   Reply With Quote
Old 07-27-2013, 01:03 AM   #12
Halma
Human being with feelings
 
Halma's Avatar
 
Join Date: Jun 2013
Posts: 288
Default

Quote:
Originally Posted by Anomaly View Post
....It doesn't try to emulate anything specific in analog domain. ...
This is the reason why I download this.

I am interested in developers own visions of classic concepts. I will give it a try this weekend and because I lack some retro comps this will hopefully be a nice addition to my small comp collection.

Thx for sharing.

Regards
Sebastian
Halma is offline   Reply With Quote
Old 07-31-2013, 08:23 PM   #13
notwa
Human being with feelings
 
Join Date: Jul 2013
Posts: 44
Default

I was bored.
  • Significantly refactored code (no changes to sound)
  • Smarter knob turning (fixed dragging)
  • Resettable knobs (ctrl+click)
  • Alternate metering (try clicking)
  • More accurate knob turning relative to mouse
  • Greater knob precision
  • Reduced filesize (optimized png's)
download

Last edited by notwa; 08-06-2013 at 12:57 AM. Reason: new download link
notwa is offline   Reply With Quote
Old 08-01-2013, 06:13 AM   #14
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

Quote:
Originally Posted by notwa View Post
I was bored.
  • Significantly refactored code (no changes to sound)
  • Smarter knob turning (fixed dragging)
  • Resettable knobs (ctrl+click)
  • Alternate metering (try clicking)
  • More accurate knob turning relative to mouse
  • Greater knob precision
  • Reduced filesize (optimized png's)
Cool,
Pretty comprehensive work you have done here. I See that you have put some serious thought into how to structure everything. I just finished myself the re-coding of better knob turning logic, but ..This may be as well the official download for this plugin.
Anomaly is offline   Reply With Quote
Old 08-02-2013, 06:52 PM   #15
dazastah
Human being with feelings
 
dazastah's Avatar
 
Join Date: Sep 2009
Posts: 119
Default

Nothing major But when I turn both knobs to far right, they disapper.. I'm on a macbookpro 13 inch
reaper64 ..

I like it cause it nice and simple..!!! While give it a full try tonight !!!
dazastah is offline   Reply With Quote
Old 08-05-2013, 04:18 AM   #16
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

Quote:
Originally Posted by dazastah View Post
Nothing major But when I turn both knobs to far right, they disapper.. I'm on a macbookpro 13 inch
reaper64 ..

I like it cause it nice and simple..!!! While give it a full try tonight !!!
Strange it doesn't happen here, but it doesn't mean it couldn't happen. Perhaps you could try the version notwa posted?
Anomaly is offline   Reply With Quote
Old 08-05-2013, 05:37 PM   #17
notwa
Human being with feelings
 
Join Date: Jul 2013
Posts: 44
Default

it's a bad calculation in the knob "animator". it ranges from 0 to 61 which is one more frame than is available, but rounding errors makes it stop at 60 for some of us. I'll upload a fixed version in a bit.
notwa is offline   Reply With Quote
Old 08-05-2013, 08:26 PM   #18
Quest The Wordsmith
Human being with feelings
 
Quest The Wordsmith's Avatar
 
Join Date: May 2011
Location: Shaolin => NJ
Posts: 1,213
Default

Damn, notwa. I'd like to see what else u come up with when ur bored! And thanks, Anomaly, for the plug!
__________________
freestylefam.com
Quest The Wordsmith is offline   Reply With Quote
Old 08-06-2013, 12:06 AM   #19
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

notwa, it might be a good idea to replace the pre-calculated rel timings in all follower() calls with exp(-1/(srate*x)) from @init section. This would ensure that the sound doesn't change when changing sample rate. Perhaps you could include this as well?

Line 65 0.99990 --> exp(-1/(srate*0.23));
Line 69 0.99988663 --> exp(-1/(srate*0.2));
Line 72 0.99886686 --> exp(-1/(srate*0.02));
Line 73 0.99886686 --> exp(-1/(srate*0.02));
Anomaly is offline   Reply With Quote
Old 08-06-2013, 12:52 AM   #20
notwa
Human being with feelings
 
Join Date: Jul 2013
Posts: 44
Default

I did that already, though I used ~0.227 instead of 0.23.
  • made sample-rate independent
  • fixed rounding in knob animation
  • moved meter centerpoint downwards
  • rewrote metering
wishing that the ReaJS VST supported @import so I could split up the DSP and GFX.
I'm putting this on Dropbox for convenience.

download
notwa is offline   Reply With Quote
Old 08-06-2013, 02:32 AM   #21
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

Quote:
Originally Posted by notwa View Post
I did that already, though I used ~0.227 instead of 0.23.
  • made sample-rate independent
  • fixed rounding in knob animation
  • moved meter centerpoint downwards
  • rewrote metering
Thanks, the metering was bad.

// quirk: adds constant gain to envelope (1.9dB?)
// but waveshaper bypasses this

It's purpose is to cause slight upwards compression when input signal/gain is low. Also it is not constant gain. The quieter the input the more it boosts gain.
For example: 1/(input+0.1) is not same as 1/(input+1) * 10, even though they both add gain up to 20dB.

Waveshaper doesn't bypass it, not sure what you mean? If you feed input signal, say -20dB, you'll see that the output is getting higher than input. Turning input gain knob open will sort of bypass it, but still when there is enough low level passages it acts as upwards compression rather than downwards. Of course release time may prevent it doing it, as the compressor may have not enough time to change it's behavior.

// quirks: weird AGC, output gain drives waveshaper

Yes, it's fast and dirty AGC, but does it enough well. Feel free to improve it.
Technically the output gain drives the waveshaper, but it's effect is very minor compared to what input gain does. You can test this yourself by measuring harmonic distortion from the output.

Last edited by Anomaly; 08-06-2013 at 03:03 AM. Reason: typos and mispaced "("
Anomaly is offline   Reply With Quote
Old 08-06-2013, 08:59 AM   #22
notwa
Human being with feelings
 
Join Date: Jul 2013
Posts: 44
Default

I skimmed over the processing and tried noting a few subtleties. seems like I should've inspected it more closely. or omitted the comments entirely, which I considered.

Quote:
Originally Posted by Anomaly View Post
It's purpose is to cause slight upwards compression when input signal/gain is low.
oooh. again, skimming.

Quote:
Waveshaper doesn't bypass it, not sure what you mean?
it's a confusing comment, it doesn't mean much.

Quote:
Originally Posted by Quest The Wordsmith View Post
Damn, notwa. I'd like to see what else u come up with when ur bored!
I wanna say "not much" but I don't know if people will value what I've done. I've picked up the habit of finding intriguing code and seeing how I can rewrite it, and this is my first usable result from such endeavors. I may as well mention I've been lurking here for years but never had anything to post.
notwa is offline   Reply With Quote
Old 08-06-2013, 04:22 PM   #23
B.A.TECH.
Human being with feelings
 
Join Date: Apr 2013
Posts: 38
Default

Hi!

I really love it! Snappy! With bass it's awesome.

How can i change vu meter stick's color?
B.A.TECH. is offline   Reply With Quote
Old 08-07-2013, 10:10 AM   #24
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

Quote:
Originally Posted by notwa View Post
I skimmed over the processing and tried noting a few subtleties. seems like I should've inspected it more closely. or omitted the comments entirely, which I considered.
No problem. I just felt I need to explain them.
If you happen to be interested in working with my other projects please let me know.

I have edited the first post to reflect the current status of this effect.
Anomaly is offline   Reply With Quote
Old 08-07-2013, 10:15 AM   #25
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

Quote:
Originally Posted by B.A.TECH. View Post
Hi!

I really love it! Snappy! With bass it's awesome.

How can i change vu meter stick's color?
Thanks,

Line 273: rgb(0.890, 0.078, 0.094)
By editing the the rgb values you can change the color to your liking. Colors of alternate VU mode are above that.
Anomaly is offline   Reply With Quote
Old 08-07-2013, 11:26 AM   #26
B.A.TECH.
Human being with feelings
 
Join Date: Apr 2013
Posts: 38
Default

Thanks!I made something like this.

B.A.TECH. is offline   Reply With Quote
Old 08-19-2013, 12:45 PM   #27
bwsd
Human being with feelings
 
Join Date: May 2011
Location: KZ ALA
Posts: 110
Default

Cool.
bwsd is online now   Reply With Quote
Old 08-27-2013, 04:15 PM   #28
reapercurious
Human being with feelings
 
reapercurious's Avatar
 
Join Date: Jul 2007
Posts: 1,890
Default

those rack screws don't look like they will hold all the weight, i would be worried about the aluminum faceplate bending on the corners from the stress from the power supply. how deep does the unit protrude into the virtual equipment rack from the faceplate?
reapercurious is offline   Reply With Quote
Old 02-20-2015, 11:54 PM   #29
Badmotor
Human being with feelings
 
Join Date: Aug 2011
Posts: 221
Default

Man, I've just been using this compressor on projects in the last couple of days and I really like it for smoothing over a few instruments.

Have an issue though: about every 1 in 8 times I open a project, the input gain is back at zero when it has previously been set to another value. Because it is so intermittent I thought that I was imagining things at first - doesn't help that I can't replicate it to show you guys.

Anyone else notice this?
Badmotor is offline   Reply With Quote
Old 02-21-2015, 01:40 AM   #30
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

Bummer, I have not seen this behavior here.
I assume it can reset whatever position you saved it?
Do you know if it also resets output gain knob?
__________________
___________________________
Sonic Anomaly | free JSFX & VST Plugins
Anomaly is offline   Reply With Quote
Old 02-21-2015, 02:10 AM   #31
Badmotor
Human being with feelings
 
Join Date: Aug 2011
Posts: 221
Default

Quote:
Originally Posted by Anomaly View Post
Bummer, I have not seen this behavior here.
I assume it can reset whatever position you saved it?
Do you know if it also resets output gain knob?
Not sure what you mean by the reset question.

But yeah, something is definitely going on - I just opened a project I had been working on and it had 3 instances of Retro in it and everyone of them had gone back to zero on both the input and output knobs.

Using OSX 64 bit Reaper. Shame... I like the sound of this little guy.
Badmotor is offline   Reply With Quote
Old 02-21-2015, 02:42 AM   #32
Badmotor
Human being with feelings
 
Join Date: Aug 2011
Posts: 221
Default

Aha! I think I have replicated it.

I had a bunch of instances over several tracks and opening and closing the project... no problems so far.

Then I BYPASSED one of the plugins, closed/re-opened the project and bingo! All the instances reset to zero.

Does that help?
Badmotor is offline   Reply With Quote
Old 02-21-2015, 03:58 AM   #33
Badmotor
Human being with feelings
 
Join Date: Aug 2011
Posts: 221
Default

Dammit.

Actually, that doesn't seem to be the only thing causing it. Back to square one again. I should I say 'square zero'.
Badmotor is offline   Reply With Quote
Old 02-22-2015, 01:23 AM   #34
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

I meant that does the reset happen on certain gain or output knob positions (values) that you save your project with. But I assume it doesn't matter.
This sounds like serialize section fails to run correctly from time to time. It's the best guess at the moment. If you find a pattern to reproduce, let me know.
__________________
___________________________
Sonic Anomaly | free JSFX & VST Plugins
Anomaly is offline   Reply With Quote
Old 02-22-2015, 02:27 AM   #35
Badmotor
Human being with feelings
 
Join Date: Aug 2011
Posts: 221
Default

Quote:
Originally Posted by Anomaly View Post
I meant that does the reset happen on certain gain or output knob positions (values) that you save your project with. But I assume it doesn't matter.
This sounds like serialize section fails to run correctly from time to time. It's the best guess at the moment. If you find a pattern to reproduce, let me know.
Yeah, gain values don't seem to matter. I'll keep an eye on it.
Badmotor is offline   Reply With Quote
Old 11-12-2017, 07:00 PM   #36
kodebode
Human being with feelings
 
Join Date: Feb 2009
Posts: 11
Default

Please point me to where I can get a copy of this js compressor.

It's no longer available via the aforementioned download links.
kodebode is offline   Reply With Quote
Old 11-12-2017, 07:57 PM   #37
crimsonmerry
Human being with feelings
 
crimsonmerry's Avatar
 
Join Date: May 2013
Location: Jakarta, Indonesia
Posts: 190
Default

Quote:
Originally Posted by kodebode View Post
Please point me to where I can get a copy of this js compressor.

It's no longer available via the aforementioned download links.
http://sonic.supermaailma.net iirc, this plugin has been replaced with S.LA.X
crimsonmerry 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 09:46 AM.


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