Old 11-15-2018, 07:50 AM   #1
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 161
Default ReEQ and ReSpectrum, parametric equalizer and spectrum analyzer

ReEQ and ReSpectrum:



Thought I'd share this with you. It's a couple of pet projects I've been working on for fun recently.

My question was: is it possible to create a FabFilter or EQ8 style high quality filter in JSFX?

ReEQ

ReEQ is an eight-band parametric equaliser. It defaults to HQ (High Quality) oversampled mode so that filter shapes are preserved near Nyquist at the cost of higher CPU and 16 samples latency. An ECO mode is available that runs twice as fast and with zero latency. In either case, the EQ is highly transparent.

The filter code itself is based on Andy Simper's (Cytomic) SVF filter algorithms. They are far higher quality than the usual RBJ cookbook filters. These are the same zero delay filters used in Ableton's EQ8 which is well regarded for its high quality.

In addition, I've provided 6db slope filters and increments of 6db thereof (a combination of one and two pole filters) with cutoff slopes for high and low of up to 96dB. I've also provided Butterworth filters for steeper (but more resonant) slopes.

Full mid/size or left/right stereo filter bands are implemented.

Feature wise I see it as an improvement over ReaEQ (more filter types and slopes, mid/side or left/right processing).

Features

- The spectrum display type has a gradual decay effect (as used by many other commercial EQs). I find this much more useful for musical applications.

- The 'Settings' menu at the top allows various spectrum display settings to be adjusted. That's which spectrum to show (mid/side/left/right etc), whether to fill the spectrum or use lines, the ceiling and floor range, the tilt of the spectrum (it tilts around 1k freq), window type, window size and whether to show the spectrum as it was before the EQ affected it.

- The buttons at the bottom are: Oversample mode, mid/side or left/right mode, the scale of the filter bands, total gain, mid/left gain, side/right gain. The numeric values are altered by clicking on the button and dragging the mouse up or down.

- Double clicking in space creates a filter band node. Depending where the mouse x is on the spectrum you'll either create a high pass, low shelf, peak, high shelf or low pass filter.

- Click on the filter band node and move mouse to alter its frequency and dB.

- Alt Double click deletes a node.

- Double clicking on a filter band node will toggle enable/disable.

- Hovering over a node and using the mouse wheel will adjust the filters Q value.

- Command (Mac) or Ctrl (Windows) and mouse wheel hovering over a slope filter will adjust the slope dB.

- Right click over a filter band node will bring up a menu. Options are: Disable/Enable, Invert gain, Select shape of filter, dB of slope (only for high/low pass filters), Stereo placement (mid/side, left/right), Split node which will split the node into mid/side or left/right and delete.

- When a filter node is in mid/side or left/right mode, some triangles are displayed around the node to give an indication of such.

- Clicking on the top-right yellow EQ dB number will show a menu allowing to select the EQ range from 6dB - 30dB.

- The info box at the mouse cursor when over a node or in listen mode will show useful information such as the frequency of the mouse position or node (if hovering over one), the music note and cents, dB of mouse or filter, filter Q and filter slopes.

- The drawn view scales to fit the full window and when the mouse isn't hovering over the window the programs turns off distracting menus and node handles.

- Holding the left shift key down puts the EQ into solo/listen mode. This mode works either with selected bands or as a freeform listen function. For freeform mode, simply press shift and move the mouse around. You'll see two boundary bars which specify the part of the audio spectrum that will be audible. Pressing the mouse button and moving vertically will increase or decrease the listening volume and you'll see a horizontal bar to tell you where the dB volume is. To solo a band, hold click when hovering over the band node and hold shift down. The soloing works differently for each filter type to accommodate what you may want to be listening for. Dragging filter nodes and altering Q works as normal in this mode so that you can make these adjustments whilst soloing. NB: filter band soloing also respects the mid/side or left/right assignment of the filter node.

- Axis lock for gain and frequency: ALT+drag will lock the frequency axis. CMD (or WINDOWS)+drag will lock gain but allow drag in Y axis to alter Q. CMD (or WINDOWS)+ALT+drag will lock gain and lock Q.

