|
|
|
03-05-2019, 02:55 PM
|
#201
|
Human being with feelings
Join Date: Nov 2013
Location: BUENOS AIRES
Posts: 125
|
Very welcome addition!
I'd known this approach of Auto-Gain Compensation from the Tokyo Dawn Labs plug-ins (they call it Equal Loudness, including an Equal-Loudness bypass button) and it's just terrific. It's on by default in every mix that I do.
Congratulations nitsuj! and thank you!
|
|
|
03-05-2019, 03:36 PM
|
#202
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
|
You both are awesome, thanks a lot for the update!
|
|
|
03-05-2019, 09:46 PM
|
#203
|
Human being with feelings
Join Date: Jun 2014
Location: Ohio
Posts: 978
|
Quote:
Originally Posted by nitsuj
New version of ReEQ available from the first page.
New feature: Automatic Gain Control (AGC).
Toggled by clicking the 'AGC' button on the bottom button row. When toggled on, ReEQ will attempt to match the output gain with the input level. A small button with 'S' (for Set) appears next to the AGC button when toggled on. Pressing this 'S' button will set ReEQ's master volume to the matching value and disable AGC once more. To cancel AGC mode simply click the AGC button again.
This is a tool to help avoid the 'lounder = better' effect. Using AGC the volume of the output audio after EQing should be close to the loudness of the audio before EQing. Of course, after hitting the 'S' AGC button to set the ReEQ master volume, you're quite free to manually adjust.
Big props to Sai'ke as I used the same method for AGC that he uses in Filther (which is just....awesome!)
|
Thank you, I can't wait to sink my teeth into this plugin. I only just got to play with Flither yesterday, and it is indeed just awesome!
|
|
|
03-06-2019, 03:16 AM
|
#204
|
Human being with feelings
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,799
|
Thanks for the great update once again
Another feature i would love to see in a future update would be if we could select more than one node and tweak them together just like fabfilter proQ.
|
|
|
03-06-2019, 03:40 AM
|
#205
|
Human being with feelings
Join Date: Dec 2015
Location: holland
Posts: 29
|
re eq
it's getting better and better ...download done!!!
AGC nice extra potion
thnks 1s again for this free eq !!!!
|
|
|
03-06-2019, 04:07 AM
|
#206
|
Human being with feelings
Join Date: May 2014
Location: Germany
Posts: 643
|
Quote:
Originally Posted by nitsuj
New version of ReEQ available from the first page.
New feature: Automatic Gain Control (AGC).
Toggled by clicking the 'AGC' button on the bottom button row. When toggled on, ReEQ will attempt to match the output gain with the input level. A small button with 'S' (for Set) appears next to the AGC button when toggled on. Pressing this 'S' button will set ReEQ's master volume to the matching value and disable AGC once more. To cancel AGC mode simply click the AGC button again.
This is a tool to help avoid the 'lounder = better' effect. Using AGC the volume of the output audio after EQing should be close to the loudness of the audio before EQing. Of course, after hitting the 'S' AGC button to set the ReEQ master volume, you're quite free to manually adjust.
Big props to Sai'ke as I used the same method for AGC that he uses in Filther (which is just....awesome!)
|
Hey nitsuj,
AGC is a very cool feature. Thank you!
In any case I found it not working 100% correctly: I wrapped a fresh instance of ReJJ with AB_LM and enabled AGC. The input signal is white noise.
I expected to see Post FX gain diff of 0dB, but I see -2.6dB.
If I turn off AGC AB_LM shows the correct value of 0.0 dB gain diff.
Maybe this helps to fix AGC.
Last edited by TBProAudio; 03-06-2019 at 10:36 AM.
Reason: Typos
|
|
|
03-10-2019, 06:04 AM
|
#207
|
Human being with feelings
Join Date: Nov 2017
Posts: 292
|
Quote:
Originally Posted by TBProAudio
In any case I found it not working 100% correctly: I wrapped a fresh instance of ReJJ with AB_LM and enabled AGC. The input signal is white noise.
I expected to see Post FX gain diff of 0dB, but I see -2.6dB.
If I turn off AGC AB_LM shows the correct value of 0.0 dB gain diff.
Maybe this helps to fix AGC.
|
Good catch! AGC with white noise should indeed show a 0db gain. I think I know how to fix it/improve accuracy, so I'll get onto it as soon as I get chance.
|
|
|
03-11-2019, 05:05 PM
|
#208
|
Human being with feelings
Join Date: Nov 2017
Posts: 292
|
New version up.
Improvements to the AGC code to directly set the amplitude at each audio sample adjusting for the difference between the input audio and the EQ affected audio. It was iterating before.
|
|
|
03-11-2019, 10:53 PM
|
#209
|
Human being with feelings
Join Date: May 2014
Location: Germany
Posts: 643
|
Quote:
Originally Posted by nitsuj
New version up.
Improvements to the AGC code to directly set the amplitude at each audio sample adjusting for the difference between the input audio and the EQ affected audio. It was iterating before.
|
Yes, AGC is now working the way it should. Thank you.
|
|
|
03-13-2019, 03:12 AM
|
#210
|
Human being with feelings
Join Date: May 2006
Posts: 1,361
|
Wow I am impressed.... it looks and feels good!
And even the "preEq" feature is there, what could I need more?
Yes, maybe a way to "solo" a band to listen to it exclusively.
I bought DDMF IIEQPro to get a bit of the ProQ feeling... but it has some bugs and the developper does not seem to answer....
And usually, I go back to Reaeq.
So this could be the new goto Eq? It should be included in Reaper 6 and be somehow compensated for the effort then
EDIT: WOW!! the solo option has been added in a recent version... this just rocks!!
Last edited by winbe; 03-13-2019 at 03:19 AM.
|
|
|
03-13-2019, 03:49 AM
|
#211
|
Human being with feelings
Join Date: Aug 2009
Location: NL
Posts: 1,453
|
It's really nice what you've made here nitsuj. I can see that a lot of effort and attention went into it
|
|
|
03-13-2019, 03:51 AM
|
#212
|
Human being with feelings
Join Date: Nov 2015
Location: Switzerland
Posts: 1,966
|
I truly believe this plugin should be used as a basis for ReaEQ for Reaper 6
|
|
|
03-13-2019, 04:20 AM
|
#213
|
Human being with feelings
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
|
Works well.
Pros for me are the sound, handling and plenthora of options, as well as its ok cpu use.
Pro-Q3 VST3 on the same track with the same material uses 0.08% as indicated by Reapers FX Chain display and performance meter.
Reeq uses 0.36% which is perfectly fine, considering this is JS and that it features oversampling.
I suggest that this be added to either your own GIT repo that comes with an index file to use in Reapack, or you contribute it to the ReaTeam JSFX GIT repo ( https://github.com/ReaTeam/JSFX/ ) and keep the main branch of the plugin as a maintainer.
This is also a damn fine library for any JS writers to use in their effects.
Thank you Justin.
|
|
|
03-13-2019, 07:00 AM
|
#214
|
Human being with feelings
Join Date: Nov 2013
Location: BUENOS AIRES
Posts: 125
|
Quote:
Originally Posted by DaveKeehl
I truly believe this plugin should be used as a basis for ReaEQ for Reaper 6
|
Me too! I hope Justin Frankel and Schwa are taking note!
Lic. Ezequiel Morfi | TITANIO
Buenos Aires, Argentina.-
|
|
|
03-13-2019, 10:17 AM
|
#215
|
Human being with feelings
Join Date: May 2006
Posts: 1,361
|
I'll have to test it on my real audio PC, as here on another machine, I realized it was eating a bit too much CPU for my taste (around 3.5 to 4% with 4 bands).
It eats 0.3% with 0 bands and no spectrum displayed at all (so just a black window, and hidden anyway).
Funny fact, it eats more when the playback is stopped, in this case I easily reach 6 or 7% of CPU.
Even with the window hidden it seems to eat quite much, and there is some latency as well. I guess this is inevitable with JSFX.
|
|
|
03-13-2019, 10:46 AM
|
#216
|
Human being with feelings
Join Date: Aug 2009
Location: NL
Posts: 1,453
|
Quote:
Originally Posted by winbe
I'll have to test it on my real audio PC, as here on another machine, I realized it was eating a bit too much CPU for my taste (around 3.5 to 4% with 4 bands).
It eats 0.3% with 0 bands and no spectrum displayed at all (so just a black window, and hidden anyway).
Funny fact, it eats more when the playback is stopped, in this case I easily reach 6 or 7% of CPU.
|
Are you on the latest version? An earlier version had some issues with denormals increasing the CPU usage when there was no input, but as far as I know, this is resolved now.
|
|
|
03-13-2019, 01:10 PM
|
#217
|
Human being with feelings
Join Date: Nov 2017
Posts: 292
|
Quote:
Originally Posted by winbe
I'll have to test it on my real audio PC, as here on another machine, I realized it was eating a bit too much CPU for my taste (around 3.5 to 4% with 4 bands).
It eats 0.3% with 0 bands and no spectrum displayed at all (so just a black window, and hidden anyway).
Funny fact, it eats more when the playback is stopped, in this case I easily reach 6 or 7% of CPU
|
I'm a little at the mercy of how JSFX is working with some things. With every filter band engaged I get about 1.2% CPU utilisation (2012 i7 Macbook Pro) in 'ANA' mode. It's true that when play is stopped it climbs a little - very odd behaviour. I will look into it at some point.
Quote:
Even with the window hidden it seems to eat quite much, and there is some latency as well. I guess this is inevitable with JSFX.
|
The latency is because you're in 'ANA' (Analog) mode where the filter shapes match closely their analog counterparts near Nyquist. The latency is due to oversampling.
If you change this to 'DIG' (Digital) then you'll have zero latency and performance will be twice as good BUT your filter shapes will cramp near Nyquist as do the ReaEQ ones. Much of the time this may not matter and I think there's still enough extras in ReEQ to make it a valid alternative to ReaEQ even in this mode.
When you toggle between 'ANA' and 'DIG' you'll have to offline and then online toggle ReEQ to force Reaper to recognise the changes in latency. There's an issue with JSFX where changes in PDC aren't recognised.
Hope that helps!
|
|
|
03-13-2019, 01:20 PM
|
#218
|
Human being with feelings
Join Date: May 2006
Posts: 1,361
|
Thanks for the detailed explanations, it totally makes sense!
But tried on my audio PC, and I only get 0.3% CPU, this is perfect!!!
Last edited by winbe; 03-13-2019 at 01:32 PM.
|
|
|
03-14-2019, 10:59 AM
|
#219
|
Human being with feelings
Join Date: Jun 2012
Location: Spain
Posts: 7,242
|
Does someone have like a big spike on the master from time to time like +20db or more. My ears are ok because I cannot hear it since REAPER master protection kicks in. Maybe it is only one bad bit or something. But I think it happens on only two projects I am starting to use ReEQ. I will have to test it more
Thank you for the awesome plugin !
|
|
|
03-14-2019, 12:00 PM
|
#220
|
Human being with feelings
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 3,914
|
Thanks nitsuj, nice plugin!
Haven't tested much but with AGC enabled REAPER auto Mute the track one time when I stopped play, might be same as what heda mentioned?
|
|
|
03-15-2019, 12:40 AM
|
#221
|
Human being with feelings
Join Date: Nov 2017
Posts: 292
|
Quote:
Originally Posted by heda
Does someone have like a big spike on the master from time to time like +20db or more. My ears are ok because I cannot hear it since REAPER master protection kicks in. Maybe it is only one bad bit or something. But I think it happens on only two projects I am starting to use ReEQ. I will have to test it more
Thank you for the awesome plugin !
|
I haven't experienced this. I'll look into it. Do you have AGC enabled when it happens? Any more detail you could provide would be helpful.
|
|
|
03-22-2019, 06:57 AM
|
#222
|
Human being with feelings
Join Date: Nov 2017
Posts: 292
|
Just an update for anyone still following this thread and using ReEQ.
I've been busy tidying up the code, getting into Github and preparing for ReaPack. Progress.
What I've been looking into recently is the possibility of adding dynamic EQ functionality to ReEQ. I was thing about making a compressor anyway but thought that some of a compressors functionality could go into ReEQ.
Looking at ReEQ code, I've become aware that JSFX can be very sensitive when sharing variables between the @block, @sample sections and the @slider, @gfx sections. In ReEQ's case, the filter variables are shared - the gfx section needs to draw and move filter nodes and the audio sections need to apply filters to incoming audio.
And here's the issue. I need to make sure that the audio section is using wholly calculated filters. It's possible for the filter to be halfway through having it's coefficients calculated when any of its attributes are altered (frequency, gain etc).
So, for any experienced JSFX folk here I'm asking what are the best or at least established paradigms for sharing variables between rendering and audio sections without having torn reads and/or writes?
|
|
|
03-22-2019, 07:55 AM
|
#223
|
Human being with feelings
Join Date: Mar 2018
Location: Cologne
Posts: 1,362
|
You could take a look at mrelwwoods dynamic eq. (Just search for his name.) I don't know if this exactly covers you idea but his DynEq works pretty well.
Edit: found his thread. https://forum.cockos.com/showthread....light=mrelwood
Greetings
Eli
__________________
☆.。.:*・°☆.。.:*・°☆.。.:*・°☆REAPER//✿◔‿◔)°☆.。.:*・°☆.。.:*・°☆
|
|
|
03-22-2019, 09:48 AM
|
#224
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
|
Quote:
Originally Posted by nitsuj
So, for any experienced JSFX folk here I'm asking what are the best or at least established paradigms for sharing variables between rendering and audio sections without having torn reads and/or writes?
|
I'm not sure how best to use them but I think the atomic things will help you. Scroll down to the bottom of the page: http://reaper.fm/sdk/js/advfunc.php#js_advanced
|
|
|
03-22-2019, 09:56 AM
|
#225
|
Human being with feelings
Join Date: Nov 2017
Posts: 292
|
Quote:
Originally Posted by Eliseat
|
Thanks for the link! Like those JSFX plugins, really cool. Doesn't hurt having more reference code for compressor behaviour. Seems to have based his compressor on the Stilwell 1175.
|
|
|
03-22-2019, 10:02 AM
|
#226
|
Human being with feelings
Join Date: Nov 2017
Posts: 292
|
Quote:
Originally Posted by IXix
|
Yes, the solution may involve use of atomics. Thanks for the pointer.
|
|
|
03-22-2019, 02:55 PM
|
#227
|
Human being with feelings
Join Date: Aug 2009
Location: NL
Posts: 1,453
|
I just duplicate data (filter/shaper coeffs), that way, nobody is waiting for filter handoff and I don't need locking. When the UI changes something, I set a flag that the audio filters need updating, but the audio thread does this when it gets to it. The coeffs of the audio filter instance get updated in the audio thread only. And the gfx ones in the gfx thread only. Pseudo objects make this pretty easy. Can just reuse the same functions
Usually locking is best avoided when reasonably possible I think.
Last edited by sai'ke; 03-22-2019 at 03:14 PM.
|
|
|
03-24-2019, 11:41 AM
|
#228
|
Human being with feelings
Join Date: Nov 2017
Posts: 292
|
Quote:
Originally Posted by sai'ke
I just duplicate data (filter/shaper coeffs), that way, nobody is waiting for filter handoff and I don't need locking. When the UI changes something, I set a flag that the audio filters need updating, but the audio thread does this when it gets to it. The coeffs of the audio filter instance get updated in the audio thread only. And the gfx ones in the gfx thread only. Pseudo objects make this pretty easy. Can just reuse the same functions
Usually locking is best avoided when reasonably possible I think.
|
Duplicating is what I've been thinking about mainly to fix this. Problem is...when to duplicate? The audio filters need to duplicate the ones used for rendering. But in either the @slider or @gfx sections the code may be half way through updating the filter coefficients when the @sample or @block section runs and makes what is a torn copy/duplicate.
The way this issue became visible to me was by automating a filter node in ReEQ. The @slider section was updating filter coefficients but was getting interrupted by the @gfx section. The result was rendering anomalies.
Need to think about this a bit more and see if there's any information on Reaper's thread/concurrency in JSFX.
EDIT: I've solved the rendering issues by getting @slider to flag filter updates from slider values in @gfx only.
EDIT2: What was I thinking. This means that filter update via automation is sync'd to graphic updates which is a terrible idea. Back to the drawing board.
Last edited by nitsuj; 03-25-2019 at 01:13 AM.
|
|
|
03-25-2019, 12:10 AM
|
#229
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,646
|
Quote:
Originally Posted by nitsuj
But in either the @slider or @gfx sections the code may be half way through updating the filter coefficients when the @sample or @block section runs and makes what is a torn copy/duplicate.
|
FWIW: I don't think @slider and @block/@sample run concurrently.
|
|
|
03-25-2019, 12:18 PM
|
#230
|
Human being with feelings
Join Date: Aug 2009
Location: NL
Posts: 1,453
|
Yeah, what Tale said. Personally, I have one instance (with a set of coeffs) for the gfx and one instance for the rest. A slider change flags both as being old and needing updating.
The audio one I update in @sample, the other one in @gfx.
One thing to also note is that if you wish to support sub-block accurate automation, you might want to have a look at slider_next_chg and such too (Not sure if you do already though).
|
|
|
03-25-2019, 01:11 PM
|
#231
|
Human being with feelings
Join Date: Nov 2017
Posts: 292
|
Tale, sai'ke, thanks guys - this is very helpful.
I'm not using slider_next_chg at the moment but thanks for bringing it to my attention. It may be needed at some point.
|
|
|
03-30-2019, 04:11 PM
|
#232
|
Human being with feelings
Join Date: Apr 2016
Posts: 50
|
Please add new values at the bottom of the lines:
20
30
50
80
200
300
500
800
2K
3K
4K
5K
8K
20K
Please add three new vertical lines for: 12K,15K,16K and sign only one the value: "15K"
Last edited by HDWind; 03-30-2019 at 04:32 PM.
|
|
|
03-31-2019, 01:22 PM
|
#233
|
Human being with feelings
Join Date: Sep 2017
Posts: 998
|
Mapping this to a controller went very well, except for one particular parameter. Filter 2 Slope registered as a parameter but turning the controller did nothing. All of the other ones I tried worked well.
Since I last chimed in there have been a couple updates. Stellar job, man!
|
|
|
04-01-2019, 03:56 PM
|
#234
|
Human being with feelings
Join Date: Nov 2017
Posts: 292
|
Quote:
Originally Posted by HDWind
Please add new values at the bottom of the lines:
20
30
50
80
200
300
500
800
2K
3K
4K
5K
8K
20K
Please add three new vertical lines for: 12K,15K,16K and sign only one the value: "15K"
|
Thanks for the suggestion. I'll put it on the backlog to look at.
|
|
|
04-01-2019, 04:02 PM
|
#235
|
Human being with feelings
Join Date: Nov 2017
Posts: 292
|
Quote:
Originally Posted by cjewellstudios
Mapping this to a controller went very well, except for one particular parameter. Filter 2 Slope registered as a parameter but turning the controller did nothing. All of the other ones I tried worked well.
Since I last chimed in there have been a couple updates. Stellar job, man!
|
Yes, there's a bug there that I've fixed in my version. I've been reviewing and tightening up the filter smoothing code as part of the process to see if I can add dynamic EQ features. That won't come along soon - there's a lot to it - so once I've done this iteration of improvements I'll issue another release with the bug fix.
|
|
|
04-04-2019, 03:17 AM
|
#236
|
Human being with feelings
Join Date: Sep 2017
Posts: 998
|
Quote:
Originally Posted by nitsuj
Yes, there's a bug there that I've fixed in my version. I've been reviewing and tightening up the filter smoothing code as part of the process to see if I can add dynamic EQ features. That won't come along soon - there's a lot to it - so once I've done this iteration of improvements I'll issue another release with the bug fix.
|
Great news!
I wanted to mention one more thing.
When controlling the Q settings with a controller, at the very top of the range (the widest settings) it makes quite big jumps. I do alot of mapping so it's not my controller settings or anything like that, Using the mouse scroll wheel it behaves as expected though. I dont know if that's something you can even change but I wanted to bring it up just in case.
EDIT:
I noticed the nodes disappear when the mouse is outside of the plugin window. Not a huge deal but in regards to using a controller it would be helpful to see what nodes you had and their approximate positions.
This is really amazing btw. It seems you have improved the plugin and reduced cpu usage as well.
Last edited by cjewellstudios; 04-05-2019 at 04:56 AM.
|
|
|
04-09-2019, 07:31 AM
|
#237
|
Human being with feelings
Join Date: Nov 2017
Posts: 292
|
Quote:
Originally Posted by cjewellstudios
When controlling the Q settings with a controller, at the very top of the range (the widest settings) it makes quite big jumps. I do alot of mapping so it's not my controller settings or anything like that, Using the mouse scroll wheel it behaves as expected though. I dont know if that's something you can even change but I wanted to bring it up just in case.
EDIT:
I noticed the nodes disappear when the mouse is outside of the plugin window. Not a huge deal but in regards to using a controller it would be helpful to see what nodes you had and their approximate positions.
|
Try the latest version as I've altered the mouse wheel Q smoothing. I'll give some thought to keeping the nodes visible when the mouse isn't over the window. I was aiming for having it so that the window is uncluttered when you're not hovering over it, but you've come up with a legitimate case for keeping the nodes visible.
|
|
|
04-09-2019, 07:37 AM
|
#238
|
Human being with feelings
Join Date: Nov 2017
Posts: 292
|
There's a new version of ReEQ available from the first page/post.
9th April 2019
* Add frequency to bottom of mouse crosshair
* Disabled nodes now show filter shape as a line (not filled)
* Improved node selection. Mouse now selects nearest node for info box and Q alteration
* Node info box now behaves better in terms of positioning and clamping to window side
* Improved filter smoothing when moving, enabling and disabling filter nodes
* Improved filter node Q sensitivity and smoothness when using mouse wheel
* Fixed graphic glitching when automating a band
* Fixed slider naming bug
* ANA (oversampling) mode now renamed to HQ (for High Quality)
More features and refinements planned.
|
|
|
04-10-2019, 07:23 AM
|
#239
|
Human being with feelings
Join Date: Feb 2006
Location: Helsinki, Finland
Posts: 305
|
I'm not sure if this happened in the latest update, but when loading a project only the 5 first bands/filters are active. Filters 6 and up show up on the graph but they don't actually do anything until you change some value on them.
Also, seems to be related that only filters 1-5 are in the parameter list (edit: yeah, that's explained in the first post).
Last edited by Paul Eye; 04-10-2019 at 07:36 AM.
|
|
|
04-10-2019, 09:06 AM
|
#240
|
Human being with feelings
Join Date: Nov 2017
Posts: 292
|
Quote:
Originally Posted by Paul Eye
I'm not sure if this happened in the latest update, but when loading a project only the 5 first bands/filters are active. Filters 6 and up show up on the graph but they don't actually do anything until you change some value on them.
Also, seems to be related that only filters 1-5 are in the parameter list (edit: yeah, that's explained in the first post).
|
Thanks for the bug report Paul. I'll fix that asap.
As to the first five filters being in the parameter list...it's a limitation of JSFX. It only provides 64 sliders and each filter takes up several. Multiply that up and you soon run out.
I exposed the first five so that at least some automation and/or controller assignment was possible.
If/when Justin&co increase the slider count I'll expose all of the filters. 256 or even 512 would be useful.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 09:31 PM.
|