Go Back   Cockos Incorporated Forums > REAPER Forums > ReaScript, JSFX, REAPER Plug-in Extensions, Developer Forum

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

ReEQ - Parametric Equaliser

ReEQ is a sixteen-band high quality parametric equaliser. It's highly transparent, ideal for both mixing and mastering. It supports a wide variety of filter shapes, high/low pass filters from 6dB to 96dB, mid/side and stereo per band, and oversampling (default) for filter curve shape preservation at high frequencies.





Details

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

ReEQ supports filter low and high pass slopes ranging from 6dB to 96dB in increments of 6dB.
Also provided are a range of other filters including Butterworth filters for steeper (but more resonant) slopes, tilt filter, a Pultec style shelf and analog channel style low and high pass filters.

Each filter band supports mid/side or left/right for control of the stereo field.

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.

- Low and high cut filters Q is altered by dragging the filter node. For other filter types, 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 CMD (or WINDOWS) whilst dragging a filter node will lock gain and allow Q tuning.

- Press ALT when dragging a filter node or turning a panel dial allows fine tuning.

- Select multiple filter nodes by holding the left mouse button and dragging a region box to encompass filters. Group selected filters are shown with a glowing halo around them. Holding CMD (or WINDOWS) then dragging the region box will not deselect already selected nodes and will toggle the selected state when the filter node falls within the region.

- When multiple filter nodes are selected the menu available by right clicking operates on all selected filters. The individual filter panel display at the bottom of the screen ONLY affects the currently focussed filter.

- There is a limit function which can be toggled using the 'LIMIT' button on the bottom button row. It hard clips any overflowing signal to prevent loud surprises. It's here as a safety measure.

- 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.

- There's now a manual courtesy of enroe who made it. Many thanks!

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

- Only the first five filter bands are exposed as sliders for automation. This is a Reaper JSFX restriction.

- A reasonable CPU is required depending upon how many filter nodes you activate and whether you're running in ECO or HQ mode. ECO is fine for most purposes, is twice as fast, and has no latency.

Installing

The repository URL to add to ReaPack is:

https://raw.githubusercontent.com/Ju...ster/index.xml

I also supply here a zip file which can be unzipped to your Reaper effects directory.

The best method for installing JS plugins for Reaper, which works on any operating system and any install type of Reaper.

Or, you can read it in the current REAPER User Guide on page 113.

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

v1.2.0 / 1st Dec 2021
* Node drag on Low cut and High cut filters now modifies resonance.
* Panel 'gain' and 'Q' knobs now fade for bands that don't need them.
* Bug fix: ECO rendering of low cut at Nyquist caused a visual glitch.

v1.1.3 / 29th Nov 2021
* Bug fix: gfx_char() had been removed. It's necessary though because without it, the mouse_caps for CMD/ALT/SHIFT don't register unless the mouse is clicked first.

v1.1.2 / 25th Nov 2021
* Bug fix: ReSpectrum now uses SVF naming (zdf_ to svf_)
* Added version to menu in ReSpectrum

v1.1.1 / 25th Nov 2021
* Fixed version number

v1.1.0 / 24th Nov 2021
* Can now draw region to select multiple nodes
* Selected nodes can be moved and Q altered
* The right-click menu affects group selected nodes, the filters panel affects single filter nodes
* Holding CMD (Mac) or Window (windows) and clicking on a specific filter node will toggle its group selected state
* Holding CMD (Mac) or Window (windows) key whilst region selecting toggles filter select states
* Clicking on an empty part of the display will deselect all group selected filter nodes

v1.0.12 / 13th May 2021
* Node dragging - more precise selection, pressing ALT key now drags node slower allowing fine tuning.
* Dial dragging - pressing ALT key now turns dials slower allowing fine tuning.
* Denormals - now uses JSFX built in denormalisation.

4th July 2020
* Minor fix - filter types in panel were missing last two filter types. Fixed.

1st June 2020
* New filters! Low and High Channel (Analog)
* Added version to Settings menu
* Fixed a menu indexing problem

