|
|
|
01-17-2017, 03:32 PM
|
#1
|
Human being with feelings
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
|
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)
Last edited by geraintluff; 06-15-2019 at 02:15 PM.
Reason: Changed title
|
|
|
01-17-2017, 04:54 PM
|
#2
|
Human being with feelings
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,754
|
Very interesting, thank you !
|
|
|
01-17-2017, 06:21 PM
|
#3
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,874
|
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.
|
|
|
01-18-2017, 12:22 AM
|
#4
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
|
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.
|
|
|
01-18-2017, 02:09 AM
|
#5
|
Human being with feelings
Join Date: Mar 2013
Posts: 213
|
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
|
|
|
01-18-2017, 03:11 AM
|
#6
|
Human being with feelings
Join Date: Apr 2016
Location: Beijing, China
Posts: 215
|
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?
|
|
|
01-18-2017, 03:24 AM
|
#7
|
Human being with feelings
Join Date: Mar 2016
Posts: 117
|
wow Great! Thank you !
|
|
|
01-18-2017, 05:16 PM
|
#8
|
Human being with feelings
Join Date: Mar 2015
Location: Moscow, Russia
Posts: 206
|
Woah, can't wait to try them out. Thanks for creating this overview topic!
|
|
|
01-18-2017, 06:23 PM
|
#9
|
Human being with feelings
Join Date: Jun 2015
Posts: 685
|
Sweet! Thank you! What's new in Padsynth?
|
|
|
01-19-2017, 03:08 AM
|
#10
|
Human being with feelings
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
|
Tried the effects and had quite a bit of fun with them. The limiter sounds nice to me, and the Bad Connection effect is great. I'm certainly enjoying the Spring Box, and can even see myself using the distortion effect from time to time.
Nice clean GUIs too.
Thank you very much for sharing.
|
|
|
01-19-2017, 03:48 AM
|
#11
|
Human being with feelings
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
|
Quote:
Originally Posted by Sju
Sweet! Thank you! What's new in Padsynth?
|
My apologies - I'd made some changes but not pushed/released it properly (fixed now, v1.0.2).
It's not huge, but the new feature is a slider-based modulator. There are now 8 automatable sliders which you can used to control aspects of the sound. A screenshot is attached, and here's what that sounds like (first slider is detuning/thickness, second is filter frequency).
Quote:
Originally Posted by RCJacH
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?
|
Fixed! Thanks for pointing this out.
|
|
|
01-19-2017, 07:29 AM
|
#12
|
Human being with feelings
Join Date: Aug 2015
Posts: 3,668
|
cool plugins, thanks for your contribution.
Quote:
Originally Posted by mpl
GUI-dependent
|
hahah.
|
|
|
01-19-2017, 07:43 AM
|
#13
|
Human being with feelings
Join Date: Nov 2015
Posts: 54
|
Here are some EDM-oriented presets for PadSynth!
It's a really fun synth! Thanks, geraintluff!
Checking out the other JSFX now...
|
|
|
01-19-2017, 11:29 AM
|
#14
|
Human being with feelings
Join Date: Apr 2012
Location: Denver, CO
Posts: 249
|
How to install? SOLVED
Quote:
Originally Posted by yellowmix
Here are some EDM-oriented presets for PadSynth!
It's a really fun synth! Thanks, geraintluff!
Checking out the other JSFX now...
|
I have never figured out where to put .RPL files so that a JFSX can find it. Can someone give me instruction?
EDIT: OK I feel dumb. There is an "import preset library" on the "+" button of all the JSFX and VSTs. Should have known it.
And THANKS, geraintluff! This is great stuff.
Thanks
Last edited by cyrilfb; 01-19-2017 at 02:30 PM.
Reason: Solved the problem
|
|
|
01-19-2017, 01:29 PM
|
#15
|
Human being with feelings
Join Date: Jun 2015
Posts: 685
|
EDIT: Nevermind, the update worked now!
Last edited by Sju; 01-19-2017 at 07:40 PM.
|
|
|
01-20-2017, 01:21 PM
|
#16
|
Human being with feelings
Join Date: Aug 2014
Posts: 34
|
Very nice. Thank you!
|
|
|
01-20-2017, 08:18 PM
|
#17
|
Human being with feelings
Join Date: Aug 2012
Location: Around Montréal
Posts: 1,117
|
Nice stuff ! I'm playing around with Padsynth very cool! I found some presets using the link in the Reapack. Is there any reason why those are not installed by default ?
I'm looking at some other stuff also downloaded from the Reapacks, like other synths or FX how do we know if there are some presets available or not? Anyway to get them installed by Reapack by default ?
|
|
|
01-21-2017, 01:50 AM
|
#18
|
Human being with feelings
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
|
Quote:
Originally Posted by geraintluff
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 !
|
|
|
02-15-2017, 08:53 AM
|
#19
|
Human being with feelings
Join Date: Jun 2014
Location: Ohio
Posts: 978
|
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!
|
|
|
02-15-2017, 11:43 AM
|
#20
|
Human being with feelings
Join Date: May 2014
Posts: 293
|
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)
|
|
|
02-16-2017, 01:06 PM
|
#21
|
Human being with feelings
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
|
Quote:
Originally Posted by Plazma
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
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.
|
|
|
03-12-2017, 11:29 AM
|
#22
|
Human being with feelings
Join Date: Feb 2009
Location: Stockholm, Sweden
Posts: 5,465
|
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.
|
|
|
03-12-2017, 12:42 PM
|
#23
|
Human being with feelings
Join Date: Dec 2012
Posts: 13,333
|
Quote:
Originally Posted by mpl
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.
|
|
|
03-12-2017, 01:03 PM
|
#24
|
Human being with feelings
Join Date: Feb 2008
Location: Virginia Beach VA
Posts: 2,274
|
How do you add the index to Reapacks? Sorry if I missed it.
|
|
|
03-12-2017, 01:09 PM
|
#25
|
Human being with feelings
Join Date: Dec 2012
Posts: 13,333
|
Quote:
Originally Posted by zappsunzorn
How do you add the index to Reapacks? Sorry if I missed it.
|
Extensions->ReaPack->Import a repository...
|
|
|
03-12-2017, 01:21 PM
|
#26
|
Human being with feelings
Join Date: Feb 2008
Location: Virginia Beach VA
Posts: 2,274
|
Quote:
Originally Posted by vitalker
Extensions->ReaPack->Import a repository...
|
Thank you! I knew it was something silly easy. :P
|
|
|
03-13-2017, 04:18 PM
|
#27
|
Petit manitou
Join Date: Feb 2009
Location: Gémenos France
Posts: 7,347
|
Thank you very much ! it's very impressiv !
|
|
|
03-13-2017, 04:55 PM
|
#28
|
Human being with feelings
Join Date: Aug 2014
Location: Netherlands
Posts: 882
|
Thank you!
|
|
|
05-10-2017, 12:54 PM
|
#29
|
Human being with feelings
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
|
Update to Hammer And Chord
Hi everyone,
I've released a new version of Hammer And Chord (v1.0.3), which optionally uses a noise-based ring-mod to disrupt tonal components in the input audio.
Previously when using Hammer And Chord as a resonator, if the input audio was highly tonal, those tonal elements would be audible in the result. This isn't a problem for drums or noisy signals, but it is a problem if it's being used as a harmoniser/vocoder-ish effect on vocals. The "De-tonal" setting enables the modulator to counteract this.
Here's an audio demo that illustrates the difference. (The modulator applies to L+R channels independently, so it also gives a stereo effect for mono inputs)
As a bonus - here's a recording of a fireplace, and here's the same recording put through Hammer And Chord (with a bit of reverb from Spring Box).
Last edited by geraintluff; 05-10-2017 at 01:17 PM.
|
|
|
07-11-2017, 06:34 AM
|
#30
|
Human being with feelings
Join Date: Dec 2014
Posts: 417
|
geraintluff,
Thank you for these wonderful JSFX.
I love the Learning Sampler! While playing with it I thought of some stuff that might be really useful and was wondering if you'd be willing to implement any of these ideas?
1)The ability to assign a specific MODI note as the "Learn Controller"
maybe it could work in one of two ways. 1.Playback mode is switched on when the assigned note is released., or 2.Playback mode is turned on when the assigned note is triggered a second time.
2)The ability to bounce the recordings in the buffer to the project or direct to disk as a .wav file. A couple of ideas come to mind if bouncing to the project. 1.If multiple notes where sampled then maybe each one becomes a separate item in the project. 2.Maybe the actual notes played could also be bounced as a MIDI item on a second track, and/or as project markers indicating the start/stop positions in the buffer.
3)A button that could maybe also be controlled using a MIDI note that would be used to clear the buffer.
...anyway just some ideas, and thanks again for this awesome tool.
|
|
|
07-12-2017, 10:58 AM
|
#31
|
Human being with feelings
Join Date: Dec 2011
Posts: 2,161
|
Very nice tools .... Thanks for sharing !
|
|
|
07-13-2017, 01:13 AM
|
#32
|
Human being with feelings
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
|
Quote:
Originally Posted by NextLevel
I love the Learning Sampler! While playing with it I thought of some stuff that might be really useful and was wondering if you'd be willing to implement any of these ideas?
|
Thanks for the feedback! #1 and #3 are definitely possible - taking MIDI input is straightforward.
Unfortunately, #2 cannot be done from within JSFX. Manipulating or generating items or tracks in REAPER can be done from ReaScripts, but not JSFX.
I'll try and have a look at #1 and #3 soon, though - I can see how those would be useful!
|
|
|
07-13-2017, 01:15 AM
|
#33
|
Human being with feelings
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
|
New effect: Humonica - a harmoniser
I've added a new effect: a harmoniser called Humonica. It works by periodically sampling the input, converting to a zero-phase impulse, and using that result to resynthesise notes. (audio demo)
The resynthesised notes can sound very "basic", because they are made up of exact frequencies, however they can be softened with chorus. ( audio demo with Spring-Box chorus and reverb)
|
|
|
07-13-2017, 02:32 AM
|
#34
|
Human being with feelings
Join Date: Jun 2015
Posts: 685
|
Damn, You make one of the coolest JS effects/instruments! Thanks!
PS.
Quote:
Originally Posted by geraintluff
Thanks for the feedback! #1 and #3 are definitely possible - taking MIDI input is straightforward.
Unfortunately, #2 cannot be done from within JSFX. Manipulating or generating items or tracks in REAPER can be done from ReaScripts, but not JSFX.
I'll try and have a look at #1 and #3 soon, though - I can see how those would be useful!
|
Eugen2777 does this with his Script: gen_Retrospective Record (audio).eel
|
|
|
07-13-2017, 03:19 AM
|
#35
|
Human being with feelings
Join Date: Dec 2014
Posts: 417
|
Quote:
Originally Posted by geraintluff
Thanks for the feedback! #1 and #3 are definitely possible - taking MIDI input is straightforward.
Unfortunately, #2 cannot be done from within JSFX. Manipulating or generating items or tracks in REAPER can be done from ReaScripts, but not JSFX.
I'll try and have a look at #1 and #3 soon, though - I can see how those would be useful!
|
Cool.., thank you!
|
|
|
07-20-2017, 03:01 PM
|
#36
|
Human being with feelings
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
|
New Release
New releases for PadSynth and Humonica!
PadSynth v1.1.1 - new features: - Draw the detuning curve (not just Gaussian) freehand with mouse (including Shift+Click for straight lines)
- Velocity/controller effect can be inverted (in Effect section)
- Velocity response curve (in Envelope section)
Humonica v1.1.0 - new features: - Timbre shifter - fixed shift, or track with frequency (relative to middle C)
Last edited by geraintluff; 07-21-2017 at 11:19 AM.
|
|
|
12-09-2017, 09:54 PM
|
#37
|
Human being with feelings
Join Date: Aug 2007
Posts: 177
|
Could someone provide the steps to use the Spectrum Matcher, please?
Do I need to replace the source with the destination on the same track.
Thanks.
|
|
|
12-10-2017, 12:49 AM
|
#38
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
|
Quote:
Originally Posted by cymbals
Could someone provide the steps ...
|
Any decent script should be provided via ReaPack and witht hat easily selectable and installable.
Any decent script on ReaPack should come with a decent "About" section to make it findable before installing and decently usable afterwards.
-Michael (rather restricted vocabulary in English )
Last edited by mschnell; 12-10-2017 at 05:47 AM.
|
|
|
12-10-2017, 09:39 AM
|
#39
|
Human being with feelings
Join Date: Aug 2007
Posts: 177
|
Veto, thank you so much for explaining it!!
|
|
|
12-11-2017, 10:18 AM
|
#40
|
Human being with feelings
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
|
I'm glad people are using it! Sorry I haven't got around to writing proper guides and documentation for these. There's always an interesting feature I could be adding instead. I'd love to make some videos at some point, to go into a bit more detail.
--------EDIT 2018-04-01
The performance issue mentioned below is no longer as true - I changed some things and got a 5x speedup, so I now use Spectrum Matcher directly without ReaEQ.
--------
Be mildly warned: Spectrum Matcher uses more CPU than you might expect (it's basically a 30-band EQ - I considered using FFT instead, but there are reasons to do the analysis this way.). Rather than have 10 instances running at once, I personally use this correction as a preview, and then use the correction curves to create a matching curve in ReaEQ. (If you hover over the top graph, it should show you the frequency/dB values of its correction curve.)
For presets: if you save a preset right after hitting "Reset" (step 7 in Veto's list), it saves the reference spectrum but not any of the current analysis, so you can load the reference up later or in a different instance on the source track.
Veto: thanks for the good explanation. Also, thanks for pointing out the errors, I'll look at those this evening. (I'm not sure how many people use Warble, it was mostly written for my own edification, but I'll fix it anyway.)
Last edited by geraintluff; 04-01-2018 at 08:41 AM.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 01:51 AM.
|