Old 02-08-2015, 05:18 AM   #1
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default Tale's JSFX Pack

I have just uploaded another update of my JSFX mono_synth and other plug-ins and libraries. Because mono_synth is no longer alone I have decided to rename my collection and start a new thread for it.

Download/audio demos/documentation:
http://www.taletn.com/reaper/mono_synth/

The pack includes these JSFX plug-ins:
  • ab_mono: A/B two mono channels.
  • colored_noise: Colored noise generator.
  • drum_synth: Simple drum synth.
  • midi_sustain: MIDI sustain emulator.
  • midi_vibrato: MIDI vibrato via Pitch Bend.
  • mono_synth: Simple mono/poly synth.
  • poly_mono_midi_router: Dynamic poly/mono MIDI router.
  • random_midi_notes: Random MIDI note generator.
  • rc_filter: Multimode RC filter.
  • tube_amp: Preamp simulation.
  • wavetable_synth: Paraphonic wavetable synth (work in progress).

It also includes my JSFX libraries, see:
http://www.taletn.com/reaper/mono_synth/#lib

And here is my preliminary mono_synth REAPER preset library:
http://www.taletn.com/reaper/mono_sy...mono_synth.zip

Last edited by Tale; 11-25-2019 at 11:04 AM. Reason: Added midi_vibrato, rc_filter, tube_amp, more cowbell, RPL.
Tale is offline   Reply With Quote
Old 02-08-2015, 05:37 AM   #2
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 Tale.
__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...
Smashed Transistors is offline   Reply With Quote
Old 02-08-2015, 05:44 AM   #3
Concrete
Human being with feelings
 
Concrete's Avatar
 
Join Date: Oct 2013
Location: Melbourne
Posts: 61
Default

Excellent! Thanks Tale
__________________
__________________
Signed by the Said?
Concrete is offline   Reply With Quote
Old 02-08-2015, 10:27 AM   #4
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default

You are welcome.

I have just uploaded a quick audio demo of drum_synth:
http://www.taletn.com/reaper/mono_sy...2_Bars_Wet.mp3

It alternates between 2 bars dry (i.e. just drum_synth), and 2 bars with ReaVerbate and ReaComp added.
Tale is offline   Reply With Quote
Old 02-08-2015, 02:12 PM   #5
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,388
Default

Thanks Tale!
IXix is offline   Reply With Quote
Old 02-15-2015, 12:11 PM   #6
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default v20150215

You are welcome.

--

I have just uploaded v20150215.

Changes:
  • drum_synth: Improved low/mid/high tom sound.
  • drum_synth: Optimised drive algorithm, non-multichannel output.
  • wavetable_synth: Extended filter Q range.
  • wavetable_synth: Implemented tuning.
Tale is offline   Reply With Quote
Old 02-15-2015, 12:37 PM   #7
Cosmic
Human being with feelings
 
Cosmic's Avatar
 
Join Date: Jul 2010
Location: Online
Posts: 4,643
Default

Yer unstoppable!

Thanks man!
__________________
it aint worth a bop,if it dont got that pop
Cosmic is offline   Reply With Quote
Old 02-16-2015, 09:01 AM   #8
witti
Human being with feelings
 
witti's Avatar
 
Join Date: May 2012
Posts: 1,186
Default

Thank you Tale !

The drum synth is very nice. And so is all your other stuff !

witti
witti is offline   Reply With Quote
Old 02-16-2015, 09:17 AM   #9
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default

You guys are welcome.

Quote:
Originally Posted by witti View Post
The drum synth is very nice.
Thanks. I guess it is a bit simple (it uses a single white noise source, a couple of sine wave oscillators, and some filters), but the idea is to have a quick loading, free, GM combatible drum synth, which you can use while tracking (and which you will probably replace with something better afterwards). I would like to expand the number of percussion instruments though (more cowbell, anyone? ), if time permits.
Tale is offline   Reply With Quote
Old 02-20-2015, 05:52 PM   #10
Badmotor
Human being with feelings
 
Join Date: Aug 2011
Posts: 219
Default

I don't know if anyone else has tried this but...

If you run random midi note generator > drum synth > mono synth on the same channel, you get

ROBOT JAZZ!
Badmotor is offline   Reply With Quote
Old 02-20-2015, 06:12 PM   #11
avoca
Human being with feelings
 
avoca's Avatar
 
Join Date: Jun 2008
Location: Ireland
Posts: 174
Default

Quote:
Originally Posted by Badmotor View Post
I don't know if anyone else has tried this but...

If you run random midi note generator > drum synth > mono synth on the same channel, you get

ROBOT JAZZ!
! Niiiiice with the Hammond waveform preset in mono_synth
avoca is offline   Reply With Quote
Old 02-20-2015, 07:18 PM   #12
Badmotor
Human being with feelings
 