21st May 2020
* Now supports up to 16 filter nodes instead of 8. Maintained backwards compatibility in the serialisation files so you should be fine with projects already using ReEQ. HOWEVER, you won't be able to go back to the older ReEQ after using this version.
* Cross platform rendering is improved. The PC version should now have improved drawing of buttons etc.
* Attempt to fix denormalisation issue.

15th March 2020
* Fixed a bug where a filter band being in listen mode wouldn't continue listening if the mouse left the viewport.
* Altered line thickness for both retina and normal when the view becomes very compact (for MCP & TCP).
* Added a manual PDF - many thanks to enroe who kindly made it!

18th December 2019
* ReEQ now gracefully handles smaller view sizes for Reaper 6 TCP & MCP views.
* ReSpectrum brought up to date with some rendering and the above view handling.

15th November 2019
* Minor update - fixed the gfx_showmenu positions for retina mode as the latest Reaper no longer requires adjusted coordinates
Attached Files
File Type: pdf eq re manual 1.0.12.pdf (225.8 KB, 14439 views)
File Type: zip ReJJ-1.2.0.zip (54.3 KB, 32075 views)

Last edited by nitsuj; 11-30-2021 at 06:23 PM. 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,362
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: 560
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,362
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: 685
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:49 PM   #7
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 292
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, 02:37 PM   #8
DaveKeehl
Human being with feelings
 
DaveKeehl's Avatar
 
Join Date: Nov 2015
Location: Switzerland
Posts: 1,966
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?
__________________
REAPER Contest

Last edited by DaveKeehl; 11-15-2018 at 02:50 PM.
DaveKeehl is offline   Reply With Quote
Old 11-17-2018, 03:01 AM   #9
pim van dorst
Human being with feelings
 
pim van dorst's Avatar
 
Join Date: Dec 2015
Location: holland
Posts: 29
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-18-2018, 12:14 AM   #10
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by nitsuj View Post
- 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.
Could you elaborate ? Does it work ? What add-on does provide that function ? How did you find it ? How did you get the specs ?

-Michael
mschnell is offline   Reply With Quote
Old 11-18-2018, 03:51 AM   #11
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 292
Default

Quote:
Originally Posted by mschnell View Post
Could you elaborate ? Does it work ? What add-on does provide that function ? How did you find it ? How did you get the specs ?

-Michael
Yes, it works. And judging by the feedback here it's good for multi-platform. I think it's part of the interface that's exposed for Reaper scripting in general. It's documented for lua but not for eel2.

I found it on a forum post:

https://forum.cockos.com/showthread.php?t=164227
nitsuj is offline   Reply With Quote
Old 11-19-2018, 01:46 AM   #12
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by nitsuj View Post
Yes, it works. And judging by the feedback here it's good for multi-platform. I think it's part of the interface that's exposed for Reaper scripting in general. It's documented for lua but not for eel2.

I found it on a forum post:

https://forum.cockos.com/showthread.php?t=164227

Wonderful !!
-Michael
mschnell is offline   Reply With Quote
Old 11-19-2018, 04:02 AM   #13
ramses
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,231
Default

Been running this for a few mixes now. It's very good! I have a small quibble that could perhaps be resolved:

- Could we have an option to not have the EQ range influence the display range of the frequency analyzer? The signal has to be quite hot to make use of the analyzer when working at lower range-settinga, like 6-12dB.
ramses is offline   Reply With Quote
Old 11-19-2018, 09:23 AM   #14
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 292
Default

Quote:
Originally Posted by ramses View Post
- Could we have an option to not have the EQ range influence the display range of the frequency analyzer? The signal has to be quite hot to make use of the analyzer when working at lower range-settinga, like 6-12dB.
The range for the analyzer and the range for eq are unrelated code-wise. If you play sound then alter the eq range you shouldn't see the analyzer display alter. Maybe I didn't understand correctly?
nitsuj is offline   Reply With Quote
Old 11-18-2018, 04:03 AM   #15
dupont
Human being with feelings
 
dupont's Avatar
 
Join Date: Nov 2007
Location: France
Posts: 919
Default

Nice plugin, I also notice that

- If I double the click the mouse in the lower part where the boxes are, bands are created.
dupont is offline   Reply With Quote
Old 11-19-2018, 06:43 AM   #16
pim van dorst
Human being with feelings
 
pim van dorst's Avatar
 
