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

Reply
 
Thread Tools Display Modes
Old 04-28-2019, 04:46 PM   #1
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 654
Default Saike's workshop ᕕ( ᐛ )ᕗ [JSFX] [Dynamics, Stereo, Saturation, Verb, Delay tools]

Hi peeps,

soooo, since I have some smaller JSFX in the works that don't quite warrant their own thread, I've decided to make a thread for these. Note that for the alpha ones, beware that slider configuration may still change. If you really intend to use it already, I'd recommend making a backup copy of the JSFX for that specific project.

Reapack link for all the plugs is here: https://raw.githubusercontent.com/Jo...ster/index.xml
I also provided direct links to the files with the descriptions, but reapack is definitely preferable, since you can be be kept up to date with improvements that way.

Tight Compressor
Based on a paper by Giannoulis et al, "Digital Dynamic Range Compressor Design—A Tutorial and Analysis", Journal of the Audio Engineering Society 60(6), I've set up this little peak compressor. It seems pretty decent at tight style compression, with pretty aggressive attack.
Direct link: https://raw.githubusercontent.com/Jo...ompressor.jsfx



Stereo Bub II
A fairly basic stereo widening tool. Widens the sound, but makes sure that the mono-mix stays unaffected (unlike Haas). The crossover is basically a 12 pole HPF that cuts the bass of the widening to avoid widening the bass too much. The last slider allows you to mix in the original side channel (which can optionally also be run through the 12-pole highpass).

There are two basic modes of operation:
1. You can either add stereo sound from nothing, using the Strength slider. This adds a comb filtered version of the average signal with opposite polarity to the different channels. Be careful not to overdo it, or you get a flangey sound (unless that is what you want).
2. You can manipulate the existing side channel that's in the input. The gain of the original side channel is scaled by the old "Old side" knob. Depending on the button "HP original side" this signal route will be highpassed (mono-izing the low frequencies).


MS-20 emulation
This one came from Filther and was the one which I thought was most versatile. So therefore a GUI-less version with only the MS-20.
Direct link: https://raw.githubusercontent.com/Jo...ics/MS-20.jsfx

Tanh saturation with AA
A basic saturator but with some anti-aliasing which doesn't depend on upsampling.
Direct link: https://raw.githubusercontent.com/Jo...urator_AA.jsfx

Transience
A plugin for enhancing or reducing transients. It works by using two envelopes. One is an envelope follower (short attack, longer decay; roughly follows the peaks of the sound), the other is a user specified envelope (with attack/decay). You can then shape the sound according to the difference between the two, making attacks or decays longer or shorter. The plugin operates in logarithmic space.


Tone Stacks (beta)
Based on the work of jatalahd and ~arph from diystompboxes.com forum.
See their plugin here: http://www.guitarscience.net/tsc/info.htm
Direct link: https://raw.githubusercontent.com/Jo...oneStacks.jsfx
I've made some bi-linearly transformed versions of these filters.


Bandsplitter/joiner
4-pole band splitter that preserves phase between the bands. It has a UI and uses much steeper crossover filters (24 dB/oct) than the default that ships with reaper thereby providing sharper band transitions.

It also has an option for linear phase FIR crossovers instead of the default IIR filters. IIRs cost less CPU and introduce no preringing or latency. The linear phase FIRs however prevent phase distortion (which can be important in some mixing settings), but introduce latency compensation. Note that when using the linear phase filters, it is not recommended to modulate the crossover frequencies as this introduces crackles.

Tutorial here: https://www.youtube.com/watch?v=JU_7gIr5RTI


ReflectoSaurus

Tool for making creative delays and reverbs. Each node indicates a delay. X axis controls the delay time, Y axis controls the volume, while the radius indicates how much feedback the delay has. Each delay node contains a lowpass and highpass filter. The arc indicates which frequency range of the sound is allowed to pass each feedback round. The little knob indicates the panning of the node.

Nodes can be routed to each-other to create complex effects. Routing sends are sent out before applying the feedback gain, but after the filters. The arc around the routing arrow indicates the volume at which it is being sent to the other node.

Delays/Grid can optionally be synchronized to host tempo on 3/4, 4/4 or 5/4 rhythm. Reflectosaurus also sports one special FFT reverb node, which is indicated in red. Remember to mute all unused nodes as this lowers CPU significantly.

Examples of possibilities:
https://instaud.io/3SRO
https://instaud.io/3SZq
https://www.youtube.com/watch?v=bGgYUSdWiAA
https://www.youtube.com/watch?v=PJKxva-5x54

Squashman (early alpha)
This guy will get its own thread when finished. Might be a while though, as some of the projects in basics are actually for this one.

To do list:
- Oversampling for the compressor.
- Side chain for the compressor.
- Add interpolation for time parameter in Stereo Bub II.
- Release Python script that generates optimized up-/downsampling filter code.
- Exploit filter symmetries.
- Calculate appropriate delay compensation for oversampling filters (should just be ((2/OS)*(N-1)/2)).
- Standalone wah versions
- Add separate version of multi-band splitter.

