Old 03-18-2007, 07:24 AM   #1
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,250
Default JS effect bundle

Update: Here is a midi quantizer plugin and here is a plugin that puts note names in the Reaper midi editor and here is a plugin for writing text notes into a project. Those plugins are VSTs, not JS plugins.

----

Here are some JS effects.

- midi_humanizer
- midi_program_trigger
- midi_examine
- soft_clipper
- clip_alarm
- gaussian_noise_generator

- midi_humanizer adds a user-defined amount of normally distributed error to the velocity and timing of a piano-rolled midi performance. (This effect is in the installer, but the version here includes a midi channel selection slider.)

- midi_program_trigger sends program change messages when you hit keys on the number pad.

- midi_examine dissects and reports the various pieces of any midi message received. Can be used like midi-ox to figure out what a control surface is doing. Also useful as a midi JS plug tutorial.

- soft_clipper is modeled after the soft-clipping stage in this popular unit, which as it turns out is really just a low threshold brick wall limiter that is all knee. This is a very simple but effective way to boost the final output signal of a mix without adding too much color.

- clip_alarm prevents unnoticed clips on a track being recorded by playing a customizable alarm sample when a monitored track clips at the input. The alarm is played only at the master, even if the clipping input audio is not being monitored on hardware at all, and the clipping input is not affected.

- gaussian_noise_generator makes gaussian noise using an algorithm of the user's choice. The algorithms are listed roughly in order of quality and CPU cost. This effect may be useful as a building block.
Attached Files
File Type: zip schwa_FX.zip (160.0 KB, 675 views)

Last edited by schwa; 08-09-2007 at 08:11 PM. Reason: added link to notepad VST
schwa is offline   Reply With Quote
Old 03-18-2007, 01:29 PM   #2
brainwreck
Human being with feelings
 
Join Date: Jul 2006
Posts: 20,840
Default

schwa, is midi_keymap_file_reader just a work around for presets in midi_note_mapper? i played around with it but i must be doing something wrong. i created custom_keymap.txt in data/keymaps and changed the note numbers, line by line. midi_keymap_file_reader remaps on it's own until i press record. is midi_keymap_file_reader used in conjunction with midi_note_mapper? i'm lost. should i place one before the other and do i change any settings in midi_note_mapper?
brainwreck is offline   Reply With Quote
Old 03-18-2007, 06:33 PM   #3
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,250
Default

Oh fer fark's sake. Apparently JS clears the effect buffer when you start recording, which means the effect can't preserve any state behind the interface. And I don't see any way for the effect itself to know whether or not you are recording so it can try to recover its state.

This is lovely stuff this effect scripting language but it seems designed to foil anyone trying to implement any sort of user defined mapping.

I'll try to think of some workaround.
schwa is offline   Reply With Quote
Old 03-18-2007, 07:11 PM   #4
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,250
Default

I think I have a workaround for the keymap file reader (updated above).

This effect doesn't need to be used with the note mapper. All it does is read the keymap file you create (details in the readme) and remap notes accordingly. Hopefully, now it remaps even after you start recording...
schwa is offline   Reply With Quote
Old 03-18-2007, 07:14 PM   #5
brainwreck
Human being with feelings
 
Join Date: Jul 2006
Posts: 20,840
Default