Join Date: Aug 2011
Posts: 219
Default

Quote:
Originally Posted by avoca View Post
! Niiiiice with the Hammond waveform preset in mono_synth
Ha, I just tried the Hammond. Nice. You know, you could bang out an entire album of this in like half an hour and upload it to Bandcamp with some artwork and tag it #avant jazz or something.

I wonder if anyone would appreciate that. You could do 200 albums in a week.
Badmotor is offline   Reply With Quote
Old 02-21-2015, 02:25 AM   #13
avoca
Human being with feelings
 
avoca's Avatar
 
Join Date: Jun 2008
Location: Ireland
Posts: 174
Default

Quote:
Originally Posted by Badmotor View Post
Ha, I just tried the Hammond. Nice. You know, you could bang out an entire album of this in like half an hour and upload it to Bandcamp with some artwork and tag it #avant jazz or something.

I wonder if anyone would appreciate that. You could do 200 albums in a week.


And thanks, Tale! Lots of great plugins.
I love the wavetable_synth and "grey noise" right now.
I might be able to get a button accordion sound out of these
avoca is offline   Reply With Quote
Old 02-22-2015, 04:50 AM   #14
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default

Quote:
Originally Posted by Badmotor View Post
I don't know if anyone else has tried this but...

If you run random midi note generator > drum synth > mono synth on the same channel, you get

ROBOT JAZZ!
Hehe, cool! Then increase random_midi_notes' polyphony, add tons of ReaVerbate (wet only), and it will scare the living sh*t out of you!

Quote:
Originally Posted by avoca View Post
And thanks, Tale! Lots of great plugins.
I love the wavetable_synth and "grey noise" right now.
I might be able to get a button accordion sound out of these
You are welcome.
Tale is offline   Reply With Quote
Old 03-21-2015, 06:42 PM   #15
argee
Human being with feelings
 
Join Date: Mar 2007
Location: Surrey, BC
Posts: 740
Default

Hi Tale,

I've been having fun with your Mono/Poly synth! I decided to try making a GUI for it and came up with this:



No bitmap graphics with this one. It's the usual click-and-drag GUI but also works with the mousewheel

I think the knob code I borrowed is yours!

If you're OK with it, I'll upload it to the stash. If you're not, that's cool, it was a fun exercise anyway.

Thanks for the great little synth!

cheers,

argee
argee is offline   Reply With Quote
Old 03-22-2015, 01:20 AM   #16
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default

Quote:
Originally Posted by argee View Post
I've been having fun with your Mono/Poly synth! I decided to try making a GUI for it and came up with this:

https://stash.reaper.fm/23698/mono_synthGUI.PNG
Cool!

Quote:
Originally Posted by argee View Post
If you're OK with it, I'll upload it to the stash.
Yeah sure.
Tale is offline   Reply With Quote
Old 03-22-2015, 05:38 AM   #17
argee
Human being with feelings
 
Join Date: Mar 2007
Location: Surrey, BC
Posts: 740
Default

Ok, here's the link:

https://stash.reaper.fm/23699/mono_synthGUI.zip

NOTE: @slider section code was moved to @block section to preserve functionality
Left MB sets control value, Right MB resets to default value
Mouse wheel works on all controls except Mode selector - you must hold down Left MB to use the mouse wheel,
except on the Waveform list
CTRL (fine increment) and ALT (large increment) key modifiers work for click-drag and mouse wheel

cheers,

argee
argee is offline   Reply With Quote
Old 03-22-2015, 05:46 AM   #18
avoca
Human being with feelings
 
avoca's Avatar
 
Join Date: Jun 2008
Location: Ireland
Posts: 174
Default

argee,

I love it, ta!
avoca is offline   Reply With Quote
Old 03-23-2015, 07:49 AM   #19
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default v20150322

Quote:
Originally Posted by argee View Post
Nice!

--

Meanwhile I have updated my JSFX pack to v20150322.

Changes:
  • rc_filter: Added a multimode RC filter effect.
  • malloc: Added dynamic memory management library (malloc.jsfx-inc).
  • wavetable_synth: Added velocity control, phase lock.
  • wavetable_synth: Added Combo Organ, Full Organ wavetables.
  • colored_noise/mono_synth/wavetable_synth: Nitpicked gain calculation.
  • rbj: Removed Direct Form I/II instance variables.
  • zdf: Nitpicked gain over Q in documentation.
Tale is offline   Reply With Quote
Old 03-23-2015, 12:04 PM   #20
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,388
Default

Thanks Tale! I'll be interested to see how you've done malloc. I've dabbled with that idea myself.
IXix is offline   Reply With Quote
Old 03-23-2015, 01:47 PM   #21
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default