Join Date: Dec 2015
Location: holland
Posts: 29
Default feedback

hallo 1s thnks again for this lovely eq there for some feedback

i use a dell optiplex 4gig ram on windows7

64bit reaperdaw
project 24 track
eq used on masterbus

1.. No tracks playing and eq floating on master bus... un muted all tracks reads 8,5% cpu
2.. no tracks playing and all tracks muted...it reads 36,5 % cpu use
3.. all tracks playing and unmuted eq floating on master reads 10,5 % cpu use
4.. all tracks playing but muted eq on master bus floating reads 36.5% cpu use
5..all tracks playing and unmuted with the eq on the masterbus reads 10,5% cpu use..

find that strange you woud expect the other way around..

hopfully helpfull info

thnks 1s again and greetings from holland
pim van dorst is offline   Reply With Quote
Old 01-28-2019, 06:27 PM   #17
rdesanti
Human being with feelings
 
rdesanti's Avatar
 
Join Date: Apr 2013
Location: Lake Havasu City, Arizona
Posts: 151
Default ReEQ ReaEQ conflict

[QUOTE=nitsuj;2057977]ReEQ and ReSpectrum:
Please check the problem I had on the following FB page I posted.
I resolved ReaEQ issue by uninstalling ReEQ.
https://www.facebook.com/groups/reaperusergroup/
__________________
--Mac Mini, 3 GHz 2 core i7 CPU, 16GB RAM, OSX Catalina V10.15.7 Crucial 1TB primary SSD, 500GB Samsung T5 SSD ext Audio drive,dual 27" displays, Reaper 64 bit latest, SSL 2+ interface, Mackie MR8 Mk 3 8" Monitors and Mackie VLZ 1404 mixer. 30 years in Audio.
rdesanti is offline   Reply With Quote
Old 01-29-2019, 03:12 AM   #18
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 292
Default

Thanks for the recent suggestions all. I'll take them onboard and you may see some of them in ReEQ in the future, time permitting. Appreciated.

Regarding the ReaEQ rendering issue (now spotted on Facebook). I've messaged Justin to see if he's got any idea what might be causing that. I think it is only a rendering state issue, it doesn't affect audio as far as I can tell.

I'll need to allocate some time for a really good debugging session in order to reduce down to what's causing it. Expect a fix or at least a diagnosis soon.
nitsuj is offline   Reply With Quote
Old 02-04-2019, 07:33 AM   #19
Roger McGuire
Human being with feelings
 
Join Date: Feb 2019
Posts: 1
Default Fantastic plugin

Hi All & Particularly Nitsuj who has created this fantastic plugin.
Ive been using it for the past week or so & it's just great...I'd go so far as to say it's "Fab" (wink, wink).
One request I have is, would it be possible to keep the fader controls from the original reaEq?
I find them really handy when it comes to pulling out frequencies once they've been identified. Just grab the fader & pull it down (no shaky hand to contend with).
Thanks for such a great plugin, your work is greatly appreciated.
Cheers
Roger.

Wexford
Ireland
Attached Images
File Type: jpg reaeq.JPG (39.4 KB, 490 views)
Roger McGuire is offline   Reply With Quote
Old 02-12-2019, 09:42 AM   #20
tonybeepbeep
Human being with feelings
 
Join Date: Mar 2018
Location: Norway
Posts: 239
Default

I've literally been playing with this for the last 10 minutes on my works laptop, using the internal speakers and I can still hear the nuances of the EQ. Can't wait to get home and put it into a mix on my real system.
tonybeepbeep is offline   Reply With Quote
Old 02-12-2019, 10:32 AM   #21
DaveKeehl
Human being with feelings
 
DaveKeehl's Avatar
 
Join Date: Nov 2015
Location: Switzerland
Posts: 1,966
Default

Hi!

I've got a few extra suggestions:

Is it possible...
  • not to stop the spectrum analyzer when opening any menu/option inside the plugin?
  • to have smoother lines? Both in the eq and in the spectrum analyzer. The line display is nice though! It would be lovely to have that kind of smothness everywhere.
  • to add another option to the spectrum analyzer to have both fill and line (settings > display)?
  • reset the dry/wet control at the bottom by double-clicking?
  • add a few extra options for the limit button?
  • add an option to use a keystroke to be able to not move the mouse cursor while addingg or reducing the gain of a single band?