Feel free to report bugs or feature requests, but I don't promise I will make any of them happen

Also, please check the to-do list whether what you want to ask is already on there.
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [Filther: Thread|Github|Reapack] | [More JSFX: Thread|Reapack]

Last edited by sai'ke; 07-06-2019 at 07:16 AM.
sai'ke is offline   Reply With Quote
Old 04-28-2019, 07:42 PM   #2
lachinhan
Human being with feelings
 
lachinhan's Avatar
 
Join Date: Nov 2014
Location: Can Tho - Viet Nam
Posts: 127
Default

Awesome! Thank you.
__________________
NK Recording Studio
Email: lachinhan@gmail.com or admin@thuamninhkieu.com
Website:nkpro.top
lachinhan is offline   Reply With Quote
Old 04-29-2019, 12:36 AM   #3
beingmf
Human being with feelings
 
beingmf's Avatar
 
Join Date: Jul 2007
Location: Jazz City
Posts: 3,923
Default

Rad! Can't wait for the new versions.
__________________
Windows 7x64 SP1 | NVidia Quadro2000, 10.18.13.6191 | Marian Seraph AD2, 4.0.2.1
Experience the Blunzeworscht!
beingmf is offline   Reply With Quote
Old 04-29-2019, 04:09 AM   #4
Bri1
Banned
 
Join Date: Dec 2016
Location: England
Posts: 2,432
Default

well done m8... you now have an ickle bundle of joy shared to the world- the fx fam !=cheerz.
Bri1 is offline   Reply With Quote
Old 04-29-2019, 04:20 AM   #5
Eliseat
Human being with feelings
 
Eliseat's Avatar
 
Join Date: Mar 2018
Location: Cologne
Posts: 1,167
Default

Great! Finally a place for all the lovely little gems from Sai'ke.

I tested the Tone Stacks recently but for some reason they down level the volume really hard. Is that plugin meant to simulate the tone manipulation of their (Marshall, Fender) amps? (treble, presence, bass, mids etc?)

