Old 03-11-2019, 07:33 AM   #1
David Carlyon
Human being with feelings
 
Join Date: Feb 2019
Posts: 78
Default NRPN control of HW synth

Hello experienced Reaper fans! I am very new around here, absolutely stunned by Reaper and would like ot make it a permanent home.
I was recommended to ask this question here:

Is there any way i can control HW synths with NRPN? I have Realearn, which is fantastic - that allows me to lean my HW synth params via NRPN - then map to any parameter in reaper.
Fantastic for, say, using a Deepmind12 to control Roland Juno
But, what i really need is to control the Synth from reaper. There is no organised way to automate NRPN....in Ableton, i found a M4L device:

http://www.maxforlive.com/library/de...893/nrpn-gen-2

This was ideal, but i have found nothing of the sort in reaper thus far.

Any ideas?
David Carlyon is offline   Reply With Quote
Old 03-11-2019, 06:39 PM   #2
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 813
Default

I admit I didn't know anything about NRPNs until I read your post an looked it up. However I don't think it would be too difficult to write a JSFX which would be similar in principle to ReaControlMidi except that it would send out NRPN messages instead of just standard CC messages. It could have a bunch of sliders which you could automate via parameter modulation. Each slider could be assigned to a particular synth parameter. I'm assuming that for simplicity the assignments would be done manually and that you could get the info to do that from ReaLearn if you don't already have it?

Hopefully someone has already created something like this.
__________________
ReaRack JSFX Modular Synth - Mostly harmless: https://stash.reaper.fm/v/28403/ReaR...dularSynth.zip
The Wasters of Time: https://soundcloud.com/thewastersoftime
Time Waster is offline   Reply With Quote
Old 03-11-2019, 06:50 PM   #3
David Carlyon
Human being with feelings
 
Join Date: Feb 2019
Posts: 78
Default

Quote:
Originally Posted by Time Waster View Post
I admit I didn't know anything about NRPNs until I read your post an looked it up. However I don't think it would be too difficult to write a JSFX which would be similar in principle to ReaControlMidi except that it would send out NRPN messages instead of just standard CC messages. It could have a bunch of sliders which you could automate via parameter modulation. Each slider could be assigned to a particular synth parameter. I'm assuming that for simplicity the assignments would be done manually and that you could get the info to do that from ReaLearn if you don't already have it?

Hopefully someone has already created something like this.
Absolutely, that would be perfect. Manual learn would make sense too.
When you say 'get the info from realearn' do you mean obtain the method by which the NRPNs are 'learned' from the code of realearn?

Thanks for the reply
David Carlyon is offline   Reply With Quote
Old 03-11-2019, 09:08 PM   #4
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 813
Default

