Go Back   Cockos Incorporated Forums > REAPER Forums > JSFX and ReaScript Discussion

Reply
 
Thread Tools Display Modes
Old 02-09-2016, 03:43 PM   #1
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 8
Default JS : Midi CC Mapper X (Tweak your MIDI controls response curves)

Hello everyone!

Here's a small contribution for Reaper that I've developed a few days ago. I've just discovered that exceptional DAW and spent hours in a row toying with all its features and that was pure pleasure!

But at one stage there was something that I was missing which was the ability to fine tweak the response curves of my MIDI keyboard controls (especially the knobs), and despite my search on forums I could not find what I was looking for ; so maybe it's just me being clumsy doing my research, but anyway it was a good opportunity to test the JS SDK!

So here's a screenshot of the plugin:



As you can see, it's a modification of the Midi CC Mapper plugin that comes with Reaper. I removed the clamp feature because you can do it with my version.

The idea is simple, it's all about editing the response curve, either by choosing one in the "template library" on the right, or by drawing your own curve directly with the mouse (and smoothe afterwards it if you're bad at drawing). Or you can choose a curve in the library and draw some modifications. At start I wanted to put some bezier curve editing but it was more work so sorry for that. And at second glance, I'm happy with the draw / smoothe approach which is fun.

The plugin gives some real time feedback on the curve (the small red circle) to check if you what you hear is really what you want.

I've left the ability to remap the control to another one, I think that one's really cool when you don't want do modify the preset that you use in your VSTi for example.

Tell me if you find it useful / cool or whatever (or completely unuseful on the contrary), and if you see some bugs / things to improve. I've put quite a large bunch of templates in the "curve template library" but it can be augmented.


The plugin can be downloaded here:

https://stash.reaper.fm/26552/MIDI%20CC%20Mapper%20X


Updated! Latest version (v2) :


Download plugin at : https://stash.reaper.fm/28845/MIDI%20CC%20Mapper%20X


Thanks for reading!

Ben

Last edited by Talagan; 11-15-2016 at 03:04 AM. Reason: Updated plugin.
Talagan is offline   Reply With Quote
Old 02-09-2016, 03:53 PM   #2
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 17,341
Default

Hello Talagan and welcome to these forums. You'll find many helpful people here and a lot of useful information. Make sure that you get the excellent User Guide too:
http://www.cockos.com/reaper/userguide.php

For a first post on the forum, that is exceptionally good. Well done. Of course, you'll get hooked on JSFX then EEL and LUA and be locked in for ever. .
__________________
DarkStar ... interesting, if true. Inspired by ...

Last edited by DarkStar; 02-10-2016 at 03:29 AM.
DarkStar is offline   Reply With Quote
Old 02-09-2016, 06:08 PM   #3
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 4,923
Default

That's why I called a first contributions.
Well done sir, thanks for sharing !
X-Raym is offline   Reply With Quote
Old 02-09-2016, 06:31 PM   #4
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 4,753
Default

I wonder what can you do next if this is your first just discovered REAPER thing
Very good!
Thank you and welcome to this place
__________________
HeDaScripts for REAPER | VIP Donations
heda is offline   Reply With Quote
Old 02-10-2016, 04:15 AM   #5
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 8
Default

Many thanks to you three for your warm welcoming! I'm glad that I could share my enjoyment on this plug-in. I'll definitely have a closer look at the hidden corners of the user guide, there seems to have plenty of treasures in there!

I hope I'll have plenty of other good ideas in a next future, but for the moment I've got to take care of my growing addiction
Talagan is offline   Reply With Quote
Old 02-10-2016, 08:22 AM   #6
Hubi
Human being with feelings
 
Join Date: Oct 2010
Posts: 62
Default

Hey there,

great work and welcome to the reaper community ^^

Have a look on my plug in: http://forum.cockos.com/showthread.php?t=121787
I´m currently working on a new version, that will support 14bit midi and a lot more...(huge steps are already done)
If you want we can combine some of our ideas to make it even better?