The nonlinear attack for Tight Compressor is very appreciated. But I struggle with the 50ms decay restriction. It was way better before to really push the release hard against the beat of a drum loop. And writing in those short times to get the effect back isn't really intuitive. I know that's useless in the case of less rhythmical material like basses, guitars or voices but it was part of its aggressive character which I really like. And short release times also offer great distortion effects. So ... (I know, I'm begging again!)

The MS20 cutoff slider would also benefit from nonlinear behavior because it has way to much way in the not so interesting range of high frequencies. While in Filther the 0.5 cutoff gets grip at about 800hz its way higher in MS20.

And of course many, many thanks for all these goodies. They are very useful, and they all seem kind of organic. You know I love them.

Greetings
__________________
☆.。.:*・°☆.。.:*・°☆.。.:*・°☆REAPER//✿◔‿◔)°☆.。.:*・°☆.。.:*・°☆
Eliseat is offline   Reply With Quote
Old 04-29-2019, 04:27 AM   #6
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 654
Default

Thanks everyone. I'll post here whenever I develop stuff on one of 'em.

Quote:
Originally Posted by Eliseat View Post
I tested the Tone Stacks recently but for some reason they down level the volume really hard. Is that plugin meant to simulate the tone manipulation of their (Marshall, Fender) amps? (treble, presence, bass, mids etc?)
Yes, with gain compensation off, they emulate what the real devices do (most eat up a lot of gain). Turn on normalize gain to peak to re-normalize the result (this was added in 0.03). Maybe the version you had didn't include this yet.

Quote:
Originally Posted by Eliseat View Post
The nonlinear attack for Tight Compressor is very appreciated. But I struggle with the 50ms decay restriction. It was way better before to really push the release hard against the beat of a drum loop. And writing in those short times to get the effect back isn't really intuitive. I know that's useless in the case of less rhythmical material like basses, guitars or voices but it was part of its aggressive character which I really like. And short release times also offer great distortion effects. So ... (I know, I'm begging again!)
I'll make a better scaled version of it soonish. One thing that's a pity in JSFX is that you can't natively make a slider logarithmic, so I can't put [ms] on the axis anymore then. Both logarithmic would probably be best. Attack from 0 to 120 and release from 0 to 1000 or so. I'll display the actual time where the ratio is now then.

Quote:
Originally Posted by Eliseat View Post
The MS20 cutoff slider would also benefit from nonlinear behavior because it has way to much way in the not so interesting range of high frequencies. While in Filther the 0.5 cutoff gets grip at about 800hz its way higher in MS20.
Yeah. I should probably copy over that new scaling from Filther. Have to add a legacy slider then too though, since this one has been out for a while.
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [Filther: Thread|Github|Reapack] | [More JSFX: Thread|Reapack]
sai'ke is offline   Reply With Quote
Old 04-29-2019, 05:10 AM   #7
daxliniere
Human being with feelings
 
daxliniere's Avatar
 
Join Date: Nov 2008
Location: London, UK
Posts: 1,928
Default

Thanks Sai'ke!

I haven't tested Tone Stack yet, nor am I sure I have a use for it, but it occurred to me that it might be cool to have an invert or 'subtract' mode. Might be interesting.

Perhaps that idea could even be combined into one plugin by having a 'subtract' drop-down box (with no controls, no graph)?


Cheers!
__________________
Dax Liniere
London's newest premium studio complex! (Facebook)
[i7-4790K, 12Gb RAM, Win8.1x64, NVidia GT710, UAD2-OCTO, FireFaceUFX, REAPER x64]
daxliniere is offline   Reply With Quote
Old 07-19-2019, 10:39 AM   #8
daxliniere
Human being with feelings
 
daxliniere's Avatar
 
Join Date: Nov 2008
Location: London, UK
Posts: 1,928
Default

Hey Joep!
In Reflectosaurus, could you add a way to reset pan position, please?
I was thinking ALT+double-click or ALT+CTRL click.

Cheers!
Dax.

P.S. Just started playing, this thing sounds pretty interesting! I'm still yet to work out everything that its happening on the GUI. It's a bit like finding an alien artefact! Lots of fun!
__________________
Dax Liniere
London's newest premium studio complex! (Facebook)
[i7-4790K, 12Gb RAM, Win8.1x64, NVidia GT710, UAD2-OCTO, FireFaceUFX, REAPER x64]
daxliniere is offline   Reply With Quote
Old 07-26-2019, 05:48 PM   #9
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 654
Default

Quote:
Originally Posted by daxliniere View Post
Hey Joep!
In Reflectosaurus, could you add a way to reset pan position, please?
I was thinking ALT+double-click or ALT+CTRL click.

Cheers!
Dax.

P.S. Just started playing, this thing sounds pretty interesting! I'm still yet to work out everything that its happening on the GUI. It's a bit like finding an alien artefact! Lots of fun!
Added. Glad you're enjoying it

Quote:
Originally Posted by reapero
Still..is it possible that, even with full feedback (big circle), the delay doesnt get sustained? Looks like i am missing a bit more feedback
It doesn't quite go to one yeah. I figured situations like that would be quite esoteric. Do you need it to go to one for anything in particular?

Quote:
Originally Posted by vdubreeze View Post
No posts about Wahriffic? Did I miss them?

Thank you for this great addition, sai'ke : ) I have fun with Filter but despite having the wah filters I've been unable to get a decent wah setting out of it without it being Overloaded Violent Spaceship Crash Wah. It's me, I know.

Wahriffic answers that for me. Getting great sounds from it!
Glad to hear it

Progress has been a bit slower than usual as I have moved country.
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [Filther: Thread|Github|Reapack] | [More JSFX: Thread|Reapack]
sai'ke is offline   Reply With Quote
Old 07-27-2019, 04:11 PM   #10
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 654
Default

Changelog Amaranth:
- Added position bar in wave view.
- Added cropping for frozen waves (to prevent preset saves from becoming huge and slow).
- Added option to not save waveform in preset (for unfrozen ones this makes sense).

Just fyi, amaranth is still in alpha stage, so presets may still be lost due to design changes. Next up are filters... maybe over the weekend.
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [Filther: Thread|Github|Reapack] | [More JSFX: Thread|Reapack]
sai'ke is offline   Reply With Quote
Old 07-28-2019, 03:11 AM   #11
Vagelis
Human being with feelings
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 301
Default

Quote:
Originally Posted by sai'ke View Post
Changelog Amaranth:
- Added position bar in wave view.
- Added cropping for frozen waves (to prevent preset saves from becoming huge and slow).
- Added option to not save waveform in preset (for unfrozen ones this makes sense).

Just fyi, amaranth is still in alpha stage, so presets may still be lost due to design changes. Next up are filters... maybe over the weekend.
Awesome!! I like the position bars and the crop function!
It might be better if when moving the start bar would move both start-end together with the position while the end bar would move only the bar and not the position? I think it would make it easier to move together as a loop by selecting portions of the sample.

Also a nice way to modulate the controls that i like in Reaktor except the envelopes, is when you record the movements of the parameters with the mouse. It's nice and easy way to experiment

Here's a video from Granite that uses this way of modulation too.
https://youtu.be/M2UKDwgTrrE?t=1478
Vagelis is offline   Reply With Quote
Old 07-31-2019, 12:28 PM   #12
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 654
Default

The recording stuff looks neat, but would come at too much overhead in JSFX. I also prefer dealing with automation by hand.

Changelog Amaranth:
- Added two modulate-able filters.
- Added dedicated feedback grain buffer for when sound is frozen (doubles CPU when in use though).
- Fixed bug that prevented storage of trigger toggle.
- Enabled buffer reset button.

Changelog Squashman/Filther
- Fixed bug that prevented storage of trigger toggle.
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [Filther: Thread|Github|Reapack] | [More JSFX: Thread|Reapack]
sai'ke 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 02:52 PM.


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