Mapping parameters to keys?

Have an urge to learn, or a calling to teach? Want to share some useful Youtube videos? Do it here!
User avatar
syzygianrrf9999
Posts: 44
Joined: 14 Aug 2018

Post 14 Jan 2025

Is there a way to map parameters to keys or a range of keys? For example, to have a knob or fader clamp to 0 when C3 is pressed, ~10 for C#3, ~63 for F#3, and ~127 for B3, etc. (to have said parameter mapped across 1 octave). Or have keys toggle switch/button parameters on a 1:1 mapping, etc? Is there any setup or combination of devices that will achieve this?

To be clear, I'm talking about the keys in reason's sequencer, not a midi controller. I'm basically trying to "play" CV automation, using any number of piano keys as a stepped selector that will clamp or interpolate between values. I also know there are REs that snap CV data to note data, but this isn't quite what I'm looking for, and the I/O from those devices tends to be very limited/expressly designed for midi-controller mapping/performance, rather than control between devices/the sequencer inside reason, nor will the note/parameter mapping in the Combi programmer flex to do what I want it to. I can give more specific details about what I'm trying to do if that helps.

Other than blind-spots like this I know Reason pretty well - been using it exclusively for 19 years - so if there is a way to do this and its super complicated don't hesitate to info-dump on me (or embarrass me if the solution is turbo-dumb-easy).

User avatar
bitley
Posts: 1909
Joined: 03 Jul 2015
Location: sweden

Post 14 Jan 2025

As a sampler addict I find you can use the magnificient NNXT for lots of crazy ideas, however I have never tried to make it move knobs. What it can do though is randomly altering between any number of individually programmed sounds and I use that a lot. Combinator 2 also opens for extreme experimentation and don't forget the mod wheel. It's all a matter of what you want to achieve soundwise. Easier to begin with that.

User avatar
jam-s
Posts: 3321
Joined: 17 Apr 2015
Location: Aachen, Germany

Post 14 Jan 2025

I have not tested this, yet, but I think you can use one or more of the Newtrol or Modpanel devices from Hamu to convert a configurable set of consecutive notes into CV triggers each and then use MxSplirger to set the resulting CV output signals to the desired values.

I think another option would be to use Thor and its integrated sequencer.

Another option would be to use Thor or Modrack MIDI to get CV from the note and then use one or more CV quant to convert the note CV to your desired CV values.

I suppose there are even more ways to skin that cat.
Last edited by jam-s on 14 Jan 2025, edited 1 time in total.

User avatar
Pepin
Posts: 680
Joined: 16 Jan 2015

Post 14 Jan 2025

Ignore, see later post
Last edited by Pepin on 14 Jan 2025, edited 1 time in total.

User avatar
jam-s
Posts: 3321
Joined: 17 Apr 2015
Location: Aachen, Germany

Post 14 Jan 2025

Another interesting RE for this use case is this one: https://www.reasonstudios.com/shop/rack ... v-utility/

The different scenes can also be triggered via MIDI notes and its intended use is pretty much the scenario you've described above.

User avatar
Pepin
Posts: 680
Joined: 16 Jan 2015

Post 14 Jan 2025

I deleted my previous post, because I think the Combinator can actually perform the knob behavior as you describe. I had forgotten about the "Source Range" setting.

In the Combinator Programmer:
  • Set Source to Key and Target to the desired parameter
  • Adjust the Source Range to the keys desired
keyparam.png
The downside of this approach is that notes outside the range will still clamp the parameter to the min/max value.

For completeness, here's an alternative way to do it without the Combinator that will filter out notes outside the desired range:
  • Use Note Tool in Filter > Adjust mode, attached to some placeholder instrument
  • In the Filter section, restrict the range as desired.
  • In the Adjust section, enable Hold with Latch behavior
  • In the Adjust section, use the Pitch and Octave settings so that the lowest note in your desired range is now mapped to C-2 (the lowest possible note). This ensures our lowest CV output value is zero.
  • Take the CV Out from Note Tool and scale it up using another device so that the highest CV output value is 1.
  • The resulting CV signal can now be used to modulate any parameter with the desired keys.
You do not have the required permissions to view the files attached to this post.
Last edited by Pepin on 14 Jan 2025, edited 2 times in total.

User avatar
selig
RE Developer
Posts: 12360
Joined: 15 Jan 2015
Location: The NorthWoods, CT, USA

Post 14 Jan 2025

Thor can easily do the C = 0, B = 127 and scaled between them, and it's the same for every octave. Or do something similar with the full range.

There is also an old trick, not sure who to credit but not me, where you can have a CV control the step sequencer position. This means you can build a system where each note C-B (12 steps) can have a pre assigned value sent as CV 0-127.

To pull this off you need to put Thor in a Combinator, since the sequencer length control isn't available in the Mod Matrix.
Screenshot 2025-01-14 at 4.35.45 PM.png
Route CV1 OUT from Thor to CV1 IN on the Combinator, set to UNIPOLAR
I used CURVE 1 as the source - cool thing is you can have multiple (up to four) unique values going to different places, each 'saved' like a scene and recalled with a note from C-B in any octave.