Press ALT or CMD (or WINDOWS) whilst dragging a filter node will lock frequency or gain.

- There is a limit function which can be toggled using the 'LIMIT' button on the bottom button row. All it does is hard clip any overflowing signal to prevent loud surprises.

- AGC (Automatic Gain Control) 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 again.

- By default, when a filter node is selected you'll see the bottom centred panel reflect it's properties. You can adjust freq, gain and Q by dragging the mouse on the corresponding dial. To hide or show the panel click on the 'PANEL' toggle button at the bottom of the window.

Press ALT or CMD (or WINDOWS) and double click on a value in the bottom row to reset the numeric values to default.

ReSpectrum

- The same 'Settings' options as ReEQ.

- 'keys' button toggles a piano roll. Hover over the piano keys to see a vertical beam to pinpoint spectrum frequencies.

- 'peaks' button toggles the spectrum display of maximum peaks.

Caveats

- I've only tried it on OSX as I develop on Mac.

- It should support both retina and non-retina displays.

- Only the first five filter bands are exposed as sliders for automation.

- You'll need a reasonable machine performance wise. Closing the window when not in use helps.

- I've used showmenu() for the menus. Technically it's not documented for JSFX so I don't know how well it works on other platforms.

- I borrowed Theo Niessink's RBJ filter code but only for the display magnitude calculations, not for sound processing.

I've attached a zip file which can be unzipped to your Reaper effects directory. The intention is to move to ReaPack at some point.

ReEQ is a labour of love and whilst I'm doing it for fun and to give something to the community, I've been asked if anyone can buy me a beer. If you so wish you can do that using the following link.

https://www.paypal.me/nitsujdsp

12th June 2019
* Close [X] is now DELETE in panel
* Fixed the 6db high/low pass filter bug
* Increase the dial values font size on the panel
* Altered the default window size
* Reaper notified when dials change
* CMD/Window key + double click now zeros values in the bottom row

10th June 2019
* Added filter node panel and toggle.
* Added more frequency labels, now centred, in bottom spectrum row.
* Mouse tracking frequency now also centred.
* Enlarged filter nodes and added node index.
* Improved node stereo indicators.

19th May 2019
* Fixed a long standing AGC glitch issue. Introduced an epsilon clamp check to RMS calcs.
* Added 'Zero Gain' to the filter node menu.
* Added 'Duplicate' to the filter node menu.
* Removed mouse crosshair.
* Changed the license over to MIT.

7th May 2019
* Filter node can now be Mid/Side/Right/Left. Extra transfer curves are shown when appropriate. Mid/Side or Left/Right in bottom bar only selects volume/polarity adjustment in bottom bar.
* Creating a band node uses the same stereo mode as the last selected node.
* Holding CMD/WND key whilst dragging a node now alters Q. Press ALT+CMD/WND and drag to not alter Q. ALT alone and drag still alters node gain only.
* Naming of decibels (dB) now consistent.

3rd May 2019
* Fixed nasty audio spiking bug. Happened when AGC was on and Volume Adjustment JS was prior in chain.
* Improved spectrum rendering (antialiased + gradient)
* Limited low/high pass filter slope selection to smaller sensible set
* Added low/high pass filter slopes up to 120dB
* Added FIR code for oversampling HQ mode at 48kHz.

15th April 2019
* Optimised HQ mode FIR half-band filtering by reducing multiplies and copy operations.
* More improvements to Q handling. Sliders now handle Q as 0..100 (0.10 .. 40) and map linearly rather than logarithmically meaning it'll be easier to automate and better for controllers.

10th April 2019
* Bug fix. Wasn't updating sliders after first 5 properly after loading a project. Artifact of separating out audio and render code for filters.

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)

11th March 2019
* Fixed AGC. Deviated from sai'ke's implementation in that it now directly maps output amplitude from the input amplitude rather than iterating to it. Matches ~0db difference when fed white noise.
Attached Files
File Type: zip ReJJ-1.0.5.zip (48.8 KB, 597 views)

Last edited by nitsuj; 06-12-2019 at 07:16 AM. Reason: New release
nitsuj is offline   Reply With Quote
Old 11-15-2018, 09:15 AM   #2
Eliseat
Human being with feelings
 
