Old 09-04-2016, 03:39 PM   #1
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 279
Default JSFX Synth: PadSynth

Hi everyone,

I've been working on a synth for a couple of weeks, and now it's ready for release!

I present: PadSynth - comments/bugs/feedback welcome.

Audio demos: https://soundcloud.com/geraintluff/s...acks-2/s-xUWj6 (no effects - just the synth)
Screenshots: http://imgur.com/a/IVc4u

Features:
* Waveform design with variable harmonic width
* Per-note effects chain (filter, distortion, FM)
* Parameter modulation (LFO, Envelope, MIDI controllers)

There are still things that need to be done - for one, it might need a manual! But hopefully you can use it to make some cool sounds.

-------

GitHub: https://github.com/geraintluff/jsfx-pad-synth
Stash: https://stash.reaper.fm/v/28401/pad-synth.jsfx

You'll need the UI library for it to work:
GitHub: https://github.com/geraintluff/jsfx-ui-lib
Stash: https://stash.reaper.fm/v/28400/ui-lib.jsfx-inc

Last edited by geraintluff; 09-20-2016 at 05:50 PM. Reason: Update description and demos
geraintluff is offline   Reply With Quote
Old 09-05-2016, 12:36 AM   #2
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 630
Default

Pretty cool, thanks! Nice UI too.

Last edited by Sju; 09-05-2016 at 12:42 AM.
Sju is offline   Reply With Quote
Old 09-05-2016, 01:41 AM   #3
eugen2777
Human being with feelings
 
eugen2777's Avatar
 
Join Date: Aug 2012
Posts: 271
Default

Cool! Perhaps it would be more convenient if the regeneration start automatically, for example, when you release the slider
__________________
ReaScripts
eugen2777 is offline   Reply With Quote
Old 09-05-2016, 01:47 AM   #4
akademie
Human being with feelings
 
Join Date: Mar 2007
Posts: 390
Default

Just "WOW!",
I have just listened to audio demos and it is fat as hell and really great sounding. Can you share some info about those demos, please? I mean like what FXs are used after the synth (chorus, delay, reverb, eq, compressor, etc)?

(I cannot test it right now)

Thanks
akademie

P.S. Expression Bass is AMAZING ;-)
akademie is offline   Reply With Quote
Old 09-05-2016, 02:27 AM   #5
SaulT
Human being with feelings
 
Join Date: Oct 2013
Location: Seattle, WA
Posts: 750
Default

I'm really, really impressed. Thanks a bunch, this is very cool!
SaulT is offline   Reply With Quote
Old 09-05-2016, 02:34 AM   #6
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 4,443
Default

Wow! Such a nice synth. The only its drawback is a lot of clicks to change one parameter. If add some features, it will sounds as great commercial synth.
__________________
Quote:
Originally Posted by Sexan View Post
Make a thread "F%#! you Reaper! I quit!" to get more views and feedback since these kind of threads get much more traction
SoundCloudFR: True Non-destructive GLUEAll the REAPER names
vitalker is online now   Reply With Quote
Old 09-05-2016, 04:39 AM   #7
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 279
Default

Quote:
Originally Posted by akademie View Post
Just "WOW!",
Can you share some info about those demos, please? I mean like what FXs are used after the synth (chorus, delay, reverb, eq, compressor, etc)?
Those demos are straight out of the synth - no EQ/chorus/anything. (I've just edited the original post to reflect that.)

The reason it can sound so "big" is that instead of generating a single cycle of the waveform and using that as a sample, it generates longer samples that already have a detuned sound. The "Width (cents)" parameter on the main page is what determines how detuned these samples are.

(More technically: it designs the samples in the frequency domain. It analyses the model waveform with an FFT, then converts each harmonic of the model waveform into a Gaussian-shaped smudge across several frequency bins, with random phase. It then does an I-FFT to get the samples.)

Quote:
Originally Posted by akademie View Post
P.S. Expression Bass is AMAZING ;-)
Thanks! "Expression Bass" is a demo of how you can modulate effect parameters with MIDI Controllers - in this sound, the Expression controller (11) is used to alter the base filter frequency. Attached is a screenshot of the MIDI going into the synth.
Attached Images
File Type: jpg expression-bass-small.jpg (61.5 KB, 91 views)

Last edited by geraintluff; 09-05-2016 at 04:53 AM.
geraintluff is offline   Reply With Quote
Old 09-05-2016, 05:49 AM   #8
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 630
Default

If you could modulate the Waveform parameters in real time, that would be really sweet. Not sure if possible with this synthesis method though?

PS. this synth creates awesome sounding basslines!

Last edited by Sju; 09-05-2016 at 06:43 AM.
Sju is offline   Reply With Quote
Old 09-05-2016, 08:43 AM   #9
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 279
Default

Quote:
Originally Posted by Sju View Post
If you could modulate the Waveform parameters in real time, that would be really sweet. Not sure if possible with this synthesis method though?
Yes, that's accurate - since the waveform parameters are used to generate samples which are then played back, there's nothing "live" to modulate.

The "warp" and "mod" waveform parameters are a non-linear filter and basic FM mod respectively. Both distortion and FM would be good effects to add to the effects list (where they could be modulated) but they would not sound the same as the waveform parameters.
geraintluff is offline   Reply With Quote
Old 09-05-2016, 02:00 PM   #10
Smashed Transistors
Human being with feelings
 
Smashed Transistors's Avatar
 
Join Date: Jul 2014
Location: Là bas les huîtres (FR)
Posts: 424
Default