Quote:
Originally Posted by IXix View Post
Thanks Tale! I'll be interested to see how you've done malloc. I've dabbled with that idea myself.
Short answer: http://www.taletn.com/reaper/mono_synth/#malloc

Long answer: Well, it is very basic. I simply copied functionality from C's stdlib, so I have:

Code:
ptr = malloc(size); // uninitialized
ptr = calloc(num, size); // pre-zeroed, meh

new_ptr = realloc(old_ptr, size);

free(ptr);

// Unlike C, but possibly useful:
avail_ptr = malloc(0);
realloc() shrinks/grows the block (the latter is only possible for the last block, or if the block was previously shrunk), or else it moves the block to a new location.

free() marks a block as available, so subsequent malloc() calls will reuse the block if possible, unless you happen to free the last block, in which case free() actually frees the memory.

malloc(0) returns the next available block of memory, so you can use this directly (i.e. unmanaged) providing that you don't call malloc(), calloc() or realloc() anymore.

Note that I don't check if memory actually is available, so you might as well assume the functions will never fail...
Tale is offline   Reply With Quote
Old 04-05-2015, 08:39 AM   #22
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default v20150405

I have just uploaded v20150405 of Tale's JSFX Pack.

Changes:
  • lcg: Reimplemented using Lehmer random number generator (MINSTD).
  • lcg: Optimised random/white noise generators.
  • lcg: Added unit testing.
  • colored_noise/drum_synth/mono_synth: Fixed noise gain depending on sample rate.
  • poly: Optimised waveform generators.
  • poly: Restored REAPER 4.25..4.591 support.
Tale is offline   Reply With Quote
Old 04-07-2015, 01:56 PM   #23
David Else
Human being with feelings
 
David Else's Avatar
 
Join Date: Mar 2012
Location: Near London, UK
Posts: 577
Default

I have just made an instruction video for how to use the poly_mono_midi_router plugin.

Please checkout the blog post and the video. I hope it helps people, thanks again Tale for this amazing gift

http://www.learndigitalaudio.com/blo...free-in-reaper

There is a YouTube video there that contains all the instructions, I would embed it here if the forum would let me.
__________________
----------> Fedora Linux Distribution = Computing Joy & Freedom <----------
Learn Digital Audio Home | 'Nebula Explained' Course Out Now! | YouTube Channel | Twitter
David Else is offline   Reply With Quote
Old 04-07-2015, 03:04 PM   #24
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default

Quote:
Originally Posted by David Else View Post
There is a YouTube video there that contains all the instructions, I would embed it here if the forum would let me.
Well, lets see, this should work (but without the spaces):

Code:
[ youtube ] UY1SMp_XRp4 [ /youtube ]


That is a very nice tutorial BTW, thanks for sharing.
Tale is offline   Reply With Quote
Old 04-08-2015, 02:28 PM   #25
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default v20150408

'nother update already!

Changes:
  • drum_synth: Added tambourine, cowbell (audio demo).
  • drum_synth: Moved/interleaved volume/pan sliders.
  • drum_synth: Tweaked drive.
  • tube_amp: Added tube amp effect.
  • os: Added 2x oversampler library (oversampler.jsfx-inc).

Note: To make room for the tambourine and cowbell in drum_synth I had to undo a bad design decision I made earlier (hence the moved/interleaved sliders). Old projects should still work, but if they don't: My bad, sorry!

The tube amp is a simple preamp simulation (i.e. tanh soft clipping), which uses my new 2x oversampling library for up to 8x oversampling to reduce aliasing.
Tale is offline   Reply With Quote
Old 04-09-2015, 01:06 PM   #26
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,388
Default

Cool! Thanks Tale!
IXix is offline   Reply With Quote
Old 04-10-2015, 05:49 AM   #27
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 4,842
Default

Quote:
Originally Posted by Tale View Post
Well, lets see, this should work (but without the spaces)
This plugin is a wonder! I've never seen something similar!
__________________
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 04-14-2015, 02:28 PM   #28
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default v20150414

Minor update, v20150414, after a suggestion by a helpful KVR/REAPER user.

Change:
  • poly_mono_midi_router: Added round robin.

