Mapping notes

This forum is for discussing Reason. Questions, answers, ideas, and opinions... all apply.
Post Reply
Undistraction

22 May 2018

Is there any way to do the following using stock devices or REs:

I want to take a note CV and split it into two. I want to run the first signal into the note CV of an instrument, and take the second signal to the note CV of a different instrument. However before the signal reaches the second instument I want a way of mapping the notes to different notes. For example, if the note is C3 I want to map it to F2, if the note is G3, I want to map it to A3 etc. Note I'm not talking about just offsetting the pitch by a fixed amount for all notes (which I can easily do a number of ways). I'm also not talking about note quantising, because all the quantisers I have seen are limited to a linear 12-note scale. I want to map a given note to an arbitrary other note. Effectively just a simple table mapping of input note -> output note.

User avatar
artotaku
Posts: 652
Joined: 09 May 2015
Location: Munich, Germany
Contact:

22 May 2018

Undistraction wrote:
22 May 2018
Is there any way to do the following using stock devices or REs:

I want to take a note CV and split it into two. I want to run the first signal into the note CV of an instrument, and take the second signal to the note CV of a different instrument. However before the signal reaches the second instument I want a way of mapping the notes to different notes. For example, if the note is C3 I want to map it to F2, if the note is G3, I want to map it to A3 etc. Note I'm not talking about just offsetting the pitch by a fixed amount for all notes (which I can easily do a number of ways). I'm also not talking about note quantising, because all the quantisers I have seen are limited to a linear 12-note scale. I want to map a given note to an arbitrary other note. Effectively just a simple table mapping of input note -> output note.
Cannot provide a working solution but an idea which could be elaborated.

You could split your second note CV into further split "branches", one for each mapping. The split note CV of each "branch" needs to be offset/transposed by another CV RE Utility (e. g. Janitor).

For each "branch": Before transposing the note value there needs to be a conditional switch which only lets the signal through if the incoming note CV matches a constant note CV value specific to the branch (kind of a threshold value). This could be done with a logical gate CV utility (like Elementary Logic Gates, DVC-1, etc). This ensures that a note signal reaches the instrument if it was routed through the correct transpose "branch".

Undistraction

22 May 2018

@artotaku Thanks. That sounds like a viable if very laborious process.

I think there is such a huge gap in the market for a really good melodic quantiser/mapper RE.

Baylo
Posts: 149
Joined: 17 Jan 2015

22 May 2018

I second the idea for a note re-mapper! That would be really cool.

My son has a (cheap) electric drum kit that outputs midi. It's possible to use the kit's control model to remap the midi notes that each pad sends, but I can't help thinking it would be much easier/quicker to do that within Reason and combine the re-mapper with the Kong/NN-XT/Redrum/EMI that he wants to use. Is this something that the Player SDK could handle?

Undistraction

23 May 2018

I'm sure the SDK could handle it and this would definitely make sense as a player (assuming it offered CV in).

The things I would like it to do:

- Allow me to map notes
- Allow me to quantise notes or a CV signal to an arbitrary set of notes.
- Allow me to write quantising note data to track

Thinking about this further I think this might work better as an RE because you could route a single set of notes through multiple instances, whereas this might not be possible with multiple players because they automatically stack (I don't think you can use them in parallel.

User avatar
Loque
Moderator
Posts: 11176
Joined: 28 Dec 2015

23 May 2018

I think there is lot of potential stuff for CV and for Players or both in Combination.

To the OP, i was think with some tricks you can let Thor map notes, but to get it work that only specific notes are coming through, you would at least need a two step filtering and the sequencer of Thor. A lot of hassle for such a simple task.

Maybe Ivy can help here, but did not tried much with it yet...
https://shop.propellerheads.se/rack-extension/ivy/

And probably other CV tools that can filter, scale and offset CV like Janitor, Kron, CV Suite and probably more...
Reason12, Win10

Undistraction

23 May 2018

@Loque Thanks for the link to Ivy. It definitely gets some of the way there, but I think it suffers from the same single octave range limit as every other RE I've tried - eg PSQ's tiny quantising control. They all quantise to a key rather than a selection of notes that may span multiple octaves which is a critical difference (and very limiting melodically)) I can understand why - selecting notes across multiple octaves needs lots of space - but this is exactly why we need a dedicated RE for this - one that does this one thing really well.
Last edited by Undistraction on 23 May 2018, edited 1 time in total.

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