NOTE: the reason there is all those extra slots in the Modulation Matrix is because the KEYNOTE 2 signal is actually bi polar, sending -64 on "C", 0 on F#, and +53 on B.
So the Rotary 1 in slot 1 is for an offset to push that -64 value up to 0, since that represents the first step in the step sequencer.
ALSO, since the highest value is +53 and not +64, offsetting by 64 puts the bottom value up to 0 but the top value doesn't quite reach 127. So we add a bit extra (44) in slot 8. BUT, since it is a bi-polar signal, raising the output pushes the top and bottom away from each other, so I have to adjust the offset on Rotary 1 to a value of 69. ;)
Whew, would have been a lot simpler if the output from KeyNote2 was unipolar from 0 to 127, but at least there are tricks to get it to behave that way in the end!
You do not have the required permissions to view the files attached to this post.
Selig Audio, LLC

User avatar
syzygianrrf9999
Posts: 44
Joined: 14 Aug 2018

Post 15 Jan 2025

jam-s wrote:
14 Jan 2025
I have not tested this, yet...
I'll need to revisit these, I was sure I'd exhausted myself trying to make the Hamu devices do exactly that, but perhaps I missed something.
Pepin wrote:
14 Jan 2025
I deleted my previous post, because I think the Combinator can actually perform the knob behavior as you describe. I had forgotten about the "Source Range" setting.
So this won't work, but its my fault - what I'm trying to do is a little more specific and complicated than that, I should've just mentioned it up front, I'll try and describe it below.
Pepin wrote:
14 Jan 2025
For completeness, here's an alternative way to do it without the Combinator that will filter out notes outside the desired range:
I haven't played around with the Note Tool yet mostly because I find Players to be frustratingly inflexible in terms of CV routing, and a lot of the ones that do really cool stuff (like Lectric Panda's Evolution or Aggregate) confine all that cool stuff to one instrument, and Players are equally limited in terms of being controlled themselves by other CV or a Combinator (99% of my music-related research problems would be fixed by Aggregate alone if its interface was 100% controllable via CV or the combi programmer) - Lectric Panda, if you read this, I beg you, make non-player versions of these devices with robust CV I/O. I'll pay triple digits for them.. This will probably make more sense when I describe what I've been trying to do.
selig wrote:
14 Jan 2025
There is also an old trick, not sure who to credit but not me, where you can have a CV control the step sequencer position. This means you can build a system where each note C-B (12 steps) can have a pre assigned value sent as CV 0-127.
This sounds the most like it will work, assuming the step sequencer position has a CV output as well.

To clear the air, here's what I've been grinding away at:

I'm trying to create a justly-tuned, sort of "reverse-granular-synthesis" synth engine that uses a drum synth as its voice. Basically at lower, sane bpms it will generate fun, simple-to-moderately-complex polyrhythms, and at high BPMs (>240 at least), act as a playable pseudo-granular synth with the drum parameters controlling the timbre.

To do this I've tried using any number of CV sequencers/pulse generators, but the best and most flexible one seems to be Lectric Panda's PSQ, since it is actually 16 generators in a single device and it lends itself to just intonation b/c each pulse generator has, in effect, 3 rate controls (the master, and the per generator speed and division controls that go from 1-96 with the former being = to the master rate at 24), one of which specifically enables beat divisions smaller than 1/128, minimizing the need for BPMs exceeding 200.

EDIT: Everything described up to this point I've got handled and have created/recreated many times; its mentioned just for context. Playing it (with keys instead of knobs/faders/LFOs) is the problem.