Eliseat's Avatar
 
Join Date: Mar 2018
Location: Cologne
Posts: 1,167
Default

What the heck!

This thing is amazing. It seems that the Reaper community got its Christmas presents a bit early this year.

Many thanks.
Eliseat is offline   Reply With Quote
Old 11-15-2018, 12:54 PM   #3
Reaperto
Human being with feelings
 
Reaperto's Avatar
 
Join Date: Apr 2011
Location: Buenos Aires - Argentina
Posts: 467
Default

Great job! Thanks for sharing.

By the way... resizible window... what a luxury!

And Shift+left click enable band pass, with adjustable range via mousewheel!
__________________
ReaLoaded!

Last edited by Reaperto; 11-15-2018 at 01:02 PM.
Reaperto is offline   Reply With Quote
Old 11-15-2018, 01:51 PM   #4
Bri1
Banned
 
Join Date: Dec 2016
Location: England
Posts: 2,432
Default

yep- some amazing shares going on in the world!
very clever for fun!
variety is a spice to really taste.
thanks 2 all that share/care like this with reaper-- the creators.
Bri1 is offline   Reply With Quote
Old 11-15-2018, 02:19 PM   #5
Eliseat
Human being with feelings
 
Eliseat's Avatar
 
Join Date: Mar 2018
Location: Cologne
Posts: 1,167
Default

nitsuj,

your EQ is amazing. But one thing I recognized: If you modulate the frequency, its impossible to catch the same band afterwards because it moves with the LFO. Is there a way to select this band another way? I didn't find a way except going back to the modulation panel to deactivate the LFO.

But anyway. You did a great job here. It feels just intuitive to use this EQ. Many thanks again.

Eliseat is offline   Reply With Quote
Old 11-15-2018, 02:22 PM   #6
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 686
Default

Holy shit. Sounds really good. The spectrum analyzer is extremely good! Thank you!

PS. the font size of the bottom left info box is smaller on ReSpectrum. It's a bit difficult to disinguish the numbers.
Sju is offline   Reply With Quote
Old 11-15-2018, 02:37 PM   #7
DaveKeehl
Human being with feelings
 
DaveKeehl's Avatar
 
Join Date: Nov 2015
Location: Switzerland
Posts: 1,808
Default

Can you put it on the ReaPack?

Also I found a few things that can be improved:

- It would be really nice if we could double click the boxes at the bottom to reset the initials values
- Also tooltips after a few seconds on those boxes could be useful
- If I change M/S to L/R or viceversa the whole box disappears until you move the mouse
- If I double the click the mouse in that lower part where the boxes are, bands are created and this shouldn't happen I guess
- When I scale the interface up there is some weird stuff being displayed until you release the mouse button
- Is it possible to smoothen out the band lines?

Last edited by DaveKeehl; 11-15-2018 at 02:50 PM.
DaveKeehl is offline   Reply With Quote
Old 11-15-2018, 02:49 PM   #8
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 161
Default

Thanks for the kind words all, it's much appreciated. I hope you get some great use out them.

Sju, I'm on a Mac 15" laptop so everything is kind of calibrated on that although I did support non-retina. In theory ReSpectrum is using Verdana with a fixed size of 9 for non-retina. Can you tell me what machine / OS / screen size you're on? I'll investigate.

Eliseat, I think you might have the same issue too if you tried to do it with another EQ. I'll have a think about a solution. I could introduce an offset for frequency and dB - it's those that you'd modulate. The code would keep the handles in place but add the offsets for audio processing. That'd take another 10 slider slots bringing the total up to 62 - pretty close to the 64 limit!

Reaperto, thanks for reminding me about the listen feature I'd implemented. I'd forgotten all about it! ReSpectrum has it too.
nitsuj is offline   Reply With Quote
Old 11-15-2018, 03:04 PM   #9
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 161
Default

Quote:
Can you put it on the ReaPack?
Yes, I was going to get a round or two of feedback then I'll put it on ReaPack.