__________________
REAPER Contest
DaveKeehl is offline   Reply With Quote
Old 02-12-2019, 01:53 PM   #22
tonybeepbeep
Human being with feelings
 
Join Date: Mar 2018
Location: Norway
Posts: 239
Default

Am I a masochist if I spend the next hour EQing a metal snare drum with this?

So intuitive once you get used to the input and workflow
tonybeepbeep is offline   Reply With Quote
Old 02-12-2019, 02:12 PM   #23
tonybeepbeep
Human being with feelings
 
Join Date: Mar 2018
Location: Norway
Posts: 239
Default

OMG I'm having fun here. Even enjoying high passing some guitar tracks and the resultant sound is massive!
tonybeepbeep is offline   Reply With Quote
Old 02-14-2019, 03:22 AM   #24
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 292
Default

Hi Dave,

Thanks for the feedback and suggestions!

Quote:
Originally Posted by DaveKeehl View Post
  • not to stop the spectrum analyzer when opening any menu/option inside the plugin?
  • to have smoother lines? Both in the eq and in the spectrum analyzer. The line display is nice though! It would be lovely to have that kind of smoothness everywhere.
  • to add another option to the spectrum analyzer to have both fill and line (settings > display)?
  • reset the dry/wet control at the bottom by double-clicking?
  • add a few extra options for the limit button?
  • add an option to use a keystroke to be able to not move the mouse cursor while addingg or reducing the gain of a single band?
Running the analyzer concurrently when the menu displays is something I don't have control over in JSFX. Hands are tied on that one.

Smoother lines would be great. I develop on Mac so on that platform it uses retina and it looks really smooth. Admittedly less so on non-retina. I have tried to hack some kind of poor mans anti-aliasing but it doesn't alway work well. What's really needed is for Cockos to implement anti-aliasing for their line drawing (and other primitive) functions in JSFX. I'll think about the fill and line option.

At one point I thought I had implemented double clicking to reset the bottom parameters. I'll see about sorting that out.

What options are you thinking about for the limiting? The main purpose is to brick wall limit so that you don't get excessive volume. It's not intended to be a limiter for using in a musical capacity.

In my build I've already added frequency and gain lock for moving a filter node, so that'll be released soon. Your suggestion would take a little more work as there's currently no concept of a selected filter node except when the mouse is over it. The moment the key press altered the gain, the mouse cursor would no longer be over the filter node and so it wouldn't be selected any more. I'll give it some thought though.

Other than that, I'm adding extra filter types, improving solo/listen mode and improving node dragging amongst other smaller fixes and improvements.
nitsuj is offline   Reply With Quote
Old 02-14-2019, 03:39 AM   #25
DaveKeehl
Human being with feelings
 
DaveKeehl's Avatar
 
Join Date: Nov 2015
Location: Switzerland
Posts: 1,966
Default

Ok great stuff, as always!

For the limiter I guess you’re right. Maybe showing better when the limiter is turned on/off? Right now the box background color changes, so you have to know what each color means, which is a bit unintuitive.

One last thing I just realized would be awesome would be the ability to select bands by dragging the mouse. As it happens with Nova by TDR.

I can’t wait to try the first complete version of your plugin dude!
__________________
REAPER Contest
DaveKeehl is offline   Reply With Quote
Old 02-14-2019, 07:28 PM   #26
clepsydrae
Human being with feelings
 
clepsydrae's Avatar
 
Join Date: Nov 2011
Posts: 3,409
Default

Quote:
Originally Posted by nitsuj View Post
Smoother lines would be great. I develop on Mac so on that platform it uses retina and it looks really smooth. Admittedly less so on non-retina. I have tried to hack some kind of poor mans anti-aliasing but it doesn't alway work well. What's really needed is for Cockos to implement anti-aliasing for their line drawing (and other primitive) functions in JSFX.
...I assume you know that line and lineto and other primitive functions (circle, roundrect, arc, etc) do have optional anti-aliasing in JSFX on windows/linux? Curious what you meant here?
clepsydrae is offline   Reply With Quote
Old 02-24-2019, 05:55 AM   #27
europa_man
Human being with feelings
 