(This option may have been discussed here as well at some point, but I think back then I didn't get it. If so, then oops! but better late than never...)
Tale is offline   Reply With Quote
Old 04-15-2015, 02:38 AM   #29
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default v20150415

Today's update, v20150415, is here.

Changes:
  • poly_mono_midi_router: Fixed hanging duplicate notes in round-robin mode.
  • poly_mono_midi_router: Safer MIDI status byte parsing.
Tale is offline   Reply With Quote
Old 05-27-2015, 03:10 PM   #30
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default v20150527

I have just updated my JSFX pack to v20150527.

Changes:
  • mono_synth: Added last-note priority to mono mode.
  • mono_synth: Fixed hold pedal releasing replaying notes.
  • os: Added os_os2() for 2x downsampling only.
  • os: Simplified existing example, added second example.

Oh, and I have uploaded my preliminary mono_synth REAPER preset library:
http://www.taletn.com/reaper/mono_sy...mono_synth.zip

Last edited by Tale; 05-29-2015 at 01:24 PM. Reason: Zipped RPL
Tale is offline   Reply With Quote
Old 06-07-2015, 11:53 AM   #31
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default v20150607

I have just uploaded v20150607.

Changes:
  • wavetable_synth: Implemented pan.
  • mono_synth: Fixed initial volume/pan gain.
  • array: Added simple two-dimensional array library (array.jsfx-inc).
  • midiq: Added midiq_alloc().
Tale is offline   Reply With Quote
Old 06-07-2015, 12:03 PM   #32
Reaperto
Human being with feelings
 
Reaperto's Avatar
 
Join Date: Apr 2011
Location: Buenos Aires - Argentina
Posts: 468
Default

Thanks for sharing, Tale! Great work!
__________________
ReaLoaded!
Reaperto is offline   Reply With Quote
Old 06-11-2015, 05:07 AM   #33
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default

Quote:
Originally Posted by TonE View Post
I like Combo Model F. Did you create this, too?
I sure did that thing.
Tale is offline   Reply With Quote
Old 06-11-2015, 08:51 AM   #34
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default

Quote:
Originally Posted by TonE View Post
Why? Was nothing already available? What were your motivations? Asking out of curiosity. It sounds really cool.
Thanks. Yeah, there were Farfisa/Vox options in some of the Hammond organ sims (e.g. B4, VB3), but IMHO they were lacking in both accuracy and flexibility. Then there were some generic transistor organ sims (e.g. ComboSister), which IMHO didn't really behave or sound like a real electronic organ. And I guess there were sample sets available, but I generally prefer modelled instruments.

So after I had already been playing around with JSFX for a while I just thought, why not make an organ plug-in myself.
Tale is offline   Reply With Quote
Old 06-12-2015, 11:08 AM   #35
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,388
Default

Quote:
Originally Posted by Tale View Post
So after I had already been playing around with JSFX for a while I just thought, why not make an organ plug-in myself.
Can do attitude.
IXix is offline   Reply With Quote
Old 06-13-2015, 02:37 PM   #36
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default

Quote:
Originally Posted by IXix View Post
Can do attitude.


Quote:
Originally Posted by TonE View Post
Especially with the latest js to vst conversion helpers. If they work, in that particular case.
Those JS to VST helpers are pretty cool, although for me personally there is no point, because I could just as well recode a JSFX plug-in in C++ myself (and probably improve/optimize it in the process). But I do think JSFX is awesome for quickly trying out things, or just for fun.
Tale is offline   Reply With Quote
Old 10-24-2015, 03:33 PM   #37
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default v20151024

I have just updated my JSFX pack to v20151024. There are too many changes (documentation improvements, included examples, lots of optimisations, new waveforms, FFT/wavetable synthesis library) to post here, so please refer to the changelog and online documentation.

EDIT: Updated to v20151025 (polyBLEP waveform optimisations, added LFO/Fourier series waveforms).

Last edited by Tale; 10-25-2015 at 12:08 PM. Reason: v20151025
Tale is offline   Reply With Quote
Old 10-26-2015, 09:37 AM   #38
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,388
Default

At the risk of repeating myself yet again...

Thanks Tale!
IXix is offline   Reply With Quote
Old 10-26-2015, 10:41 AM   #39
kamalmanzkie
Human being with feelings
 
kamalmanzkie's Avatar
 
Join Date: Jul 2012
Location: inside a man
Posts: 84
Default

i really like the drum synth! cheers! btw, i met my boss's boyfriend, and having seen your rat page i was instantly able to tell that this man was your doppelganger. i almost wanted to remark on it, but probably better to tell you because, as with most doppelgangers, its kill or be killed.
__________________
get a grip, play my tracks : https://soundcloud.com/an-colonel-aronson
kamalmanzkie is offline   Reply With Quote
Old 11-02-2015, 12:17 AM   #40
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,007
Default v210151101

v20151101 is up.

Changes:
  • wavetable_synth: Added cycloid wavetable.
  • wavetable_synth: Adjusted modified square wavetable pulse width.
  • Added icon to Windows installer.
  • Fixed compatibility warning after closing installer on Windows 10.
  • four: Added naive Fourier series summation.
  • Minor library documentation improvements.
Tale 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:59 PM.


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