Quote:
- It would be really nice if we could double click the boxes at the bottom to reset the initials values
Yep, good one.

Quote:
- Also tooltips after a few seconds on those boxes could be useful
You're right that would be nice.

Quote:
- If I change M/S to L/R or viceversa the whole box disappears until you move the mouse
Do you mean the buttons disappear? That'll be because the mouse is outside of the main window after you've selected and I coded it so that when the mouse is outside, those features including filter handles disappear to leave a clear view of the filter bands and transfer lines. I agree though that it can feel a little unexpected so I'll have a think if there's anything to do about it.

Quote:
- If I double the click the mouse in that lower part where the boxes are, bands are created and this shouldn't happen I guess
You're right, that's a bug!

Quote:
- When I scale the interface up there is some weird stuff being displayed until you release the mouse button
I think this might well be a Reaper issue. They've improved this lately but you still get garbage on the right and bottom side momentarily when resizing.

Quote:
- Is it possible to smoothen out the band lines?
On my Mac in retina mode I fudge smoothness by overdrawing lines with alpha adjustments and they look pretty good thanks to the pixel density. Outside of that I'm at the mercy of how Cockos handle larger displays/pixel densities inside JSFX. The technique I'd used for retina mode left the lines looking very thick in non-retina, so I had to downgrade them. I wish Cockos would round out their JSFX rendering functions with thickness options with anti-aliasing to avoid trying to fudge it.

Great feedback though thanks!
nitsuj is offline   Reply With Quote
Old 11-15-2018, 03:33 PM   #10
DaveKeehl
Human being with feelings
 
DaveKeehl's Avatar
 
Join Date: Nov 2015
Location: Switzerland
Posts: 1,808
Default

Thanks to you for this awesome plugin! Looks like we have a Pro-Q2 for Reaper users
I'm using a 15'' MBP with Retina display so I see the plugin as you do. By smooth I meant like for example in the Fabfilter Pro-Q2 where (I don't know how they do it) but everything is soooo smooth) but yeah I get it no anti-aliasing no party

I'll let you know if I find something else!
DaveKeehl is offline   Reply With Quote
Old 11-15-2018, 03:54 PM   #11
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 161
Default

Thanks DaveKeehl!

Yeah, Pro-Q2 is a wonderfully well crafted piece of software. Looks gorgeous, silky smooth (high refresh rate) and superbly designed. Fabfilter are well known for it and they deserve their success.
nitsuj is offline   Reply With Quote
Old 11-15-2018, 05:03 PM   #12
Reaperto
Human being with feelings
 
Reaperto's Avatar
 
Join Date: Apr 2011
Location: Buenos Aires - Argentina
Posts: 467
Default

Quote:
Originally Posted by nitsuj View Post
Reaperto, thanks for reminding me about the listen feature I'd implemented. I'd forgotten all about it! ReSpectrum has it too.
You're my hero!
Keep up the good job!
Many thanks again!
__________________
ReaLoaded!
Reaperto is offline   Reply With Quote
Old 11-16-2018, 12:10 AM   #13
Eliseat
Human being with feelings
 
Eliseat's Avatar
 
Join Date: Mar 2018
Location: Cologne
Posts: 1,167
Default

Quote:
Originally Posted by nitsuj View Post
Eliseat, I think you might have the same issue too if you tried to do it with another EQ. I'll have a think about a solution. I could introduce an offset for frequency and dB - it's those that you'd modulate. The code would keep the handles in place but add the offsets for audio processing. That'd take another 10 slider slots bringing the total up to 62 - pretty close to the 64 limit!
No, I didn't mean to overhaul the whole thing. Maybe a context menu to select the active bands would be okay. In reaEQ you can't run into this problem because you always have the ability to show the tabs. If a band runs wild thru animation you have a place where you can select it. In your EQ its impossible to get back to the band because its moving. And this even makes it difficult to stop the LFO from running. Maybe you could add a button next to the oversampling which opens a list of all active bands. Do you know what I mean?

Greetings
Eli
Eliseat is offline   Reply With Quote
Old 11-16-2018, 02:47 AM   #14
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 686
Default