i wish i knew what all the gibble gobble in the effects means (i'd like to lend a hand in helping). i don't so you the man schwa.
brainwreck is offline   Reply With Quote
Old 03-18-2007, 07:14 PM   #6
brainwreck
Human being with feelings
 
Join Date: Jul 2006
Posts: 20,840
Default

Quote:
Originally Posted by schwa View Post
I think I have a workaround for the keymap file reader (updated above).

This effect doesn't need to be used with the note mapper. All it does is read the keymap file you create (details in the readme) and remap notes accordingly. Hopefully, now it remaps even after you start recording...
checking it out now. brb!
brainwreck is offline   Reply With Quote
Old 03-18-2007, 07:22 PM   #7
brainwreck
Human being with feelings
 
Join Date: Jul 2006
Posts: 20,840
Default

it works! thanks much schwa. you the man! and all that other good stuff.

thanks.

some mention of the keymap file reader might pull in some users of bfd, ezdrummer, natural studio kit, etc. i'm not sure if any of the drum software plugins have remapping abilities yet.

Last edited by brainwreck; 03-18-2007 at 07:43 PM.
brainwreck is offline   Reply With Quote
Old 03-18-2007, 09:36 PM   #8
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,250
Default

I think maybe midi note remapping is less exciting than you think. I know BFD can remap keys. All drum trigger hardware can remap keys. Midipipe, on Macs, can remap any midi passing through the computer. And this remapper here is hardly an out-of-the-box solution because it requires the user to hand-create a keymap file.

But it's nice of you to say.
schwa is offline   Reply With Quote
Old 03-19-2007, 12:57 PM   #9
sumpm1
Human being with feelings
 
Join Date: Jan 2007
Posts: 576
Default

I'm sure that things such as these will end up on one of those updates like it was nothing else!
sumpm1 is offline   Reply With Quote
Old 03-19-2007, 01:28 PM   #10
teej813
Human being with feelings
 
teej813's Avatar
 
Join Date: Sep 2006
Location: Indiana
Posts: 1,717
Default

i'm still trying to wrap my pea brain around this, so please forgive a couple dumb questions...


- Humanizer actually modifies an existing midi part (like a quantize feature)? Or does it leave the part intact and randomly adjusts it on playback/render? In other words, will i get different results every time?

Either way... very cool!


- Keymap is for labeling the piano roll to match whatever VSTi or soundfont you're using? Or am i way off?


teej
__________________
It may be the devil, or it may be the Lord, but you're gonna hafta serve somebody.
__________________
teej813 is offline   Reply With Quote
Old 03-19-2007, 01:47 PM   #11
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,250
Default

Humanizer un-quantizes (and un-machineguns) in realtime, and you will get a different result every time. Of course you can render the humanized output to freeze it.

Personally I am a heavy user of humanizing. I piano-roll drum parts to get them just so, then I slop them up a bit. I think you can make a really convincing performance this way.

Keymap doesn't add text labels to anything, that's not something you can do from within JS. It just allows to you save a particular mapping where say you want to press C4 and have some effect receive F#5 instead, or transpose everything in octave 0 up to octave 4 without changing anything else, or whatever random remapping you want to do.
schwa is offline   Reply With Quote
Old 03-19-2007, 01:52 PM   #12
teej813
Human being with feelings
 
teej813's Avatar
 
Join Date: Sep 2006
Location: Indiana
Posts: 1,717
Default

gotcha.. thanks for explaining. and thanks for making them available! seems like they'll be real handy.


teej
__________________
It may be the devil, or it may be the Lord, but you're gonna hafta serve somebody.
__________________
teej813 is offline   Reply With Quote
Old 03-19-2007, 01:54 PM   #13
brainwreck
Human being with feelings
 
Join Date: Jul 2006
Posts: 20,840
Default

midi_keymap_file_reader allows you to remap keys to desired note numbers. for example, your drum vsti uses C5 for triggering the kick sample. you can remap the kick to the key of your choice.

i don't have a need for the humanizer plugin so i haven't used it yet. as long as it's inserted on a track i would think that it would function on both the input and the recorded midi clip. if you want consistency you should be able to use it during recording and turn if off at playback.

btw schwa, i experienced a problem with midi_keymap_file_reader last night. i remapped my keys and recorded a midi clip fine. some where in the middle of playback (about a minute into it) the remapping started to scramble up. the ride became the snare and a couple of other hits went weird. it's not consistent though. i'll try to narrow down the problem and report back.

Last edited by brainwreck; 03-19-2007 at 01:58 PM.
brainwreck is offline   Reply With Quote
Old 03-20-2007, 06:14 AM   #14
smasha
Human being with feelings
 
Join Date: Aug 2006
Posts: 301
Default

How do I name notes to kik snare etc. in the named notes editor?
smasha is offline   Reply With Quote
Old 03-20-2007, 06:40 AM   #15
smasha
Human being with feelings
 
Join Date: Aug 2006
Posts: 301
Default

I put these into the plugins folder but can't find them.

What are they called?
smasha is offline   Reply With Quote
Old 03-20-2007, 08:59 AM   #16
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,250
Default

These are Jesusonic effects, not VSTs. They can go in REAPER/Effects/MIDI.

There is currently no named notes editor in Reaper. Accomplishing this either requires somebody writing (or finding) a VSTi, or Justin adding the feature to Reaper. One of those things will happen eventually.
schwa is offline   Reply With Quote
Old 03-21-2007, 01:45 PM   #17
brainwreck
Human being with feelings
 
Join Date: Jul 2006
Posts: 20,840
Default

Quote:
Originally Posted by brainwreck View Post
btw schwa, i experienced a problem with midi_keymap_file_reader last night. i remapped my keys and recorded a midi clip fine. some where in the middle of playback (about a minute into it) the remapping started to scramble up. the ride became the snare and a couple of other hits went weird. it's not consistent though. i'll try to narrow down the problem and report back.
seems i was leaving the keymap reader on after recording sometimes. that was the problem. the plugin works fine.

Quote:
Originally Posted by smasha View Post
I put these into the plugins folder but can't find them.

What are they called?
check in preferences to find out where reaper is looking for the jesusonic plugins. where ever that is, that's where you should put these plugins.
brainwreck is offline   Reply With Quote
Old 03-27-2007, 12:10 PM   #18
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,250
Default added a soft clipper

I added a soft clipper effect, which is a nice way to get a little extra final output boost for a mix without adding too much color. Try it out, I'd really appreciate any feedback.
schwa is offline   Reply With Quote
Old 03-28-2007, 05:09 AM   #19
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,250
Default

BTW 1.831 added the action "Apply FX to items as new take (MIDI output)". This means you can apply a midi effect like humanization, remapping, etc one time and freeze the result, just as if the effect were a Reaper built-in action.
schwa is offline   Reply With Quote
Old 03-30-2007, 09:27 PM   #20
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,250
Default Added midi_examine effect to the package.

Added midi_examine effect to the package.
schwa is offline   Reply With Quote
Old 03-31-2007, 06:07 AM   #21
caleb
Human being with feelings
 
caleb's Avatar
 
Join Date: Feb 2007
Posts: 635
Default

I wish I could understand how you're doing your timing changes for humanise both before and after adjustments.

I looked at your code but started to get a headache.

Regards
Caleb
__________________
Happiness is the hidden behind the obvious.
caleb is offline   Reply With Quote
Old 03-31-2007, 02:12 PM   #22
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,250
Default

I appreciate someone taking the time to read the code that closely! This gets a bit technical/boring for a forum conversation, but the character of min_pos and max_pos (which define the range over which the timing is allowed to vary) depend on whether the user has chosen to delay the output or not. The possible timing range is either a small fixed sample block that the input note falls somewhere inside, or it's some programmer-defined maximum number of samples that the input note defines the center of. Things can be factored in various ways but I try to keep all the programmer defined constants exposed for what they are. The only other thing I'd note is that z1, z2 are gaussians. Yadda yadda yadda.

... actually I think you are maybe looking at an older version of the plugin? I updated this a week or so ago, Ix may not have updated the one that's bundled with his stuff.
schwa is offline   Reply With Quote
Old 04-06-2007, 10:03 PM   #23
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,250
Default Added gaussian noise generator effect

Added gaussian noise generator effect.
schwa is offline   Reply With Quote
Old 06-17-2007, 06:52 PM   #24
user1
Human being with feelings
 
Join Date: May 2007
Posts: 130
Default

is the most recent version of these found by clicking the link in the first message (which seems to be a particular attachment, not a link to a perm location)? Or should I be looking somewhere else?
user1 is offline   Reply With Quote
Old 06-17-2007, 07:24 PM   #25
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,250
Default

The attachment in the first post should have the most recent versions of everything.
schwa is offline   Reply With Quote
Old 10-08-2007, 02:13 AM   #26
fegi
Human being with feelings
 
fegi's Avatar
 
Join Date: Jan 2007
Location: Austria
Posts: 136
Default

first of all: thanks for your great humanizer plugin schwa...it is easy to use and exactly what i looked for

from 2.0 beta rc3

* JS: added pdc_midi=1 for letting JS effects send midi with lookahead

does this mean that your humanizer plugin could work now with more extreme settings without loosing sync to other audio?

greetings,

fegi
fegi is offline   Reply With Quote
Old 03-16-2010, 04:29 PM   #27
jpg
Human being with feelings
 
Join Date: Mar 2010
Posts: 10
Default mapping dtxpress to ezdrummer

Quote:
Originally Posted by schwa View Post
Update: Here is a midi quantizer plugin and here is a plugin that puts note names in the Reaper midi editor and here is a plugin for writing text notes into a project. Those plugins are VSTs, not JS plugins.

----

Here are some JS effects.

- midi_humanizer
- midi_program_trigger
- midi_examine
- soft_clipper
- clip_alarm
- gaussian_noise_generator

- midi_humanizer adds a user-defined amount of normally distributed error to the velocity and timing of a piano-rolled midi performance. (This effect is in the installer, but the version here includes a midi channel selection slider.)

- midi_program_trigger sends program change messages when you hit keys on the number pad.

- midi_examine dissects and reports the various pieces of any midi message received. Can be used like midi-ox to figure out what a control surface is doing. Also useful as a midi JS plug tutorial.

- soft_clipper is modeled after the soft-clipping stage in this popular unit, which as it turns out is really just a low threshold brick wall limiter that is all knee. This is a very simple but effective way to boost the final output signal of a mix without adding too much color.

- clip_alarm prevents unnoticed clips on a track being recorded by playing a customizable alarm sample when a monitored track clips at the input. The alarm is played only at the master, even if the clipping input audio is not being monitored on hardware at all, and the clipping input is not affected.

- gaussian_noise_generator makes gaussian noise using an algorithm of the user's choice. The algorithms are listed roughly in order of quality and CPU cost. This effect may be useful as a building block.
will this fix help with mapping the correct edrum pads to ezdrummer in Reaper. Some of the pads are mapped incorrectly, e.g. when i trigger the kick drum it sounds a snare in ezdrummer, the snare trigger sounds open high hats, etc..
thanks
jpg
jpg is offline   Reply With Quote
Old 03-17-2010, 08:59 AM   #28
chriscomfort
Human being with feelings
 
chriscomfort's Avatar
 
Join Date: Aug 2009
Location: NYC
Posts: 1,735
Default

Quote:
Originally Posted by jpg View Post
will this fix help with mapping the correct edrum pads to ezdrummer in Reaper. Some of the pads are mapped incorrectly, e.g. when i trigger the kick drum it sounds a snare in ezdrummer, the snare trigger sounds open high hats, etc..
thanks
jpg
If you notice, this message thread is nearly 3 years old, and a lot of the stuff mentioned is now common place in Reaper. However, the mapping of kit specific sounds to notes is something you'll have to do yourself. There is no automatic function for this.

Comfort
chriscomfort is offline   Reply With Quote
Old 02-16-2016, 01:15 AM   #29
Noirceur
Human being with feelings
 
Join Date: Jul 2015
Posts: 58
Default

Hello !

What kind of distribution have midi_humanizer ? Gaussian or basic random noize ? What means "normally distributed" ? Do humanizer in reaper it's the same algo that the JS plug-in ? Timing humanizer ?

Sorry for my bad english

Last edited by Noirceur; 02-16-2016 at 01:21 AM.
Noirceur 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 04:36 AM.


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