Old 01-17-2017, 03:32 PM   #1
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default Geraint's JSFX (previously: "A small set of JSFX")


Hi everyone! I wrote a few JSFX effects, and wanted to share them. All the information, including audio demos, is on the main website.

There's also an incomplete but growing set of video demos/tutorials.

You can install them from ReaPack (by adding the index: https://geraintluff.github.io/jsfx/index.xml) or download a ZIP (too big for the Stash), or see the code on GitHub.

-----------------------------

Synth
  • PadSynth - a synth that produces thick sounds, including per-note effects and modulators
  • Humonica - harmoniser and synth
  • Hammer And Chord - a polyphonic string resonator/synth
  • Soft-Bell - a synth that produces gentle bells and chimes
  • Learning Sampler - a basic sampler that records incoming audio and plays it back

Delay
  • Atlantis Reverb - produces mellow spaces, and shimmering highlights
  • Echo-Cycles - a delay effect where the feedback system moves echoes through the stereo field
  • Cross-Polyphonic-FM - MIDI-controlled frequency-modulation effect
  • Ripple - Phaser-like sounds, endlessly ascending/descending
  • Spring-Box - an echo/chorus effect
  • Stereo Alignment Delay - delay and phase/delay analysis (stereo channels, or between instances)
  • Vibrato - MIDI-note triggered vibrato

Distortion
  • Bad Connection - simulate poor connections by random volume variation, distortion, and a feedback delay line
  • Sandwich Amp - distortion module with a before/after filter pair, width control and secondary input

Utility
  • Spectrum Matcher - analyse the difference between an input and a model, and optionally correct with EQ
  • Smooth Limiter - a limiter that aims to have the correction curve as smooth as possible
  • Panalysis - visualise and manipulate the stereo field of the audio
  • Piano Display - Displays MIDI notes as a scrolling piano roll

MIDI
  • Droplets - randomly play the notes of a chord
  • MIDI Gate - a velocity-sensitive MIDI-controlled gate. Audio passes through only when MIDI note is down (or up, in "mute" mode).
  • MIDI Harmony - arpeggiator and auto-accompaniment plugin

Pitch Correction
  • Warble - a basic pitch-editing effect


----------------------------------------------------------

Updates:

2019-06-15: new effect:
  • Droplets - New effect! Randomly retrigger MIDI notes to create textures
  • Echo Cycles - added LFO on the "start" position

2018-11-24: new effect:
  • Atlantis Reverb - New effect! Super-long reverbs and shimmering textures

2018-08-12: new features:
  • Humonica - "fixed spectrum" mode (usable as a synthesiser), and timbre sweeps!

2018-07-01: new effect/features:
  • Ripple - New effect! A phaser-like effect which continually rises or falls. (audio demo)
  • Humonica - fixed all DC offset
  • Cross-Polyphonic FM - portamento/legato support, fixed error when srate=0
  • Stereo Alignment Delay - better undo behaviour
  • all effects - better automation support

2018-06-13: new feature:
  • Soft Bell - New synth! Gentle bell-like tones and chimes
  • Humonica - portamento/legato support
  • Hammer and Chord - portamento/legato support

2018-06-09: new features - and bundled presets!
  • all effects - included presets with installation (no import step)
  • Spectrum Matcher - limit affected region with range/boundary controls. "Amount" affects gain as well, and can now be negative (essentially swaps reference/input roles).
  • Vibrato - lookahead control, so beginnings of notes are never mid-vibrato
  • Spring Box - performance improvement (~15%)
  • Panalysis - second display mode "polar"
  • Hammer and Chord - bugfixes

2018-05-02: new effects/features
  • Cross-Polyphonic FM - New effect! MIDI-controlled frequency-modulator, summing up multiple notes (audio demo)
  • Vibrato - New effect! Vibrato effect triggered by MIDI notes (to give natural vibrato to synths that don't have any) (audio demo)
  • Spectrum Matcher - added "Amount" control, to select how much of the difference to correct
  • Hammer And Chord - added Timbre dials
  • Smooth Limiter - right-click to enter exact values

2018-04-15: new effect/features
  • Echo Cycles - New effect! Feedback delay where echoes move around the stereo space (audio demo)
  • Hammer And Chord - urgent bugfix (performance)! If you're on 1.2.0, please update to 1.2.4+
  • Spring Box - add control for chorus alignment ("balanced" mode controls frequency drift in longer reverbs)
  • all effects - Retina support for high-resolution displays

2018-03-07: new features
  • MIDI Gate - channel filter, "mute" mode (un-muted by default, notes mute)
  • Humonica - stereo detuning and LFO vibrato (for smoother/thicker sound), fix DC offset
  • Stereo Alignment Delay - cross-instance send (for aligning separate tracks), negative delays, FFT size control, right-click to enter exact delay values
  • Spectrum Matcher - added "gain" control, some UI fixes
  • all MIDI effects - slight performance improvement

2018-01-27: new features
  • Stereo Alignment Delay - per-channel delay, with delay/phase analysis (calculate a delay/polarity to try and maximise phase agreement between sources)
  • Spectrum Matcher - improve sharpness of analysis curves (small change, existing presets should still work).

2018-01-23: new features
  • MIDI Harmony - New effect! Octave-shift inputs to a particular note range, use as an arpeggiator, and more!
  • Hammer and Chord - optional input decay (stops taking input after start of note)
  • Hammer and Chord - use allpass filter for fractional delay (allows longer sustains)
  • Humonica - pitch tracking (match input vibrato), and tonality limit (only play if tone is detected in input audio)
  • Smooth Limiter - fix latency issue (off by one sample)

2017-07-20: new features
  • PadSynth - draw the detuning curve, invert velocity/controllers
  • Humonica - timbre shifter

2017-07-13: new synth
  • Humonica - a harmoniser (demo)

2017-07-05: new features
  • Hammer And Chord - now supports stereo detuning (demo), and de-tonaliser (demo)
  • MIDI Gate - new effect, passes through audio only when MIDI note is playing (demo)

2017-02-20: add new plugins (Warble, Panalysis, Learning Sampler, Hammer And Chord/String)
__________________
JSFX set | Bandcamp/SoundCloud/Spotify

Last edited by geraintluff; 06-15-2019 at 02:15 PM. Reason: Changed title
geraintluff is offline   Reply With Quote
Old 01-17-2017, 04:54 PM   #2
sinkmusic
Human being with feelings
 
sinkmusic's Avatar
 
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,754
Default

Very interesting, thank you !
sinkmusic is offline   Reply With Quote
Old 01-17-2017, 06:21 PM   #3
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

Nice looking GUI, congrats, and thanks for sharing !

I add your repo to reateam-reascript readme !

Last edited by X-Raym; 01-17-2017 at 06:37 PM.
X-Raym is offline   Reply With Quote
Old 01-18-2017, 12:22 AM   #4
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

This plugins is a very good way to reduce GUI-dependent guys scepticism about JSFX. Nice work.

Spectrum Matcher - used it in my latest audiocollage, very interesting results.
mpl is offline   Reply With Quote
Old 01-18-2017, 02:09 AM   #5
Nantho
Human being with feelings
 
Join Date: Mar 2013
Posts: 213
Default

Oh Man, I've been looking for something like your Bad Connection plug-in for such a long time !!! This means the end of endless hours of editing for me !

Thank you, thank you, thank you

P.-S. : And by the way, thank you
Nantho is offline   Reply With Quote
Old 01-18-2017, 03:11 AM   #6
RCJacH
Human being with feelings
 
Join Date: Apr 2016
Location: Beijing, China
Posts: 215
Default

I love your PadSynth, been using it for most of my daily needs since it was released.

I have a question regarding it. I sometimes need to change the playback sample rate due to an audio interface issue unfortunately. Since PadSynth saves the generated waveform, it plays back in the wrong sample rate, and I have to click regenerate for every single instance of it (and regenerate again switching back).

Is it possible to implement a way for PadSynth to detect and choose to select or regenerate based on whether the playback sample rate matches the saved waveform?
RCJacH is offline   Reply With Quote
Old 01-19-2017, 07:29 AM   #7
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Posts: 3,668
Default

cool plugins, thanks for your contribution.

Quote:
Originally Posted by mpl View Post
GUI-dependent
hahah.
__________________
mccrabney scripts: MIDI edits from the Arrange screen ala jjos/MPC sequencer
|sis - - - anacru| isn't what we performed: pls no extra noteons in loop recording
| - - - - - anacru|sis <==this is what we actually performed.
mccrabney is online now   Reply With Quote
Old 03-12-2017, 12:42 PM   #8
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by mpl View Post
Spectrum Matcher - used it in my latest audiocollage, very interesting results.
Yeah, specrum matcher is like EQ, but is way better. It aligns amplitude-frequency characteristic.
vitalker is online now   Reply With Quote
Old 03-12-2017, 01:03 PM   #9
zappsunzorn
Human being with feelings
 
zappsunzorn's Avatar
 
Join Date: Feb 2008
Location: Virginia Beach VA
Posts: 2,274
Default

How do you add the index to Reapacks? Sorry if I missed it.
zappsunzorn is offline   Reply With Quote
Old 01-21-2017, 01:50 AM   #10
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Quote:
Originally Posted by geraintluff View Post
Hi everyone! I wrote a few JSFX effects, and wanted to share them. All the information, including audio demos, is on the main website, but a quick summary and screenshots are below.

The best way to install is ReaPack, by adding the index: https://geraintluff.github.io/jsfx/index.xml - otherwise download the .jsfx files from GitHub.

PadSynth

This synth produces thick sounds, including per-note effects and modulators. (audio demos)

I made a thread about this effect before, but it has some new features now, as well as being available using ReaPack.



Spring-Box

This is an echo/chorus effect based on a matrix of 4 variable delay lines feeding back into each other. (audio demo)



Bad Connection

This effect randomly flips between two volumes to simulate poor connection or dropouts. (audio demo)



Sandwich Amp

This is a distortion effect with a before/after filter pair, width control and secondary input. (audio demo)



Spectrum Matcher

This analyses the difference in spectrum between an input and a model, and optionally corrects it.



Smooth Limiter

This limiter aims to have a smooth correction curve.

WOW !

Gonna try that spectrum matcher for sure !
vanhaze is offline   Reply With Quote
Old 02-15-2017, 08:53 AM   #11
citizenkeith
Human being with feelings
 
Join Date: Jun 2014
Location: Ohio
Posts: 978
Default

I have been using Spring Box a lot lately. It worked really well for an amped violin in a drone band. Yesterday, I used it on a grand piano in a very sparse mix (vocal, piano, backup vocals and some quiet, jazzy drums). I love the fact that it has that spring quality but doesn't try to sound lo-fi. There's character but some depth. Well done!
citizenkeith is offline   Reply With Quote
Old 02-15-2017, 11:43 AM   #12
Plazma
Human being with feelings
 
Join Date: May 2014
Posts: 293
Default

Please excuse my ignorance but how do you trigger padsynth?
How do you play it?
__________________
url]www.pennysound.co.za[/url] (Free & commercial Omnisphere patches)
Plazma is offline   Reply With Quote
Old 02-16-2017, 01:06 PM   #13
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by Plazma View Post
Please excuse my ignorance but how do you trigger padsynth?
How do you play it?
It's a MIDI synthesiser, so it should work like any other synth in REAPER.

Quote:
Originally Posted by TonE View Post
Can PadSynth load ZynAddSubFX or yoshimi presets? Thanks for sharing all this coolness!
I'm afraid not - they are different enough in terms of features/implementation that it wouldn't work in either direction.
geraintluff is offline   Reply With Quote
Old 03-12-2017, 11:29 AM   #14
Jorgen
Human being with feelings
 
Jorgen's Avatar
 
Join Date: Feb 2009
Location: Stockholm, Sweden
Posts: 5,465
Default

Great work -- I love this. Very generous of you! I'll try out Padsynth, sounded very good to me. That delay sounded fine, too. And I'm looking forward to check out the limiter. And the other stuff.

Only thing I miss in Reaper at the moment is a killer plate reverb. I'd use it on everything.
Jorgen is offline   Reply With Quote
Old 02-17-2018, 08:49 AM   #15
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Looking forward to check these out.
Thanks!
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 02-17-2018, 11:11 AM   #16
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Can't find it after install.
Tried eg. padsynth
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 02-18-2018, 01:42 AM   #17
Gianfini
Human being with feelings
 
Join Date: Jan 2015
Posts: 794
Default

Hi geraint, would it be possible to key in the EXACT amount of delay as ost plugs allow (e.g. by right clicking the knob and getting an input box?)

I was tring to get 0.7ms but no I wouldn't be able to get that axact amount with the mouse alone

thanks
g
Gianfini is offline   Reply With Quote
Old 02-18-2018, 06:32 AM   #18
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by Gianfini View Post
Hi geraint, would it be possible to key in the EXACT amount of delay as ost plugs allow (e.g. by right clicking the knob and getting an input box?)

I was tring to get 0.7ms but no I wouldn't be able to get that axact amount with the mouse alone
OK, released in Stereo Analysis Delay v1.2.4. Right-click or triple-click on the text to get a text-entry box. It updates the value when you click somewhere else in the UI.



That was a fun challenge - I'd been meaning to implement something like that for a while, so thanks for the push.

(Also, in all of my effects, if you drag the mouse left or right while adjusting a dial, it changes the sensitivity. However, that's still not great for dialing in exact values.)
geraintluff is offline   Reply With Quote
Old 02-18-2018, 01:51 PM   #19
Gianfini
Human being with feelings
 
Join Date: Jan 2015
Posts: 794
Default

Great job. Now it is my preferred delay!

g
Gianfini is offline   Reply With Quote
Old 02-19-2018, 07:47 AM   #20
timothys_monster
Human being with feelings
 
timothys_monster's Avatar
 
Join Date: Jan 2012
Location: Germany
Posts: 1,130
Default

Thank you so much for the numerical input!

This tool has become a life saver now

One tiny suggestion:
When you right click, could you make the whole text already selected, so that we only have to type in the value? Now we have to manually delete the value and the unit. You know, we use plugins because we are lazy :P
timothys_monster is offline   Reply With Quote
Old 09-01-2018, 10:57 AM   #21
woodslanding
Human being with feelings
 
woodslanding's Avatar
 
Join Date: Mar 2007
Location: Denver, CO
Posts: 633
Default

These are really creative and wonderful, thank you so much!
__________________
eric moon
Very Stable Genius
https://gogolab.com/
woodslanding is offline   Reply With Quote
Old 09-06-2018, 05:48 AM   #22
RCJacH
Human being with feelings
 
Join Date: Apr 2016
Location: Beijing, China
Posts: 215
Default

Just wondering if JSFX has the ability to render wave file.
I loved the padsynth jsfx since ever (especially after repeated failure to build zynaddsubfx for windows).
I'm trying to export the generated sample to a wave and used as a wavetable in other synths, what's the best way to do so other than manually recording the output and cutting at the 65536 samples?
RCJacH is offline   Reply With Quote
Old 09-06-2018, 06:59 AM   #23
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

You in fact can read a file into memory and use the content as a number of samples and then output one after the other in an @block to the sample variable(s).

BTW.: it would be better to create a new topic instead of hijacking an unrelated thread.

-Michael
mschnell is offline   Reply With Quote
Old 09-11-2018, 12:23 AM   #24
ReaMike
Human being with feelings
 
ReaMike's Avatar
 
Join Date: Feb 2017
Location: Sydney Australia
Posts: 140
Default

Very nice!
ReaMike is offline   Reply With Quote
Old 07-19-2020, 04:13 PM   #25
Raymond
Human being with feelings
 
Join Date: Jul 2020
Posts: 5
Default

Quote:
Originally Posted by geraintluff View Post

Hi everyone! I wrote a few JSFX effects, and wanted to share them. All the information, including audio demos, is on the main website.

There's also an incomplete but growing set of video demos/tutorials.

You can install them from ReaPack (by adding the index: https://geraintluff.github.io/jsfx/index.xml) or download a ZIP (too big for the Stash), or see the code on GitHub.
These are fantastic, thanks so much! I haven't tried everything (piano display was all I really needed) but you've made some real gems here. PadSynth in particular is really cool, in both your approach to the synth and some really great presets to show it off. Thanks again.
Raymond is offline   Reply With Quote
Old 07-20-2020, 11:00 AM   #26
daniellumertz
Human being with feelings
 
daniellumertz's Avatar
 
Join Date: Dec 2017
Location: Brazil
Posts: 1,992
Default

just discover this gem thank you soo muchhh!
daniellumertz is offline   Reply With Quote
Old 09-27-2020, 04:42 PM   #27
JMTee
Human being with feelings
 
JMTee's Avatar
 
Join Date: Mar 2010
Posts: 266
Default

Hi all,
Just downloaded these plugins, not sure how to get them to load in Reaper?
__________________
https://jmtee.bandcamp.com/
JMTee is offline   Reply With Quote
Old 09-27-2020, 04:50 PM   #28
mplay
Human being with feelings
 
Join Date: Jan 2009
Location: Curaçao
Posts: 410
Default

Quote:
Originally Posted by JMTee View Post
Hi all,
Just downloaded these plugins, not sure how to get them to load in Reaper?
Easiest way is with Reapack, after adding Reapack to reaper you just add the path mentioned in the first post of this thread
mplay is offline   Reply With Quote
Old 01-19-2021, 09:52 AM   #29
Dafarkias
Human being with feelings
 
Dafarkias's Avatar
 
Join Date: Feb 2019
Location: Southern Vermont
Posts: 864
Default

Tried your warble plugin for the first time today and am super impressed. I jump back and forth sometimes from between both Melodyne Studio and Waves Tune because both excel at different use-cases.

I really like your nudge feature, the circular tool seems so intuitive and blends edits seamlessly as compared to melodyne's note-blob operations.

I would be happy to donate towards you working more on this script (if that would be an option for you), and there are some things I think would make this script much easier to use for someone like myself.

1. It would be cool if you could assign hotkey/modifiers to the preexisting script functions (I would love to be able to change the zoom modifiers to match my REAPER settings).

2. A curve/rotation tool would be very handy, too, I think:



3. It would be really great if you could incorporate a feature like Melodyne's pitch modulation tool:



__________________

Support my feature request!

Last edited by Dafarkias; 01-19-2021 at 10:05 AM.
Dafarkias 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 03:51 AM.


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