I have the same issue with my prepared wave table synth:https://stash.reaper.fm/v/23436/PWT_mkII.zip which uses multiple wavetables to simulate dynamics. FFT are great but updating big wave tables realtime is really CPU intensive.


By the way, your idea of using harmonic clusters rather than pure harmonics in the inverse FFT is awesome !
Did you used randem phases as well: it avoids coincident phase cancellation and gives a smooth chorus effect.

I'll check the Pad synth when i'll be on a decent computer
__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...
Smashed Transistors is offline   Reply With Quote
Old 09-05-2016, 04:01 PM   #11
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 279
Default

Quote:
Originally Posted by Sju View Post
If you could modulate the Waveform parameters in real time, that would be really sweet. Not sure if possible with this synthesis method though?
OK, I've added an FM mod as an effect. It's the same basic operation as the "mod" waveform parameter - it's not exactly the same sound, but it is automatable.

Quote:
Originally Posted by Smashed Transistors View Post
Did you used randem phases as well
Yes, the phases are random - I've vacillated a bit about how to generate them, but it currently produces independently random Mid and Side (and normalises RMS for them separately), so that it gives consistent results when altering the stereo width.

It's currently limited to the maximum FFT size REAPER provides (32768) - I should be able to implement a larger one by factorising it into two sub-32768 parts, but that's a little way down my TODO list.
geraintluff is offline   Reply With Quote
Old 09-05-2016, 10:39 PM   #12
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 4,736
Default

Many thanks !

But where do i put the ui-lib file ?
I am on OSX.
vanhaze is offline   Reply With Quote
Old 09-06-2016, 08:55 AM   #13
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 279
Default

Quote:
Originally Posted by vanhaze View Post
But where do i put the ui-lib file?
You place it in the same directory as the effect. It should not show up as a separate effect due to its extension.
geraintluff is offline   Reply With Quote
Old 09-06-2016, 12:45 PM   #14
jcjr
Human being with feelings
 
Join Date: Dec 2015
Location: SE TN USA
Posts: 74
Default

Those are nice sounding demos!
jcjr is offline   Reply With Quote
Old 09-06-2016, 01:49 PM   #15
Smashed Transistors
Human being with feelings
 
Smashed Transistors's Avatar
 
Join Date: Jul 2014
Location: Là bas les huîtres (FR)
Posts: 424
Default

@jcjr The demos are great but the PadSynth is even better ! It has a very particular sound and very few synth matches this one !! Beware, it is addictive.

I added a GeraintLuff directory to my Reaper/Effects


Geraint, you may try my PWT synth, it's sort of cousin of yours (FFT based with a chain of three "modifiers")... even if it sounds very different (it wasn't designed to be smooth).

PadSynth is very very smooth, it really does not need any effect !

You use MIPMAPs every 5 notes for the anti aliasing ?
__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...

Last edited by Smashed Transistors; 09-06-2016 at 01:58 PM.
Smashed Transistors is offline   Reply With Quote
Old 09-06-2016, 09:48 PM   #16
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Germany
Posts: 6,615
Default

It's amazing what can be done by JSFX !!!

-Michael
__________________
www.boa-sorte.de
mschnell is offline   Reply With Quote
Old 09-13-2016, 02:24 AM   #17
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 630
Default

Quote:
Originally Posted by geraintluff View Post
OK, I've added an FM mod as an effect. It's the same basic operation as the "mod" waveform parameter - it's not exactly the same sound, but it is automatable.
Thank you! Love this synth
Sju is offline   Reply With Quote
Old 09-20-2016, 07:07 AM   #18
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 279
Default New version

Hi everyone - I've done some more work on this, so here's a new version.

(new audio demos here)

Extra features:

* Detuning width is now modulatable! This was an important one for me, but it took me a little while to figure out the best approach.
* Samples are now 65536 long - I think this makes a big difference because you don't hear the sample looping as much any more
* Envelope modulator (attack/release)
* Distortion and FM mod effects

I've included some updated presets.

Enjoy!
Geraint
Attached Files
File Type: rpl padsynth-presets.rpl (15.4 KB, 59 views)
geraintluff is offline   Reply With Quote
Old 09-20-2016, 01:33 PM   #19
Smashed Transistors
Human being with feelings
 
Smashed Transistors's Avatar
 
Join Date: Jul 2014
Location: Là bas les huîtres (FR)
Posts: 424
Default

Thanks for the update Geraint !

The "effect" section is almost modular... tons of modulations are possible there !
__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...
Smashed Transistors is offline   Reply With Quote
Old 09-23-2016, 12:24 AM   #20
geoslake
Human being with feelings
 
Join Date: Apr 2007
Posts: 348
Default

Wow thats crazy good.
Would be great to be able to automate the FM parameters (as those are applied instantly, I imagine its possible ?)
geoslake is offline   Reply With Quote
Old 09-23-2016, 01:33 AM   #21
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 279
Default

Quote:
Originally Posted by geoslake View Post
Wow thats crazy good.
Would be great to be able to automate the FM parameters (as those are applied instantly, I imagine its possible ?)
Just to check: there are two FM sections, which one are you talking about? The "mod" bits of the "Waveform" screen are not automatable because they're used once to generate samples.

The parameters of the "Harmonic Modulator (FM)" effect has one parameter ("depth") available for automation - but others could be made available (although they wouldn't be smooth, they'd be rounded to the nearest "nice" value).

Currently automation is possible using MIDI controllers, but it would be possible to implement sliders/native automation if there's demand.

Glad you're enjoying it.
geraintluff 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 11:01 AM.


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