europa_man's Avatar
 
Join Date: Sep 2013
Location: Musquodoboit Harbour, Nova Scotia
Posts: 338
Default Talent

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 off 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
* Implemented floating info panel modified from tvm79's mods. Engaging listen mode will give you a floating info panel without having to select a band node
* Band nodes have improved selected and dragging visual.
* Mid/Side, Left/Right now have polarity toggles
* There's a toggle for a crude hard brick limiter. It's here as a safety net.
* Added 'None' option for spectrum display.
* Filters in SVF now cascade using nested conditions (optimization)
* Double click on bottom numeric buttons reset values to default
* Double click at bottom margin no longer creates filter bands
* Minor font fixes - still some to do.
* Fixed oversampling issue. Oversampling correctly ignored for sample rates > 48kHz.
THE TALENT ON THIS REAPER FORUM IS MIND BLOWING!

WHAT A GENEROUS GROUP !
__________________
Everything I Need to Know about Reaper, I Learned from Kenny Gioia.
europa_man is offline   Reply With Quote
Old 02-24-2019, 05:36 PM   #28
Dannii
Human being with feelings
 
Dannii's Avatar
 
Join Date: Mar 2010
Location: Adelaide, South Australia (originally from Geelong)
Posts: 5,598
Default

Quote:
Originally Posted by europa_man View Post
THE TALENT ON THIS REAPER FORUM IS MIND BLOWING!

WHAT A GENEROUS GROUP !
You got that right!
__________________
Dannii is offline   Reply With Quote
Old 02-25-2019, 06:31 AM   #29
Bouroki
Human being with feelings
 
Join Date: Jun 2013
Posts: 79
Default

Would it be possible to report zero latency when OS is switched off?
Bouroki is offline   Reply With Quote
Old 02-25-2019, 12:05 PM   #30
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 292
Default

Quote:
Originally Posted by Bouroki View Post
Would it be possible to report zero latency when OS is switched off?
There's a bug in Reaper's JSFX handling which doesn't update the PDC value. I think it's documented somewhere in this thread.

To get around it toggle ReEQ to 'offline' and then back 'online' again after you've set oversampling to x1. That sorts it out.
nitsuj is offline   Reply With Quote
Old 02-25-2019, 01:20 PM   #31
morfi
Human being with feelings
 
morfi's Avatar
 
Join Date: Nov 2013
Location: BUENOS AIRES
Posts: 125
Default

Clear enough now! Thank you!

To everybody working with tracks recorded at 88 kHz or higher SR: you don't need to turn oversample on!
__________________
TITANIO
BUENOS AIRES ARGENTINA
www.titanioesarte.com.ar
morfi is offline   Reply With Quote
Old 04-28-2019, 05:56 AM   #32
puddi
Human being with feelings
 
puddi's Avatar
 
Join Date: Jun 2018
Posts: 375
Default

This is fantastic, great job!

My two wishes that would make it perfect to me:

1. Single click to add a new EQ band instead of double-click

2. Being able to use a modifier key to change the Q value (Ctrl + shift + left drag for example) as an alternative to the the scroll wheel. It's the only thing keeping me from switching out Pro-Q (to any other EQ for that matter) where you can easily frequency sweep and change Q at the same time, instead of having to stop the movement every time you need to do it. I guess it's just a personal preference.



puddi is offline   Reply With Quote
Old 04-30-2019, 12:28 AM   #33
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 292
Default

Quote:
Originally Posted by puddi View Post
This is fantastic, great job!

My two wishes that would make it perfect to me:

1. Single click to add a new EQ band instead of double-click

2. Being able to use a modifier key to change the Q value (Ctrl + shift + left drag for example) as an alternative to the the scroll wheel. It's the only thing keeping me from switching out Pro-Q (to any other EQ for that matter) where you can easily frequency sweep and change Q at the same time, instead of having to stop the movement every time you need to do it. I guess it's just a personal preference.
(1) probably won't happen because I need to keep single click available for future multi-node selection. I also think it'd be too easy to create nodes by accident.