Quote:
Originally Posted by nitsuj View Post
Sju, I'm on a Mac 15" laptop so everything is kind of calibrated on that although I did support non-retina. In theory ReSpectrum is using Verdana with a fixed size of 9 for non-retina. Can you tell me what machine / OS / screen size you're on? I'll investigate.
I'm using Win10 at 1920x1080. Here's a size comparison between ReEQ and ReSpectrum info boxes:

https://drive.google.com/file/d/1IkA...ew?usp=sharing
Sju is offline   Reply With Quote
Old 11-16-2018, 03:10 AM   #15
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 161
Default

Thanks Sju!

The font size is correct (Verdana 9pt) but it is too small for your resolution. I'll see if there's a way to get screen size in JSFX so that I can at least set the right font size.
nitsuj is offline   Reply With Quote
Old 11-16-2018, 03:52 AM   #16
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 8,915
Default

This is amazing, thanks for sharing.

One thing got me wondering though:
Could it be that the spectrum analyzer in ReEQ is a bit off somehow?

Here I'm running pink noise through it (tilt set to 3 dB/oct) with a notch set to ~1 kHz, but the analyzer is showing the dip at ~ 2 kHz.
Or am I misunderstanding something?

nofish is offline   Reply With Quote
Old 11-16-2018, 03:55 AM   #17
ramses
Human being with feelings
 
Join Date: Jul 2009
Posts: 589
Default

Wow, what a treat! Tremendous work, I'll make sure to give it a spin for a while and see if I have any suggestions for improvements or whatever.

Thanks!!!
ramses is offline   Reply With Quote
Old 11-16-2018, 03:56 AM   #18
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 686
Default

About the parameter modulation problem, one solution would be to add individual band controls to the bottom of the GUI, like there are for the master volume, oversampling, etc. Pro-Q is a good example of this feature, and I think the floating UI is nice. This would require a node selection mechanism though (lasso for multiple selection?).

The advantages would also include being able to adjust just the freq or gain without touching the other parameter like you might do when adjusting via the 2D graph. Another cool feature could be adjusting the freq or scaling the gain of multiple bands at once.

Well, just throwing ideas out there. Really enjoying it as it is; I like the sound so much I'm using it over EQuilibrium at the moment. :P
Sju is offline   Reply With Quote
Old 11-16-2018, 04:33 AM   #19
pepe44
Human being with feelings
 
pepe44's Avatar
 
Join Date: Jul 2013
Location: Portugal
Posts: 515
Default

This is great. well done.
__________________
Intel core i7 6700K - socket 1151 LGA - Chipset z170 - 16G DDR4 - Nvidia GTX 1060
pepe44 is offline   Reply With Quote
Old 11-16-2018, 06:51 AM   #20
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 161
Default

Quote:
Originally Posted by nofish View Post
Could it be that the spectrum analyzer in ReEQ is a bit off somehow?

Here I'm running pink noise through it (tilt set to 3 dB/oct) with a notch set to ~1 kHz, but the analyzer is showing the dip at ~ 2 kHz.
Or am I misunderstanding something?
Curious! I tried the same thing and got the following.



Could you run a different spectrum analyser after it to clarify whether it's the spectrum display that's offset or if it's the notch filter itself?

Does it happen all the time and does it happen for other filter types?

Last edited by nitsuj; 11-16-2018 at 06:58 AM. Reason: More questions
nitsuj is offline   Reply With Quote
Old 11-16-2018, 07:00 AM   #21
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 686
Default

I'm getting the analyzer offset too. Using 96kHz sample rate here.
Sju is offline   Reply With Quote
Old 11-16-2018, 07:08 AM   #22
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 161
Default

Ah, it may be a sample rate issue. I'll give that a go.

EDIT:
Ok, if you're sampling rate is any other than 44.1kHz then for now deselect oversampling (the x2 button at the bottom - put it to x1). If you're running at higher sample rates then in theory you don't need the oversampling as its primary purpose to get better response curves near Nyquist.

Last edited by nitsuj; 11-16-2018 at 07:25 AM.
nitsuj is offline   Reply With Quote
Old 11-16-2018, 08:01 AM   #23
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 8,915
Default

