MIDI-OX User Forum (http://www.midiox.com/cgi-bin/yabb/YaBB.pl)
MIDI-OX >> Mapping Questions >> need help with mapping
(Message started by: ladybug on May 6th, 2002, 2:37pm)

Title: need help with mapping
Post by ladybug on May 6th, 2002, 2:37pm
hello all, i need some help :
i want to map a keyboard so :
- they all send the same note #.....for on and off
- before every note on will be a "data entry msb" message that is depending on the original note #, ranging 0-127

say i press c6 - what i need is :
"data entry msb" message that sends a value of 127
then note on for d2

say i press e2 - what i need is :
"data entry msb" message that sends a value of 8
then note on for d2

Title: Re: need help with mapping
Post by Jamie OConnell on May 6th, 2002, 6:56pm
The note values that correspond to designations like c6 and d2 vary among manufacturers.  MIDI-OX allows you to setup how you have to view note values - designations (Options | General... Middle C Octave).  For this example I am going to use the following:
 D2 = 38 (decimal)
 E2 = 40 (decimal)
 C6 = 84 (decimal)

To create this mapping of NoteOn to DataEntry MSB controller (6), you will need to use the [x] Use input value 1 feature (in the Define Mapping dialog) to transfer the note number to the DataEntry value field.  You will also need to Clone the NoteOn so that it can be mapped to another, fixed NoteOn message.   The final trick is to add an actual NoteOff fixed mapping, for keyboards that send a real NoteOff (rather than NoteOn with velocity=0).  I think it can all be done in 3 mapping steps:


 *  NoteOff  *  *  *  *      | *  *   38  38  *  *
 *  NoteOn  *  *  1  127 x | *  Ctl   6   6   *  *
 *  NoteOn  *  *  *  *      | *   *   38  38  *  *


Notes:  The first mapping line deals with the real NoteOff case and maps them to D2.  The 2nd mapping line converts any note with a velocity of 1 - 127 to a DataEntry MSB with a value of the note number -- remember to check "[x] Use input value 1", and "[x] Pass original value on (clone)".  The 3rd line maps the cloned 2nd line to NoteOns with a note number of D2, as well as NoteOns with a velocity of zero (i.e. which slipped by the 2nd line).

Title: Re: need help with mapping
Post by ladybug on May 7th, 2002, 9:12am
sorry, i m stupid...
i know nothing bout midi, and i get totally confused every time i try to do something with it !

here is the story : i m working with a sampler called
"Korg es-1" to make music !
i want to control a certain function (pitch) on it using a midi keyboard.

this is what i get from this pitch knob :

           
 188417   1    176    99     5    1   --  CC: NRPN MSB          
 188417   1    176    98    16   1   --  CC: NRPN LSB          
 188417   1    176     6    49    1   --  CC: Data Entry MSB

i need to change the "data2" on the "data entry msb" (49)
according to a key i press. it ranges 0-127,meaning -
note# 36 = 0......note# 84 = 127
it should also send a "note on" to trigger the sound on.

TNX

Title: Re: need help with mapping
Post by Jamie OConnell on May 7th, 2002, 10:36am
Unless I'm not hearing correctly, it sounds like this is the same as the first request except that you need the note#'s mapped differently than one to one, and now it's not important what the actual NoteOn note# is.  Is that correct, or do you also need NoteOffs removed?  I know that some samples just need notes latched on, and don't care about the note offs.  If the actual note number for the NoteOn/Off is not really important, the map gets simpler, and we can just pass them along as they are.

In any case, to map the specialized note range to cc value, you should start with the first example: it already serves to place the note# into the data2 position of the DataEntry MSB controller. [Note: while trying out this mapping, it seems there may be a bug involved with both pulling Data1 into Data2 position and performing an expanding interpolation: 36-84 mapping to 0-127.  Because of this, I suggest you map to actual NRPN's instead of CC:6].

To Map the Note number pitches into NRPNs, you still specify the range as if you were going to send both the MSB and LSB of the DataEntry, even though we only want the MSB.  But then just uncheck all the NRPN boxes in the Mapping dialog.

Here's the revised mapping:

 *  NoteOn  36  84 1  127 x | *  NRPN  656 656 0  16383
 *  NoteOn  36  84 *   *     | *   *      *     *   *   *


This will map Notes 36 - 84 into NRPN 656 (5,16) with values ranging from 0 - 16383 (MSB: 0 - 127).  Again it's important to Clone the first mapping and to check [x] Use input value 1 (this is what moves the NoteOn Data1 into the CC:6 Data2 position).  Notes with pitches outside the range of 36 - 84 are just passed along unaffected.

Here is the actual map: http://www.midiox.com/maps/Note_to_NRPN656.oxm


Title: SO MANY THANKS
Post by ladybug on May 9th, 2002, 5:59am
yo, jamie !
man u r a genius !
it is working PERFECTLY, just as i wanted.

i have posted those files (and some MIDIOX prasie) on a group named "Electribe" on yahoo!
it is a big-huge-enormous help for lot of people using this series of samplers.

possibly more "help needed" to come from there

thanks again
ladybug

Title: Re: need help with mapping
Post by Jamie OConnell on May 10th, 2002, 12:10pm
Aww shucks...  ;)
I'm glad to hear that it's working!  8)



MIDI-OX User Forum » Powered by YaBB 1 Gold - SP 1.3.1!
YaBB © 2000-2003. All Rights Reserved.