To actually play this nonsense, my brain is telling me all of the pulses have to be routed to a selector, of which there are many options (Robotic Bean Select (which has built-in keyboard mapping, but only to natural notes, so if I wanna do something minor key or jazzy, I'm screwed), Tinker, etc.) - and then the selector has to be mapped (via a combinator or whatever) such that each key triggers a different pulse generator chromatically.

This is easy to map to a knob or fader - that's something I've done many times, but I'd only be guessing which note I was at, and its hell to actually create riffs with without engineering a fleet of LFOs - so I've been trying in vain for a while to figure out how to map it to Reason's sequencer keys, and finally gave up and came here to ask.
Last edited by syzygianrrf9999 on 15 Jan 2025, edited 2 times in total.

User avatar
syzygianrrf9999
Posts: 44
Joined: 14 Aug 2018

Post 15 Jan 2025

I can tell after just a few minutes of screwing around most of these ideas are going to get derailed by the fact that there's no intonation-based mapping for source ranges. So when I trigger C and then C#, the controlled parameter either doesn't move until I go to D or higher, or conversely jumps the modulation target up by 2-3 of however many "notes" I have set as increments.

I can dial this in by tweaking the source range in the combi programmer, but I like I said earlier, this is tedious and inflexible (what if I wanna go up or down an octave or change scales on the fly without re-programming everything? hell). My hope is that there's a way to avoid this, that will treat keys on the keyboard as steps in a stepped selector and not skip or ignore steps unless configured to do so.

In theory this should be simple - its just splitting a rotary or fader into 12 (or some multiple of 12) incremental ranges. 12T-ET basically, same as we split an octave. And having each segment in that range mapped to a single key.
Last edited by syzygianrrf9999 on 15 Jan 2025, edited 1 time in total.

User avatar
jam-s
Posts: 3321
Joined: 17 Apr 2015
Location: Aachen, Germany

Post 15 Jan 2025

I'm not sure, but from your description Trigate (in combination with a note based trigger generator) sounds like it could be a useful tool for this experiment.

User avatar
syzygianrrf9999
Posts: 44
Joined: 14 Aug 2018

Post 15 Jan 2025

jam-s wrote:
15 Jan 2025
I'm not sure, but from your description Trigate sounds like it could be a useful tool for this experiment.
So the only part of what I've described that I haven't been able to reproduce is the "tuned" source ranging of the selector to a combi control, and mapping that to keys. Generating and configuring ("tuning") the gates/pulses and routing/mapping them to a selector is the easy part, for me, at this point. I was just mentioning all that to give background / context.

User avatar
Pepin
Posts: 680
Joined: 16 Jan 2015

Post 15 Jan 2025

What if you take the Player approach I posted above but place a different device before Note Tool to lock to the desired scale? To clarify, these players are placed above a placeholder instrument inside your combinator, ultimately serving just to generate CV from MIDI.

Edit: I suppose the resulting CV values won't be evenly spaced in this case. It could still technically work if your selector used repeat values to span the missing chromatic steps.
Last edited by Pepin on 15 Jan 2025, edited 2 times in total.

User avatar
selig
RE Developer
Posts: 12360
Joined: 15 Jan 2015
Location: The NorthWoods, CT, USA

Post 15 Jan 2025

syzygianrrf9999 wrote:
15 Jan 2025
This sounds the most like it will work, assuming the step sequencer position has a CV output as well.
The CV coming out of Thor driving the step sequencer position IS the step sequencer position! But if that’s not enough, remember you have FOUR simultaneous outputs from the step sequencer for every position, so you could easily program any of these to produce EXACTLY the CV value for each step that you need, including CV values of 1-12 for the twelve steps. Make sense?

IF none of these solutions work you may be able to get DELTA to do what you want?
https://www.reasonstudios.com/shop/rack ... FmuDei_7Yd
Selig Audio, LLC

User avatar
Pepin
Posts: 680
Joined: 16 Jan 2015

Post 16 Jan 2025

I haven't tested extensively, but here's a patch using players to ultimately generate a "selector" signal, with filtering by scale and range.
  • The Scales and Chords player first filters notes outside of the desired scale.
  • The Note Tool then filters notes outside of the desired range. It outputs the resulting note CV and gate signal (fixed velocity) with optional latching behavior.
  • Thor outputs the same min and max range settings from Note Tool as two CV values.
  • Tinker finally normalizes the current note value so that each chromatic step in [Range Min, Range Max] maps to an equal sized "segment" in the range [0,1]. Numerically, it maps to the center value of each segment. The entire result is multiplied by the gate signal (1 or 0).
You'll want to keep the players visible while dialing in settings using the Combi knobs. There shouldn't be any need to touch the rack devices themselves except for configuring the "Custom" scale on the Scales and Chords player if you're using that. You'll also want to make sure Range Min is always set below Range Max (self explanatory).

Ultimately, you'll want to use Tinker's output as input to the selector device, whatever that actually is. It will need to configured so that the number of steps matches the number of notes in the chosen range (including notes not in the scale).

Still not 100% sure this is actually what you want, but an interesting problem nonetheless.
PlayableSelector.png
You do not have the required permissions to view the files attached to this post.

User avatar
syzygianrrf9999
Posts: 44
Joined: 14 Aug 2018

Post 16 Jan 2025

selig wrote:
15 Jan 2025
The CV coming out of Thor driving the step sequencer position IS the step sequencer position!
OMG. I think this works (I would've needed to see the rack flipped from your earlier photos to "get it" off the bat, but I figured it out!). I'll need to try some things and see how much it flexes but I've got a basic chromatic scale working like this with NO traditional oscillator involved. Just 1/128th-and-faster kick drums.

Perhaps I'll post a video later showcasing it. :D TYSM! Would never have thought Thor would be the missing piece lol.
Pepin wrote:
16 Jan 2025
Still not 100% sure this is actually what you want, but an interesting problem nonetheless.

PlayableSelector.png
I want to try this as well as it looks fascinating, especially what you've got going with the Tinker patch there.

  • Information
  • Who is online

    Users browsing this forum: CommonCrawl [Bot], Trendiction [Bot] and 5 guests