Yes, that's it.
I was running 48 KhZ, 2x oversampling in that screenshot.
Running at 44.1 or not 44.1 and not oversampling fixes, as you say.
nofish is offline   Reply With Quote
Old 11-16-2018, 09:09 AM   #24
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 161
Default

Quote:
Originally Posted by nofish View Post
Yes, that's it.
I was running 48 KhZ, 2x oversampling in that screenshot.
Running at 44.1 or not 44.1 and not oversampling fixes, as you say.
I've fixed this now. Updated files in the top post.
nitsuj is offline   Reply With Quote
Old 11-16-2018, 09:41 AM   #25
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 8,915
Default

Great, thanks.
nofish is offline   Reply With Quote
Old 11-16-2018, 11:38 AM   #26
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 686
Default

Analyzer works as expected now, and the fonts are visible again cheers!
Sju is offline   Reply With Quote
Old 11-16-2018, 11:57 AM   #27
Ozman
Human being with feelings
 
Join Date: Feb 2015
Posts: 542
Default

Really loving these.
They are beautiful!

Please add to ReaPack.
Ozman is offline   Reply With Quote
Old 11-16-2018, 01:51 PM   #28
pepe44
Human being with feelings
 
pepe44's Avatar
 
Join Date: Jul 2013
Location: Portugal
Posts: 515
Default

is it possible to make it less CPU consumer ?
__________________
Intel core i7 6700K - socket 1151 LGA - Chipset z170 - 16G DDR4 - Nvidia GTX 1060
pepe44 is offline   Reply With Quote
Old 11-16-2018, 02:21 PM   #29
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 161
Default

Quote:
Originally Posted by pepe44 View Post
is it possible to make it less CPU consumer ?
It may be possible. Close the window when not using it as it takes CPU to draw.

Best thing is to use Reaper's performance view to see how much CPU the DSP is taking. I'd be happy to see feedback to see how it's performing on different machines.
nitsuj is offline   Reply With Quote
Old 11-16-2018, 06:09 PM   #30
Fabian
Human being with feelings
 
Fabian's Avatar
 
Join Date: Sep 2008
Location: Sweden
Posts: 5,379
Default

For real...? Holy cow!

Thanks.
__________________
// MVHMF
I never always did the right thing, but all I did wasn't wrong...
Fabian is online now   Reply With Quote
Old 11-16-2018, 06:34 PM   #31
mawi
Human being with feelings
 
Join Date: Apr 2011
Posts: 658
Default

Great work, thanks for sharing!!!

Last edited by mawi; 11-16-2018 at 06:51 PM.
mawi is offline   Reply With Quote
Old 11-16-2018, 06:53 PM   #32
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 12,319
Default

This is really awesome, thanks!

I'm using it to test my very-early SSE-optimized JSFX branch, seems to have helped spot a bug in it for me too (now to figure out why...).

Last edited by Justin; 11-16-2018 at 07:04 PM.
Justin is online now   Reply With Quote
Old 11-17-2018, 12:32 AM   #33
Not_Here
Human being with feelings
 
Not_Here's Avatar
 
Join Date: Jan 2018
Location: West Coast - Sun again, Sun today, Sun tomorrow...
Posts: 557
Default

color me <---- newbie

I have the files from the .zip located in;

c:\program files\REAPER(x64)\installdata\effects
and they are in their folder ReJJ

but I can't seem to find this in Reaper. I tried clear cache and re-scan and still no luck?

any ideas or help would be tremendously appreciated!
__________________
Rockin the Not_Room... Kali LP6 |iLoud |Mackie Big Knob |2i2 |Bugera |Ibanez |Amplitube |PRS Supermodels |iRig Stomp I/O |ARC 2.5 |
Not_Here is online now   Reply With Quote
Old 11-17-2018, 01:13 AM   #34
JamesPeters
Human being with feelings
 
JamesPeters's Avatar
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 2,580
Default

Quote:
Originally Posted by Not_Here View Post
color me <---- newbie

I have the files from the .zip located in;

c:\program files\REAPER(x64)\installdata\effects
and they are in their folder ReJJ