I'll look into (2) though. It's a question if I've got any key combos left!
nitsuj is offline   Reply With Quote
Old 04-30-2019, 04:46 AM   #34
puddi
Human being with feelings
 
puddi's Avatar
 
Join Date: Jun 2018
Posts: 375
Default

Quote:
Originally Posted by nitsuj View Post
(1) probably won't happen because I need to keep single click available for future multi-node selection. I also think it'd be too easy to create nodes by accident.

I'll look into (2) though. It's a question if I've got any key combos left!
1. Ah ok, well double-clicking is completely fine so it's not a big deal at all.

2. Cool, if you could work something out it would be great!

I have to say the more I use this EQ the more I like it. Just the simple mid/side volume faders at the bottom makes stereo balancing super fast and combined with the limiter this can do the work of 3 separate plugins. I've always wanted those two features in an EQ which is great!

One small thing I would like to see added is the ability to change slopes with the mouse wheel (like in ReaEQ or Pro-Q). Right now the Q value changes but nothing else happens. This would just speed things up and cut down on the menu diving.
puddi is offline   Reply With Quote
Old 04-30-2019, 07:30 AM   #35
nitsuj
Human being with feelings
 
nitsuj's Avatar
 
Join Date: Nov 2017
Posts: 292
Default

Quote:
Originally Posted by puddi View Post
One small thing I would like to see added is the ability to change slopes with the mouse wheel (like in ReaEQ or Pro-Q). Right now the Q value changes but nothing else happens. This would just speed things up and cut down on the menu diving.
The Q value effects low/high cut resonance but not for the Butterworth versions (they don't have resonance control).

You can adjust the curve slope by holding the Windows/Cmd key whilst using the mousewheel.
nitsuj is offline   Reply With Quote
Old 04-30-2019, 07:51 AM   #36
alphoc
Human being with feelings
 
Join Date: Apr 2019
Posts: 374
Default

Please 88k HD mode.
alphoc is offline   Reply With Quote
Old 04-30-2019, 08:40 AM   #37
morfi
Human being with feelings
 
morfi's Avatar
 
Join Date: Nov 2013
Location: BUENOS AIRES
Posts: 125
Default

Quote:
Originally Posted by nitsuj View Post
The Q value effects low/high cut resonance but not for the Butterworth versions (they don't have resonance control).
That could also be an interesting feature in the future: resonance for the LPF/HPF.

I find myself using a lot the Butterworth/Chebyshev/Moog JS plug-ins in REAPER (usually in a parallel configuration) precisely for their resonance control.

nitsuj let us know when so many feature requests and ideas from everybody here start to drive you crazy
__________________
TITANIO
BUENOS AIRES ARGENTINA
www.titanioesarte.com.ar
morfi is offline   Reply With Quote
Old 04-30-2019, 09:20 AM   #38
puddi
Human being with feelings
 
puddi's Avatar
 
Join Date: Jun 2018
Posts: 375
Default

Quote:
Originally Posted by nitsuj View Post
The Q value effects low/high cut resonance but not for the Butterworth versions (they don't have resonance control).

You can adjust the curve slope by holding the Windows/Cmd key whilst using the mousewheel.
Oooh, damn. I should have read the first post.
puddi is offline   Reply With Quote
Old 03-01-2020, 09:36 AM   #39
dsealer
Human being with feelings
 
Join Date: Mar 2016
Location: Pa
Posts: 440
Default

[QUOTE=nitsuj;2057977]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.

I could use some help with this. I'd like to try it and see if it is something I could use. However I can't seem to get it working. I've got the ReJJ 1.0.7 zip but that's as far as I can get. Can you tell me where to extract the files to and then how do I get it into my projects.
I apologize for my need for help,

Thanks,
__________________
Don.....
dsealer is offline   Reply With Quote
Old 03-01-2020, 12:12 PM   #40
dsealer
Human being with feelings
 
Join Date: Mar 2016
Location: Pa
Posts: 440
Default

Quote:
Originally Posted by JamesPeters View Post
https://forum.cockos.com/showpost.ph...&postcount=526

And then to use it in a project, load it like you load any other JS plugin.
Yes I unzipped it. I put it in the Jeff master folder. Would that be the correct place?

Thanks,
__________________
Don.....
dsealer 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:47 AM.


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