23 May 2018

Undistraction wrote:
23 May 2018
@Loque Thanks for the link to Ivy. It definitely gets some of the way there, but I think it suffers from the same single octave range limit as every other RE I've tried - eg PSQ's tiny quantising control. They all quantising to a key rather than a selection of notes which is a critical difference (and very limiting melodically)) I can understand why - selecting notes across multiple octaves needs lots of space - but this is exactly why we need a dedicated RE for this - one that does this one thing really well.
I can see a note mapper being very useful when working with drum tracks, but what is a use case for a melody with different scales in different octaves?
:)
Selig Audio, LLC

User avatar
Fotu
Posts: 99
Joined: 11 Jan 2017

23 May 2018

Undistraction wrote:
23 May 2018
I'm sure the SDK could handle it and this would definitely make sense as a player (assuming it offered CV in).

The things I would like it to do:

- Allow me to map notes
- Allow me to quantise notes or a CV signal to an arbitrary set of notes.
- Allow me to write quantising note data to track

Thinking about this further I think this might work better as an RE because you could route a single set of notes through multiple instances, whereas this might not be possible with multiple players because they automatically stack (I don't think you can use them in parallel.
I have a tangential use case for a kind of mapper and with it another desire:

- Allow me to assign the mapped notes 'names' and have those names carried to labels in the note lanes for editing.

Imagine something like 'Drum Edit' view in the edit lanes, but the names come from the note mapping profile I create and combine the keyboard view with the labels (like some sequencers of yore).

Then I could use this for something I happen to be pondering now: how best to record notes for lighting automation, where a MIDI note invokes a given scene. Of course just recording MIDI notes in an EMI works fine for capturing the notes, but after recording, (e.g. for editing or review) it's tedious to manually reconcile note values with their meaning in the external system. Seems like this could nice in interfacing with a number of external systems involving note mapping. (Oh, and good to extend the custom naming to Program #s, CC values/ranges, etc. etc. :) OK, I said it was a tangent...

Undistraction

23 May 2018

@selig I love generative melodies, and love taking a CV signal and running it across a series of notes (along with a gate signal) to generate melodies with strange rythms. Obviously I can use the same set of notes for multiple devices to create harmonies, but this is pretty random - you have two identical or related sets of notes interacting, but what I really want is a way to control harmonies. This requires a way to take a note CV signal and transpose those notes in parallel. Reason offers way to transpose all notes by a given amount - 5th, 7th, Octave etc, but I would like a way to define the relationships on a note-by note basis.

Does that make sense? If not I'll try and explain it better.

I don't care about note mapping specifically, but it seems that it is the only way to achieve what I'm after.

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

23 May 2018

Undistraction wrote:
23 May 2018
@selig I love generative melodies, and love taking a CV signal and running it across a series of notes (along with a gate signal) to generate melodies with strange rythms. Obviously I can use the same set of notes for multiple devices to create harmonies, but this is pretty random - you have two identical or related sets of notes interacting, but what I really want is a way to control harmonies. This requires a way to take a note CV signal and transpose those notes in parallel. Reason offers way to transpose all notes by a given amount - 5th, 7th, Octave etc, but I would like a way to define the relationships on a note-by note basis.

Does that make sense? If not I'll try and explain it better.

I don't care about note mapping specifically, but it seems that it is the only way to achieve what I'm after.
I was specifically wondering why you need different scales for different octaves?

Assuming you don't (for example, for generating harmonies), Scales and Chords can generate harmonies from any input when used with MIDI-CV (for poly splitting to a second instrument) and NoteView (for transposing).
Selig Audio, LLC

Undistraction

23 May 2018

As far as I can see they don't offer me a way to say:

If you receive a C4, play an E5
If you receive a D4, play an F2
If you receive an E#4, play an E3
Etc

While all the notes might conform to a scale, I don't necessarily want to use all of the possible notes within the sale for each octave. I also don't necessarily want to transpose notes that fall within the same octive in the same direction.

Scales And Chords is a blunt instrument. All I can do is pick a scale play notes into it and know they'll be quantised to the chosen scale. I have no more granular control than that. It is effectively there as a tool to coerce notes to a scale, or generate chords. It doesn't allow you to lay out the parameters you want. It's designed to get a good sound quickly, not craft your own harmonies. I mean it has a switch for color, when color, to me is the most important part, and certainly doesn't involve two possible positions.
Last edited by Undistraction on 23 May 2018, edited 1 time in total.

User avatar
Loque
Moderator
Posts: 11176
Joined: 28 Dec 2015

23 May 2018

Undistraction wrote:
23 May 2018
Scales And Chords is a blunt instrument. All I can do is pick a scale play notes into it and know they'll be quantised to the chosen scale. I have no more granular control than that.
Not only that. I use it to filter out unwanted notes. Would be all you need in your case, but you want a specific note range, which could work, if you limit the note range through a Combinator or some other CV utility. So in fact you need to split your notes to different Combinators limiting your note range, which holds a Scales&Chords, which lets only specific notes through. Than grab this, to route it back to your destination.

I am not a fan of this solution, due its massive cluttering and hassle. Also i cannot save it as a patch.
Reason12, Win10

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

23 May 2018

Undistraction wrote:As far as I can see they don't offer me a way to say:

If you receive a C4, play an E5
If you receive a D4, play an F2
If you receive an E#4, play an E3
Etc

While all the notes might conform to a scale, I don't necessarily want to use all of the possible notes within the sale for each octave. I also don't necessarily want to transpose notes that fall within the same octive in the same direction.

Scales And Chords is a blunt instrument. All I can do is pick a scale play notes into it and know they'll be quantised to the chosen scale. I have no more granular control than that. It is effectively there as a tool to coerce notes to a scale, or generate chords. It doesn't allow you to lay out the parameters you want. It's designed to get a good sound quickly, not craft your own harmonies. I mean it has a switch for color, when color, to me is the most important part, and certainly doesn't involve two possible positions.
OK, I think I’m getting you don’t necessarily want “musical” harmonies (from your example), and while I’m still not hearing a use case for the example you’ve given (WHY do you want such an odd octave jump with each harmony?) I can see it has a possible use.

What you describe would be common for drum note mapping, so even though there are probably very few like you who want odd harmonic mapping, there IS an audience for a pure note mapper.

Now I have to wonder what the best UI for such a tool would be, since it’s time consuming to define 127 values for a table, and as time consuming to look at a display and try to predict exactly what it’s going to do.

I’m thinking a graphic display rather than (or in addition to) a text display would be best. But neither would fit nicely in a typical device.

How do you see interacting with this device, in other words, what is your ideal workflow when specifying the 127 possible values?

I can see the usefulness of restricting this device to a certain (user selectable) range and filtering out the rest of the notes (just to make things easier). Beyond that, do you want to hear the notes as you input them, see them on a keyboard, input them by playing you your keyboard, etc?


Sent from some crappy device using Tapatalk
Selig Audio, LLC

Undistraction

23 May 2018

@selig Before I answer your question, which is a good one, I wonder if this can be looked at from a different direction.

Is there a way to play a sequence of chords and explode the notes from each chord into separate note channels. For a very simple example, if I play:

Am, C, G

Is there a way the notes could be separated into three note CV channels, so the base notes are separated into one channel, the middle notes into another and the high notes into another? Whilst this doesn't solve all cases, it would allow me to describe the harmonies with chords but use the notes within them separately.

I guess this is kind of like an inversion of an arpegiator.

If the chords could be stored they could then be triggered, passing their component notes on via the separate channels.

Baylo
Posts: 149
Joined: 17 Jan 2015

23 May 2018

I don't mean to hi-jack the thread, so I do apologize to the OP. If it is better to take this into a separate thread, let me know. But a couple of thoughts on the drum mapping idea.

Obviously in this case you're not generally looking to map 127 notes. I don't know what the average or extreme use case looks like, but my son's kit probably has 11 triggers (kick, snare, rimshot, three toms, crash, ride, open/closed/pedal hi-hat). Additional toms and cymbals can be added, and more sophisticated kits have multiple zones on the pads which, I imagine, trigger different notes. Maybe a reasonable place to start is to have 16 input notes available which can easily map to a Kong kit. Or maybe it's tabbed screens of 8 or 12 lines at a time (is that possible?) so that the complexity can be ramped up as needed.

A "simple" player would have a column for input midi note, a corresponding text field column for the drum pad name, an output midi note column, and maybe a text column for a description of the output note sound. It would be cool if the output description could be pulled from the device, but I doubt that's possible. It would be useful, though, in those instances where the output is an EMI playing another external device.

A more complex version might also have the option for multiple output notes for each input note, which could play simultaneously to layer sounds, or set a velocity switch so that multiple sounds can be accessed from a single pad, or rotate for round-robin playing.

For those instances where the device is being used melodically rather than for drums, maybe there's a checkbox alongside each input note that lets the transposition amount between input and output be replicated across all octaves? Though I suppose in that case you need to define some behavior for what happens when the transposition goes outside of midi's range...

Just some thoughts. Again, apologies if this is a distraction.

Mark

Undistraction

23 May 2018

Obviously in this case you're not generally looking to map 127 notes.
I think this is a good point and applies to my situation as well. I don't want to remap every note across all octaves. I want to map a sequence of notes spanning two or maybe three octaves to other notes. There might only be 5 notes, or 10 notes. 16 notes would be more than enough for me.

As far as the UI goes I need to give it some thought, but I would be happy with a 10x2 grid where I can choose the note in and the note out.

Again, I'm not talking about quantising - that would assume I don't know what notes are going to be input ahead of time. I do know what notes will be input (if not the order of those notes). I just need a way to change these known notes to other known notes.

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

23 May 2018

@Baylo, great idea about having more than one note on the output side for layering/stacking/harmonizing.

I suggested a way to restrict the overall note range in the case you’re only dealing with a few octaves. 16 notes total will work for drum mapping in most cases (except for a complete GM remap), but not for melodic mapping.

I see a way to have notes in one octave “mirrored” to other octaves, then a way to edit each octave individually from there (so you don’t have to enter each octave on it’s own).

But these are features - I’m still wondering what is the best workflow and UI.

For example…
Wouldn’t it be cool if you could play one note, then the next note you play is the new mapped note? Then repeat from there until you’ve mapped as many notes as necessary, all done by playing notes/pads and nothing more! Would be much easier than selecting a field/line and scrolling to each desired mapped note.

That’s what I mean by workflow and UI. Even with that workflow you could still choose to display as text in columns or as a MIDI keyboard, or as a grid for input vs output. What’s as important as features to me is the workflow - the way you get from point A to point B. The better the workflow, the more useful the device - make sense?



Sent from some crappy device using Tapatalk
Selig Audio, LLC

Baylo
Posts: 149
Joined: 17 Jan 2015

23 May 2018

@Selig. First - thanks for engaging in thinking about this. (And, in fact, for everything you do on this forum - I may not post much, but I read a lot!)

I understand your point about workflow, and I see the sense in your suggestion. In my very specific domestic drum-mapping case, though, where my son's kit is on the other side of the room from the keyboard and PC, then it might be a hindrance if forced to select an output after each input - it would entail hitting a pad then walking over to the keyboard to select an output, then back to the kit for the next pad, and so on. I don't think you're proposing to be that restrictive, but that's what that approach would look like here.

It might be helpful to be able to program all the input notes together, though. In other words, hit a "learn" button and then hit each pad in turn, in the sequence that you then want to program them. This can be done at the kit in one go, and then move to the keyboard/computer to select the output notes in the same order. What would be important would be to hear an echo-back of the output note if it is selected by mouse (so you know what sound you're selecting, obviously). Or do something similar to the way the learn function in the new drum sequencer is implemented but in a way where the last note played on the midi keyboard is tracked as the output note of a given input until a "next' button is pressed, at which point the device automatically moves on to the next input note for programming. That way those big GM-style drumkits in my old Korg X5DR can be auditioned and assigned, even though I might not immediately remember exactly which key plays which sound!

I hope that makes some sense. I'm just thinking out loud and I'm sure others have more elegant ideas. I also suspect that mapping notes and mapping drum sounds may benefit from different workflows.

Thanks again.

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

23 May 2018

Baylo wrote:@Selig. First - thanks for engaging in thinking about this. (And, in fact, for everything you do on this forum - I may not post much, but I read a lot!)

I understand your point about workflow, and I see the sense in your suggestion. In my very specific domestic drum-mapping case, though, where my son's kit is on the other side of the room from the keyboard and PC, then it might be a hindrance if forced to select an output after each input - it would entail hitting a pad then walking over to the keyboard to select an output, then back to the kit for the next pad, and so on. I don't think you're proposing to be that restrictive, but that's what that approach would look like here.

It might be helpful to be able to program all the input notes together, though. In other words, hit a "learn" button and then hit each pad in turn, in the sequence that you then want to program them. This can be done at the kit in one go, and then move to the keyboard/computer to select the output notes in the same order. What would be important would be to hear an echo-back of the output note if it is selected by mouse (so you know what sound you're selecting, obviously). Or do something similar to the way the learn function in the new drum sequencer is implemented but in a way where the last note played on the midi keyboard is tracked as the output note of a given input until a "next' button is pressed, at which point the device automatically moves on to the next input note for programming. That way those big GM-style drumkits in my old Korg X5DR can be auditioned and assigned, even though I might not immediately remember exactly which key plays which sound!

I hope that makes some sense. I'm just thinking out loud and I'm sure others have more elegant ideas. I also suspect that mapping notes and mapping drum sounds may benefit from different workflows.

Thanks again.
You just perfectly answered the question I asked! Great information in your post, and very well described. You basically provided a “use case” as I was asking for, because you can’t really design a device without knowing not only what it should do but possibly more importantly HOW it should do it!
:)


Sent from some crappy device using Tapatalk
Selig Audio, LLC

Undistraction

24 May 2018

I gave this some thought and I realised what I'm actually after is two separate devices. The first is a more flexible quantiser. (Image attached). Hopefully it is pretty self explanatory. You can either quantising to a scale (in which case all notes within that scale are selected) or you can choose your own sequence of notes. There is a range slider that allows you to choose how much of the keyboard the incoming CV signal is quantised to. This would effectively squash the signal to fit into the range. There is also a control to change the also used to decide how a value that falls between notes should resolve. There are lots of possibilities here.

[Edit] In the diagram, the 'Notes' switch should be pointing to custom as there is a custom range selected. If it is pointing up to a scale, all the notes for that scale would be automatically selected.

The second device is something like Robotic Bean's Step Note Recorder, but that would allow each step to be polyphonic and allow you to split each step into its individual notes. I made a quick demo of the effect, though all I'm doing is playing chords which are split into their component notes using Lectric Panda's wonderful CV Player Tap. I need a way to record these chords, then move through them using a CV signal. CVPT can split the notes, but I have no way to define and trigger the chords.
File here
Attachments
quantiser-01.jpg
quantiser-01.jpg (284.79 KiB) Viewed 1518 times

Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 34 guests