Old 12-06-2018, 12:32 PM   #1
Klangfarben
Human being with feelings
 
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,701
Default MIDI Learn Issue with JS Plugins

I posted this in the General Forum as well as this issue might not be JS specific but also might possibly be solved by someone more knowledgeable in JS than me. Apologies for the double post and my general newbishness with this.

So, I'm using the JS Volume Adjustment plugin and have midi learned the Volume Adjustment parameter to a MIDI CC. However, the midi cc control is not in any way linear and I'm trying to figure out why. It also seems to be that way for all the other Volume/Trim JS plugins.

Right now, I've got the volume min at -138dB (basically inf) and the max at +12dB. A midi CC value of 0 does move the fader to -138 and a midi cc value of 127 does move the fader to +12dB.

However, it is in no way linear. At all. A midi CC value of 64 always = 0 for some reason. No matter what. So, if I'm trying to emulate the throw of the Reaper track volume with a JS volume plugin it seems I can't do it with a learned midi cc as values 0-63 covers a range from -138 to 0dB and values 64-127 cover a MUCH smaller range of 0dB to 12dB. The only way I can seem to get something resembling a linear response is if 0dB is right in the middle of the min/max values. For example, -12dB to 12dB. Anything else is not even remotely linear.

What am I missing here? Shouldn't a parameter that is midi learned have a linear response from 0 to 127? I'm a little confused because I don't understand why you would want it to be anything but that. Can a linear response be coded in the JS plugin itself? Or is midi learn for JS volume control sort of broken?
Klangfarben is offline   Reply With Quote
Old 12-06-2018, 06:05 PM   #2
J Reverb
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,071
Default

Try this, it's about the simplest plugin you can make which is probably why it's not included in the standard JS library ?
I'm not sure if it's what your after bearing in mind that 7 bit midi will only give 0-127 values so this is as simple as it gets. Just unzip and drop it in effects folder.

Best,

J.
Attached Files
File Type: zip Level Control 0-127.zip (283 Bytes, 88 views)
J Reverb is offline   Reply With Quote
Old 12-06-2018, 10:32 PM   #3
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
Default

In ReaPack, you'll find "Midi Volume Control" that is done for controlling volume by a midi CC (not "learned" but by the Midi stream in the Track FX chain).

It features an adjustable exponential response curve, anti-zipper-noise smoothing, and a graphic that provides visual control of it's behavior.

-Michael
mschnell is online now   Reply With Quote
Old 12-06-2018, 11:38 PM   #4
Klangfarben
Human being with feelings
 
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,701
Default

Ok, seriously, thank you guys. So helpful. This is why I love the Reaper community. Will grab both of these and give them a try.
Klangfarben is offline   Reply With Quote
Old 12-07-2018, 06:47 AM   #5
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Klangfarben, you can also set max to 0 dB, this is what I prefer usually, and min to a value which fits bestly to your use case. Resave under a different name. Apart from those changes, you could check the js code, and see if there is any non-linear mapping/function somewhere, this would explain the strange behaviour.
TonE is offline   Reply With Quote
Old 12-07-2018, 03:37 PM   #6
Klangfarben
Human being with feelings
 
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,701
Default

Thanks TonE. Yeah, if I change the max to 0dB, the behavior is completely linear. However, if the max is above 0db then CC Values 0-63 go up to 0db and 64-127 go from 0dB to max, even if your max is 1dB.

This has to be a JS bug right? There's no way anyone would want 64 values from minimum to 0dB and then 64 values from 0dB to 1dB.

I've tried this on JS Volume Adjustment, Volume Utility -+10dB, Volume/Pan Smoother and Multichannel Volume Trim. They all exhibit the same behavior. And to answer your question, no there is nothing in the code of any of those that is anything but linear.

Michael, would you be able to modify your JS with a max of 6db or 12db without the above occurring? One, because this is how I would normally work. I'm trying to basically emulate the throw of the track fader. Second, because it would be good to know if this behavior is consistent across JS plugins (which I think it is).
Klangfarben is offline   Reply With Quote
Old 12-08-2018, 02:01 AM   #7
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
Default

Quote:
Originally Posted by Klangfarben View Post
Michael, would you be able to modify your JS with a max of 6db or 12db
Midi Volume control always uses a max of 0 dB (and a min of -infinity db), which IMHO makes perfect sense. It always provides a linear CC value to dB curve (i.e. an exponential CC value to amplitude curve), in the upper range (greater than the limit that you can set).

If you need additional amplification to 6 or 12 dB you can either simply increase the track volume in the mixer, or use some plugin that provides a volume fader (such as ReaEQ, perhaps with all bands disabled) .

-Michael
mschnell is online now   Reply With Quote
Old 12-08-2018, 04:16 PM   #8
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 876
Default

Quote:
Originally Posted by mschnell View Post
In ReaPack, you'll find "Midi Volume Control" that is done for controlling volume by a midi CC (not "learned" but by the Midi stream in the Track FX chain).

It features an adjustable exponential response curve, anti-zipper-noise smoothing, and a graphic that provides visual control of it's behavior.

-Michael
This plugin is amazing. Only one minor thing I'm having an issue with. Every time I hit stop the plugin default resets to 0 which mutes my track. Is there anyway to edit this plugin to have it default to 127(full volume) on reset?
srdmusic is offline   Reply With Quote
Old 12-08-2018, 05:34 PM   #9
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
Default

I'll take a look. Maybe I can add a "default CC value" slider.

Supposedly this will also allow to control the Volume via "Learn"

-Michael
mschnell is online now   Reply With Quote
Old 12-09-2018, 04:32 AM   #10
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
Default

Did this and uploaded v2.0 to Reapack.

Hopefully it will appear for download soon.

-Michael
mschnell is online now   Reply With Quote
Old 12-09-2018, 04:34 PM   #11
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
Default

It's there...

-Michael
mschnell is online now   Reply With Quote
Old 12-10-2018, 10:32 AM   #12
Klangfarben
Human being with feelings
 
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,701
Default

Thank you, Michael!
Klangfarben is offline   Reply With Quote
Old 12-10-2018, 10:54 AM   #13
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
Default

Please let me know if it works in your application !

-Michael
mschnell is online now   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:16 PM.


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