Oh and BTW, if you install reaper you`ll stick with it.... and if it does not do what you want, you modify it so welcome to this trap ^^

regards,
Hubi
Hubi is offline   Reply With Quote
Old 02-10-2016, 08:37 AM   #7
Ozman
Human being with feelings
 
Join Date: Feb 2015
Posts: 391
Default

This would be awesome with mpl's Mapping Panel (http://forum.cockos.com/showthread.php?t=170044), when it comes to the curves of Parameter modulation.
Ozman is online now   Reply With Quote
Old 02-10-2016, 11:46 AM   #8
J Reverb
Human being with feelings
 
J Reverb's Avatar
 
Join Date: Jul 2009
Posts: 466
Default

lovely work !
__________________
I've been imitated so well I've heard people copy my mistakes. - Jimi Hendrix
J Reverb is offline   Reply With Quote
Old 02-10-2016, 12:31 PM   #9
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 569
Default

Seeing this kind of stuff developed by the community really underlines that Justin & co. made the right decision with the open-ended philosophy of Reaper. So much talent out there; just give them the right tools and everyone will benefit.

Thanks for sharing and welcome!
Sju is offline   Reply With Quote
Old 02-10-2016, 03:52 PM   #10
casrya
Human being with feelings
 
Join Date: Dec 2013
Location: Melbourne, Australia
Posts: 96
Default

Nice one .. thanks
casrya is offline   Reply With Quote
Old 11-14-2016, 02:20 PM   #11
GalbE
Human being with feelings
 
GalbE's Avatar
 
Join Date: Jun 2015
Posts: 11
Default Great work!

That was just what i was looking for. I use a wind controller and want to control the volume and filter of my VST's within a limited range with CC2.
__________________
Ga^l^bE
GalbE is offline   Reply With Quote
Old 11-14-2016, 03:53 PM   #12
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 479
Default

Haha, wow, I love this!
ijijn is offline   Reply With Quote
Old 11-15-2016, 02:55 AM   #13
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 8
Default

Hi all and thank you for your kind comments!

Receiving an email notice for your posts in this thread has reminded me that I had a new version cooking before being interrupted brutally by a big project earlier in the year. Sorry for not having published it!

Here it is :


The new features are :

- Multiple control mangagement (enable up to 35 controls among : 1 wheel, 4 pedals, 10 sliders, 10 knobs, 10 pads). The difference between controls is mainly graphical to help keyboardists find quickly what matches what physically.
- Control 'tagging' with labels and descriptions : same purpose.
- CC Learn to target easily the phisical control you want to tweak.

You can download it here : https://stash.reaper.fm/28845/MIDI%20CC%20Mapper%20X

I'd like to add 'keyboard filtering by key' to make it complete, so that we can enable/disable some pannel of midi notes for a midi instrument. By using two different active tracks in Reaper controlled at the same time, it would allow to easily configure dual/split instruments and more. Hope I'll find time for this!

Cheers,
Ben

Last edited by Talagan; 11-15-2016 at 03:19 AM.
Talagan is offline   Reply With Quote
Old 11-15-2016, 03:45 AM   #14
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 4,923
Default

it looks very good, congrats ! and thx for sharing :P
X-Raym is offline   Reply With Quote
Old 12-04-2016, 10:24 AM   #15
Teo Oliver
Human being with feelings
 
Join Date: Sep 2015
Posts: 40
Default Real Time Play with CC mapping?

I'm trying to map my Hold Pedal to ModWheel. (It is CC capable).

The problem is i can't use it in real time, i mean, I'm trying to play my keyboard, and use the pedal as it was a Modwheel, but the plugin only seems to recognize de mapping after the CC lane is recorded.

Is there any way to make it work before it's recorded (monitor input)? So i can play and listen to what I'm playing.

Thank you very much.

Teo
Teo Oliver is offline   Reply With Quote
Old 12-05-2016, 04:14 AM   #16
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 8
Default

Quote:
Originally Posted by TonE

Are you sure you toyed with ALL its features?
I'm sure I haven't! That was just a manner of speaking... or maybe my english which is not flawless! Reaper abilities are of course, merely infinite. Reapack is a great project and a great idea, I already had a glance at it but haven't had the time to explore it more in depth.

Quote:
Originally Posted by Teo Olivier

I'm trying to map my Hold Pedal to ModWheel. (It is CC capable).

The problem is i can't use it in real time, i mean, I'm trying to play my keyboard, and use the pedal as it was a Modwheel, but the plugin only seems to recognize de mapping after the CC lane is recorded.

Is there any way to make it work before it's recorded (monitor input)? So i can play and listen to what I'm playing.
Hi Teo, could you describe more precisely what you're trying to achieve and how you've configured your track / plugins ?

Ben
Talagan is offline   Reply With Quote
Old 12-05-2016, 07:28 AM   #17
Teo Oliver
Human being with feelings
 
Join Date: Sep 2015
Posts: 40
Default

Hello, Talagan, thanks for the reply.

I have a digital piano without the wheels for Mod and Pitch, or any other button / fader, just the keys, but I'm doing a lot of orchestral stuff. My pedal has the ability to send CC, so I think for instruments like Strings and Brass, I do not need the Hold Pedal, so I could map it to CC01, or CC11, or whatever else I might need.

The problem is that when I do this, I can not play and listen in RealTime, but after I recorded Midi, the plugin understand the mapping and reconize the new mapping CC.

My goal is to use the pedal and the keyboard, as it was a controller with the wheels.

I've attached some photos of what I'm doing. (I tried with Midi CC Mapper X and the regular one.)

Thank you very much for the attention,

Best regards.
Attached Images
File Type: jpg Screen Shot 2016-12-05 at 2_Fotor_2.jpg (48.3 KB, 88 views)
File Type: jpg Screen Shot 2016-12-05 at 2_Fotor.jpg (23.7 KB, 58 views)
Teo Oliver is offline   Reply With Quote
Old 12-05-2016, 08:02 AM   #18
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 8
Default

Hello Teo,

If everything goes well, you should have real time feedback so something is probably missing somewhere. I have a few questions so that I can help you :

- I see you have have tried to use the simple plugin shipped with reaper (Midi CC Mapper). Can you achieve what you want to do with that simple version?

- Is your pedal plugged into your keyboard, or is it an independent device (plugged directly to your computer - by USB etc)? (This question aims to identify if you are using only one - or two midi sources).

- On your screenshot, the CC learn button is 'on'. It should turn back to grey 'off' as soon as you move a control from your controller (knob, slider, etc) and the 'Midi CC Src' number should change accordingly to that control you have moved. The 'Midi CC Dst' is the output midi mapping which goes to your Kontakt VST. I don't know well Kontakt but I think it should itself be configured to map that 'Midi CC Dst' control number as input for one parameter (but, probably, no configuration should be needed for the mod wheel).

- When moving the 'Midi CC Src' control (knob, pedal, slider), you should have real time feedback on the curve. The small red circle should move, indicating the current value of the control. Is it the case for you ? (Just FYI, I have myself a sustain pedal on my midi keyboard ; it is detected as control 64. It sends only two midi values - 0 or max - so the red circle si either at the bottom left of the curve or at the top right and I do not get intermediary values).

Hope we'll solve your problem!
Talagan is offline   Reply With Quote
Old 12-06-2016, 12:39 PM   #19
Teo Oliver
Human being with feelings
 
Join Date: Sep 2015
Posts: 40
Default

Here's a linh with a Gif so you can see how i am doing this, it works just fine, but only after a recorded de midi CC. Still no real time feedback. (Maybe something regarding the inputs? Plugin Order? Midi channels?)

I tried the regular JS Midi Mapper that comes with Reaper as well, but still nothing. I'm probably doing something wrong.

https://drive.google.com/file/d/0BxT...ew?usp=sharing

The pedal is plugged in the digital Piano, it's a Roland FP-30, and the pedal a DP-10 (https://www.roland.com/global/products/dp-10/), it has a switch to abylitate Continuous data.

TonE: Thanks for the advise, i didn't know about that one, will try it.
Teo Oliver is offline   Reply With Quote
Old 12-07-2016, 03:00 AM   #20
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 8
Default

Hello Teo,

It's probably not linked to the plugin, but I honestly don't have any idea yet. It should be as simple as :

1 - Track > Insert virtual instrument on new track (will prevent from forgetting some config steps)
2 - Chose your VST/AU instrument
3 - In the filter window, add CC Mapper X and drag it above the VST/AU.
4 - In CC Mapper X, click on the mod wheel, click on CC learn, press the pedal - this will map the pedal to the mod wheel.

By doing these steps the track should be in the good state to record, have real time feedback & so on. Maybe Kontakt needs additional steps? You can try these same steps with another simpler VST to check your installation (e.g. Synth1 : Synth1). The default instrument handles the mod wheel so you can map your pedal to the mod wheel and see what happens, your pedal should trigger the modulation.

PS : Are you sure you have the 'record monitoring' button enabled for the track ?

Last edited by Talagan; 12-07-2016 at 06:50 AM.
Talagan is offline   Reply With Quote
Old 12-07-2016, 08:24 AM   #21
LugNut
Human being with feelings
 
Join Date: Jun 2013
Location: So Florida
Posts: 837
Default

Hi,
Thanks for this!

In regard to teo, could it be he's trying to control a continuous control...mod...with a momementary switch? Hold?
Unless he wants just on/off.
LugNut is online now   Reply With Quote
Old 12-07-2016, 09:42 AM   #22
ashcat_lt
Human being with feelings
 
Join Date: Dec 2012
Posts: 3,247
Default

Two - None of your pictures show us what's going on with the track itself. It will need to be armed to record and with monitoring enabled. If you play notes on the piano, do you hear it playing back?
ashcat_lt is online now   Reply With Quote
Old 12-08-2016, 07:09 AM   #23
Teo Oliver
Human being with feelings
 
Join Date: Sep 2015
Posts: 40
Default

Hi!

I don't know why, but today everything just worked!!!! Thank you very much for all your help, I probably was doing something wrong, but today, i tried again, and all worked perfectly fine!

Again, thank you all very much to all the help!
Teo Oliver is offline   Reply With Quote
Old 12-08-2016, 09:44 AM   #24
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 8
Default

Hi Teo,

Good to know your problem's solved! Don't hesitate to come back if you make use of the plugin and feel like there're some bugs or things that are missing, or for any other feedback. Happy composing!

Thank you TonE, ashcat_lt and LugNut for your time and help!

Ben
Talagan is offline   Reply With Quote
Old 01-04-2017, 06:05 AM   #25
Proximac
Human being with feelings
 
Join Date: Jan 2017
Posts: 3
Default Nice but how do you scale your MIDI CC with VST parameters?

Hi Talagan,

I love it but how can you scale your MIDI CC with VST parameters if you cannot enter a low value? Let's say I don't want to start with a MIDI CC=0 but a MIDI CC=16 instead. How do I do that?

Last edited by Proximac; 01-04-2017 at 06:12 AM.
Proximac is offline   Reply With Quote
Old 01-04-2017, 07:39 AM   #26
Talagan
Human being with feelings
 
Join Date: Feb 2016
Location: Paris / France
Posts: 8
Default

Hi Proximac,

Thanks for your comment! The curve may not start at CC=0 and finish at CC=127, but can use all intermediary values and have any shape as long as it is a function from [0..127] to [0..127], just draw any curve with your mouse as if it was a pen, not starting at 0, but higher and it should be ok (see attachement).

However, since my first purpose was to have an analogous, continuous behavior with a quick draw method, there is no 'fine-grain' control of the values of the curve with a precise CC value input, and there's no precise CC value feedback. So if you try to aim, say CC=16 precisely, not 17, not 15, it may be a bit hard.

Does this answer your question, do you have any concrete example where that kind of fine tuning (almost programmatical) would be useful? If so, I'd be happy to add some tools to achieve that to my todo list!

Ben
Attached Images
File Type: png Curve Not Starting at CC0.png (8.0 KB, 63 views)

Last edited by Talagan; 01-04-2017 at 07:49 AM.
Talagan is offline   Reply With Quote
Old 01-11-2017, 09:31 AM   #27
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 6,937
Default

Thanks a lot!

I can't get the updated version to work,
and the old one shows up with missing graphics.

v2: How do I sett pass through to "No"?
__________________
Reaper x64, win 8.1
G-Sun.no - Music Blog - My music
G-Sun 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 05:02 PM.


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