but I can't seem to find this in Reaper. I tried clear cache and re-scan and still no luck?

any ideas or help would be tremendously appreciated!
That folder isn't to be used for anything other than what Reaper installs.

Find the location of the Reaper resource folder on your computer, where the JS effects are installed. From Reaper:

Options -> Show Resource Path in Explorer/Finder
(JS effects are located in there, in the "effects" subfolder.)
__________________
http://petersamplification.com
Using REAPER for Linux
JamesPeters is offline   Reply With Quote
Old 11-17-2018, 01:38 AM   #35
Not_Here
Human being with feelings
 
Not_Here's Avatar
 
Join Date: Jan 2018
Location: West Coast - Sun again, Sun today, Sun tomorrow...
Posts: 557
Default

Quote:
Originally Posted by JamesPeters View Post
That folder isn't to be used for anything other than what Reaper installs.

Find the location of the Reaper resource folder on your computer, where the JS effects are installed. From Reaper:

Options -> Show Resource Path in Explorer/Finder
(JS effects are located in there, in the "effects" subfolder.)
Awesome! Grinnin' from ear to ear!

...and now I know

thanks a ton sir!


THIS ReEQ is amazing! If only many other stock plugs were up to this level...

running it on master channel with a few things goin ( like 50 or so other fx on 45 tracks)my whole cpu usage is between 3-5%

FFT at 16k stretching it across a 35" monitor at 3440 x 1440 resolution and it's running smooth as glass

sounds great just noodling around with it...

Thank you from making this nitsuj.... what a gift!
__________________
Rockin the Not_Room... Kali LP6 |iLoud |Mackie Big Knob |2i2 |Bugera |Ibanez |Amplitube |PRS Supermodels |iRig Stomp I/O |ARC 2.5 |

Last edited by Not_Here; 11-17-2018 at 02:11 AM.
Not_Here is online now   Reply With Quote
Old 11-17-2018, 03:01 AM   #36
pim van dorst
Human being with feelings
 
pim van dorst's Avatar
 
Join Date: Dec 2015
Location: holland
Posts: 20
Default reapers pro Q

Quote:
Originally Posted by nitsuj View Post
ReEQ and ReSpectrum:



Thought I'd share this with you. It's a couple of pet projects I've been working on for fun recently.

My question was: is it possible to create a FabFilter or EQ8 style high quality filter in JSFX?

ReEQ

This is an eight band filter. It defaults to oversample x2 so that the filter shapes are preserved near Nyquist but no oversampling is also an option. When oversampling, there is a 16 sample delay introduced and it uses a steep FIR filter at high frequencies to remove aliasing. It's highly transparent in either case.

The filter code itself is based on Andy Simper's (Cytomic) SVF filter algorithms. They are far higher quality than the usual RBJ cookbook filters. These are the same zero delay filters used in Ableton's EQ8 which is well regarded for its high quality.

In addition, I've provided 6db slope filters and increments of 6db thereof (a combination of one and two pole filters) with cutoff slopes for high and low of up to 96dB. I've also provided Butterworth filters for steeper (but more resonant) slopes.

Full mid/size or left/right stereo filter bands are implemented.

Feature wise I see it as an improvement over ReaEQ (more filter types and slopes, mid/side or left/right processing).

Features

- The spectrum display type has a gradual decay effect (as used by many other commercial EQs). I find this much more useful for musical applications.

- The 'Settings' menu at the top allows various spectrum display settings to be adjusted. That's which spectrum to show (mid/side/left/right etc), whether to fill the spectrum or use lines, the ceiling and floor range, the tilt of the spectrum (it tilts around 1k freq), window type, window size and whether to show the spectrum as it was before the EQ affected it.

- The buttons at the bottom are: Oversample mode, mid/side or left/right mode, the scale of the filter bands, total gain, mid/left gain, side/right gain. The numeric values are altered by clicking on the button and dragging the mouse up or down.

- Double clicking in space creates a filter band node. Depending where the mouse x is on the spectrum you'll either create a high pass, low shelf, peak, high shelf or low pass filter.

- Click on the filter band node and move mouse to alter it's frequency and dB.