The way I understand it from my brief research, the values CC's 98 (NPRN LSB) and 99 (NPRN MSB) have to be set to the parameter number of the synth, so you need to know those for each parameter you want to control. I haven't used this system, so I assume that there must be a way of obtaining those from the synth, (or from the manual), or perhaps ReaLearn can display them (I haven't used that either).

So to set up each slider, you would enter the MSB and LSB parameter numbers for the parameter you want to change. I'm not too clear on whether you also have to set the CC numbers to receive the parameter values? It seems they may be standardised to CC6 (MSB) and CC38 (LSB).
__________________
ReaRack JSFX Modular Synth - Mostly harmless: https://stash.reaper.fm/v/28403/ReaR...dularSynth.zip
The Wasters of Time: https://soundcloud.com/thewastersoftime
Time Waster is offline   Reply With Quote
Old 03-11-2019, 09:31 PM   #5
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 813
Default

Or maybe the parameter number is given as a decimal value?
__________________
ReaRack JSFX Modular Synth - Mostly harmless: https://stash.reaper.fm/v/28403/ReaR...dularSynth.zip
The Wasters of Time: https://soundcloud.com/thewastersoftime
Time Waster is offline   Reply With Quote
Old 03-12-2019, 05:40 AM   #6
David Carlyon
Human being with feelings
 
Join Date: Feb 2019
Posts: 78
Default

Quote:
Originally Posted by Time Waster View Post
The way I understand it from my brief research, the values CC's 98 (NPRN LSB) and 99 (NPRN MSB) have to be set to the parameter number of the synth, so you need to know those for each parameter you want to control. I haven't used this system, so I assume that there must be a way of obtaining those from the synth, (or from the manual), or perhaps ReaLearn can display them (I haven't used that either).

So to set up each slider, you would enter the MSB and LSB parameter numbers for the parameter you want to change. I'm not too clear on whether you also have to set the CC numbers to receive the parameter values? It seems they may be standardised to CC6 (MSB) and CC38 (LSB).
Yes to all of those things. Numbers can be obtained via manual, also Realearn does display them. From my limited knowledge i would say you would have to also have appropriate CC numbers
David Carlyon is offline   Reply With Quote
Old 03-12-2019, 05:47 AM   #7
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 813
Default

I had a go at creating a JSFX to do this. I have no idea if it will work: https://stash.reaper.fm/v/35766/NRPN_Control.jsfx

The number of parameters available (five) is abitrary. More can be added if required, or just use more than one instance of the FX.
__________________
ReaRack JSFX Modular Synth - Mostly harmless: https://stash.reaper.fm/v/28403/ReaR...dularSynth.zip
The Wasters of Time: https://soundcloud.com/thewastersoftime

Last edited by Time Waster; 03-12-2019 at 06:07 AM.
Time Waster is offline   Reply With Quote
Old 03-12-2019, 07:01 AM   #8
David Carlyon
Human being with feelings
 
Join Date: Feb 2019
Posts: 78
Default

Quote:
Originally Posted by Time Waster View Post
I had a go at creating a JSFX to do this. I have no idea if it will work: https://stash.reaper.fm/v/35766/NRPN_Control.jsfx

The number of parameters available (five) is abitrary. More can be added if required, or just use more than one instance of the FX.
Wow i just saw that in the stash. You don't hang around! Will check it out now!
David Carlyon is offline   Reply With Quote
Old 03-12-2019, 07:30 AM   #9
David Carlyon
Human being with feelings
 
Join Date: Feb 2019
Posts: 78
Default

Ok so first off - it IS talking to the parameter. I assigned it to cutoff
MSB - 0
LSB - 39
and it did change the cutoff. but it basically closed it. So my guess is the range needs to be set.

On relearn the 14 bit params go from 0-16383

In the deep mind manual it says range 0-255. In re learn you can set the 'range' so as to limit it to 255 for example.
David Carlyon is offline   Reply With Quote
Old 03-12-2019, 07:32 AM   #10
David Carlyon
Human being with feelings
 
Join Date: Feb 2019
Posts: 78
Default

I also notice that the cutoff parameter is not changing until i reach the lowest parameter value (0)
David Carlyon is offline   Reply With Quote
Old 03-12-2019, 03:13 PM   #11
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 813
Default

OK, at least we seem to have some communication happening. I'll see what I can do about scaling the values later today.
__________________
ReaRack JSFX Modular Synth - Mostly harmless: https://stash.reaper.fm/v/28403/ReaR...dularSynth.zip
The Wasters of Time: https://soundcloud.com/thewastersoftime
Time Waster is offline   Reply With Quote
Old 03-12-2019, 07:08 PM   #12
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 813
Default

I fixed a bug and added an output range slider. There are three choices for the output range: 0 - 127, 0 - 255 and 0 - 16383, I hope that will cover most needs, but let me know if there are any others.
__________________
ReaRack JSFX Modular Synth - Mostly harmless: https://stash.reaper.fm/v/28403/ReaR...dularSynth.zip
The Wasters of Time: https://soundcloud.com/thewastersoftime
Time Waster is offline   Reply With Quote
Old 03-14-2019, 03:36 PM   #13
Time Waster
Human being with feelings
 
Time Waster's Avatar
 
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 813
Default

Looks like it's had a few downloads. Does it work? I've got no way of testing it.
__________________
ReaRack JSFX Modular Synth - Mostly harmless: https://stash.reaper.fm/v/28403/ReaR...dularSynth.zip
The Wasters of Time: https://soundcloud.com/thewastersoftime
Time Waster 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 12:03 PM.


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