- Alt Double click deletes a node.

- Double clicking on a filter band node will toggle enable/disable.

- Hovering over a node and using the mouse wheel will adjust the filters Q value.

- Command (Mac) or Ctrl (Windows) and mouse wheel hovering over a slope filter will adjust the slope dB.

- Right click over a filter band node will bring up a menu. Options are: Disable/Enable, Select shape of filter, dB of slope (only for high/low pass filters), Stereo placement (mid/side, left/right), Split node which will split the node into mid/side or left/right and delete.

- When a filter node is in mid/side or left/right mode, some triangles are displayed around the node to give an indication of such.

- Clicking on the top-right yellow EQ db number will show a menu allowing to select the EQ range from 6dB - 36dB.

- The info box at the bottom left will show useful information such as the frequency of the mouse position or node (if hovering over one), the music note and cents, dB of mouse or filter, filter Q and filter slopes.

- The drawn view scales to fit the full window and when the mouse isn't hovering over the window the programs turns of distracting menus and node handles.

- Holding the left shift key down puts the EQ into listen mode. You'll see two boundary bars representing the bandwidth being listened to. Use the mouse wheel to shrink/grow the area. It uses a band pass to isolate frequencies. (Thanks to Reaperto for reminding me!)

ReSpectrum

- The same 'Settings' options as ReEQ.

- 'keys' button toggles a piano roll. Hover over the piano keys to see a vertical beam to pinpoint spectrum frequencies.

- 'peaks' button toggles the spectrum display of maximum peaks.

Caveats

- I've only tried it on OSX as I develop on Mac.

- It should support both retina and non-retina displays.

- Only the first five filter bands are exposed as sliders for automation.

- You'll need a reasonable machine performance wise. Closing the window when not in use helps.

- I've used showmenu() for the menus. Technically it's not documented for JSFX so I don't know how well it works on other platforms.

- Oh, I should say I borrowed Theo Niessink's RBJ filter code but only for the display magnitude calculations, not for sound processing.

I've attached a zip file which can be unzipped to your Reaper effects directory. I'd consider using ReaPack if there was a call for it.

Updates
* Minor font fixes - still some to do.
* Fixed oversampling issue. Oversampling correctly ignored for sample rates > 48kHz.
thank you great options grtz from holland
pim van dorst is offline   Reply With Quote
Old 11-17-2018, 03:29 AM   #37
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 161
Default

Quote:
Originally Posted by Justin View Post
This is really awesome, thanks!

I'm using it to test my very-early SSE-optimized JSFX branch, seems to have helped spot a bug in it for me too (now to figure out why...).
SSE optimized branch? Nice. Let me know if it's a bug in my code that you've spotted. I'd like to get bugs ironed out before I ReaPack it.

BTW, great job on JSFX. Making it fast enough to do this kind of processing is really cool.
nitsuj is offline   Reply With Quote
Old 11-17-2018, 05:48 AM   #38
DaveKeehl
Human being with feelings
 
DaveKeehl's Avatar
 
Join Date: Nov 2015
Location: Switzerland
Posts: 1,808
Default

Would it be possible to simply click on the eq line and immediately both create a new band and being able to drag it around from the point I have clicked? Right now you have to double click and then the band is positioned in a sort of average position.
DaveKeehl is offline   Reply With Quote
Old 11-17-2018, 05:54 AM   #39
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 1,806
Default

Thanks for sharing, and I like your initially asked question.

Why did you not ask this as well?
Would it be possible making something in JSFX, which sounds like Ebbe und Flut.

https://www.youtube.com/watch?v=T8Uo0uwS9aE
TonE is offline   Reply With Quote
Old 11-17-2018, 06:03 AM   #40
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 161
Default

Quote:
Originally Posted by DaveKeehl View Post
Would it be possible to simply click on the eq line and immediately both create a new band and being able to drag it around from the point I have clicked? Right now you have to double click and then the band is positioned in a sort of average position.
Double clicking should create the band node exactly where the mouse cursor is. Is that what you're seeing? So you should be able to double click and then click&drag straight away.
nitsuj 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 10:50 PM.


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