User Forum    :: Powered by YaBB
  « MIDI-OX User Forum - one finger mode for arranger »
Welcome, Guest. Please Login or Register.
May 20th, 2025, 10:04pm


Home Home Help Help Search Search Members Members Login Login Register Register


   MIDI-OX User Forum
   MIDI-OX
   Mapping Questions
(Moderator: Jamie OConnell)
   one finger mode for arranger
« Previous topic | Next topic »
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print
   Author  Topic: one finger mode for arranger  (Read 1597 times)
tor
New Member
*



MIDI-OX Rules!

   


Posts: 9
one finger mode for arranger
« on: May 4th, 2003, 6:58pm »
Quote Quote Modify Modify

Introduction:  Most arranger keyboards like Korg PA 80 that have auto accompaniament, split the keyboard and use the lower 7 keys for chord recognition.  There are three types of chord recognition. Im only considering one of those here, that is single finger mode.  In single finger mode, with the key specified, the left hand has to only place one finger in the chord recognition area, and the proper chord would be chosen.  For example; in the key of C, hitting the C note will produce the chord of C Major, hitting the D note will give the chord of D minor, E note gives the chord of E minor and so on.  
 
The problem:  Most keyboards are not flexible in single finger mode to give the appropriate chord for a particular song.  For example in the key of C, when I hit the E note, I want the chord E Major 7, not Eminor.  
The second problem:  I want to trigger this single finger mode from my midi guitar low E string only and silence the midi information coming from the other strings.
 
The solution:   My great discovery::: MIDIOX.  Im not a great programmer.  Im a mechanical engineer, so I learned FORTRAN and Basic in college. but Im ready to dive in again.
 
Heres my structure:
     My foot controller chooses the Key.  This key then selects  
a "map" which I have programmed to play specific chords for my chord recognition string (the low E  or A string).  Then when I hit a note on my note recognition strings, the appropriate chord is played by midiox, which then is introduced to my Korg PA80 which is set to three note recognition mode.  
 
I know I didn't use any programming  language to explain this so I hope I have expressed myself well enough to evoke your sympathy.
 
Thankyou for your consideration
 
Newbie,
 
Tor Marquis
IP Logged
Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: one finger mode for arranger
« Reply #1 on: May 4th, 2003, 11:11pm »
Quote Quote Modify Modify

Thanks, that explains it a little more.
 
Quote:
For example; in the key of C, hitting the C note will produce the chord of C Major, hitting the D note will give the chord of D minor, E note gives the chord of E minor and so on.    

 
Yes, that would be correct diatonic interpretation for C major.
 
Quote:
For example in the key of C, when I hit the E note, I want the chord E Major 7, not Eminor.  

 
OK, as long as we don't pretend that EMaj7 is related to the key of C: the 3rd (G#) and 7th (D#) are non-scale tones for the Key of C.
 
Quote:
   My foot controller chooses the Key.  This key then selects  
a "map" which I have programmed to play specific chords for my chord recognition string (the low E  or A string).  Then when I hit a note on my note recognition strings, the appropriate chord is played by midiox, which then is introduced to my Korg PA80 which is set to three note recognition mode.  

 
Assumptions:  

  • The foot controller will somehow change the map in MIDI-OX.  I don't know how that would best be done at the moment, but lets just assume that it happens (you could use Scripting ot Patch mapping).  
  • Your guitar controller transmits on 6 different channels, 1 for each string.
 
 
Now it would be a fairly simple feat to construct a map that reacts to each different fretted note on the E string with a different Triad.  For example, Open E on channel 1 could trigger  C-E-G on channel 7.  F on channel 1 could trigger A-C#-G# on channel 7. etc...
« Last Edit: May 4th, 2003, 11:12pm by Jamie OConnell » IP Logged

--Jamie
Music is its own reward.

tor
New Member
*



MIDI-OX Rules!

   


Posts: 9
Re: one finger mode for arranger
« Reply #2 on: May 5th, 2003, 3:31am »
Quote Quote Modify Modify

quote:
 
OK, as long as we don't pretend that EMaj7 is related to the key of C: the 3rd (G#) and 7th (D#) are non-scale tones for the Key of C.
 
Thats the whole point,  some songs go out of the key, thats why I need to be able to customize this.
 
Quote:
 
Now it would be a fairly simple feat to construct a map that reacts to each different fretted note on the E string with a different Triad.  For example, Open E on channel 1 could trigger  C-E-G on channel 7.  F on channel 1 could trigger A-C#-G# on channel 7. etc...
 
 
Question:  Does that mean I need a different map for every note?
 
I tried to modify the mapping file example  "Minor chord"you placed with the MIDIOX  program.  I modified it as follows just to get a response when I hit low E.
First Line:
When input matches:
________________Note_#__Velocity__________
Chan__Evntype_Min_Max_Min_Max____________
Any___Note_on_28__28__-1___-1____________
 
Set Output to:
Chan__Evntype_Min_Max_Min_Max____________
Mtch__Note_on_32__32__-1___-1____________
Clone  
 
Second Line:
When input matches:
________________Note_#__Velocity__________
Chan__Evntype_Min_Max_Min_Max____________
Any___Note_on_28__28__-1___-1____________
 
Set Output to:
Chan__Evntype_Min_Max_Min_Max____________
Mtch__Note_on_35__35__-1___-1____________
Clone  
 
And that didn't work.
 
But I haven't given up yet.  I think this system would be really worthwhile. Why should the keyboarders have all the fun!!??
 
Thank you for responding
 
Tor Marquis
 
 
IP Logged
Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: one finger mode for arranger
« Reply #3 on: May 5th, 2003, 12:59pm »
Quote Quote Modify Modify

Quote:
Question:  Does that mean I need a different map for every note?  

 
I think you'd need a different set of mapping lines for each note, but only a different map for each different Key you wanted to  support.  In other words, you could set up a single map that handled a complete set of different chords for the 'E' string: #28 (E) - #47 (B).  
 
Quote:
I tried to modify the mapping file example  "Minor chord"you placed with the MIDIOX  program...And that didn't work.

 
Do you mean you got no sound from it, or no output in the monitor?  If the map was on and the items were cloned as you indicate, you should have gotten a triad.  But to include several different chords in the same map, you'll need to map from the original triggering channel to a target chord channel.
 
As an example, lets say your guitar 'E' string sends on channel 1.  Let's put all mapped chord values on channel 7.  
 
Let's say thet we will create the following chord mappings:
  E  (28) -> EMaj7
  F  (29) -> AMaj7
  F#(30) -> B7
  G  (31) -> C7
 
This is only the beginning of your final map, but will serve as an example.  
 
The open E (28) on channel 1 will map to a EMaj7 chord (E(40), G#(44), D#(51)) on channel 7:
 

Ch Message V1Min V1Max V2Min V2Max C|Ch Message V1Min V1Max V2Min V2Max  
 1 NoteOn     28    28     0   127 Y| 7 *          40    40     *     *  
 1 NoteOff    28    28     0   127 Y| 7 *          40    40     *     *  
 1 NoteOn     28    28     0   127 Y| 7 *          44    44     *     *  
 1 NoteOff    28    28     0   127 Y| 7 *          44    44     *     *  
 1 NoteOn     28    28     0   127  | 7 *          51    51     *     *  
 1 NoteOff    28    28     0   127  | 7 *          51    51     *     *  
 

 
The F (29) on channel 1 will map to an AMaj7 chord (A(45), C#(49), G#(56)) on channel 7:
 

Ch Message V1Min V1Max V2Min V2Max C|Ch Message V1Min V1Max V2Min V2Max
 1 NoteOn     29    29     0   127 Y| 7 *          45    45     *     *  
 1 NoteOff    29    29     0   127 Y| 7 *          45    45     *     *  
 1 NoteOn     29    29     0   127 Y| 7 *          49    49     *     *  
 1 NoteOff    29    29     0   127 Y| 7 *          49    49     *     *  
 1 NoteOn     29    29     0   127  | 7 *          56    56     *     *  
 1 NoteOff    29    29     0   127  | 7 *          56    56     *     *  

 
And so on...
 
Here's an ASCII Map (.txm) of the above 2 mappings: chordmap.txm
« Last Edit: May 5th, 2003, 2:15pm by Jamie OConnell » IP Logged

--Jamie
Music is its own reward.

tor
New Member
*



MIDI-OX Rules!

   


Posts: 9
Re: one finger mode for arranger
« Reply #4 on: May 5th, 2003, 3:54pm »
Quote Quote Modify Modify

Hi Jamie, thank you for helping me:
 
I said:
 
I tried to modify the mapping file example  "Minor chord"you placed with the MIDIOX  program...And that didn't work.  
 
Then, you responded:
 
Do you mean you got no sound from it, or no output in the monitor?  If the map was on and the items were cloned as you indicate, you should have gotten a triad.  But to include several different chords in the same map, you'll need to map from the original triggering channel to a target chord channel.
 
My response:
 
I loaded your text file (nice feature) and I got no response: no output in the monitor and as you would expect  no sound.
But , I think if I can get this part to work Im half way there.
 
IP Logged
tor
New Member
*



MIDI-OX Rules!

   


Posts: 9
Re: one finger mode for arranger
« Reply #5 on: May 6th, 2003, 12:29pm »
Quote Quote Modify Modify

Hi Jamie
 
     I still havent got your example map to work.  Have you tried this on your system?
IP Logged
Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: one finger mode for arranger
« Reply #6 on: May 6th, 2003, 12:55pm »
Quote Quote Modify Modify

Yeah, of course I tried it.  This is the result:
 

 
In your case, you say you got 'no output' in the monitor.  That doesn't sound right. You should at least get the input traveling to the output, even with the map off.  What happens when the map is off?  You need to get that working first.
 
« Last Edit: May 6th, 2003, 2:13pm by Jamie OConnell » IP Logged

--Jamie
Music is its own reward.

tor
New Member
*



MIDI-OX Rules!

   


Posts: 9
Re: one finger mode for arranger
« Reply #7 on: May 6th, 2003, 4:14pm »
Quote Quote Modify Modify

Well then, I suppose your right.  I didn't get no output.  I got the same as that which I put in:
MONITOR-INPUT
time__IN_PORT_STATUS__DATA1_DATA2_CHAN_NOTE_EVENT
1B7F0_1__--___90______28______42_____1__E_2_Note_On  
1BA8B_1__--___80______28______40_____1__E_2_Note_Off
 
MONITOR-OUTPUT
time__IN_PORT_STATUS__DATA1_DATA2_CHAN_NOTE_EVENT
1B7F0_1___2 __90______28______42_____1__E_2_Note_On  
1BA8B_1__ 2___80______28______40_____1__E_2_Note_Off
 
 
Also, for what its worth, your example "minor chord" works perfectly.
IP Logged
tor
New Member
*



MIDI-OX Rules!

   


Posts: 9
Re: one finger mode for arranger
« Reply #8 on: May 6th, 2003, 5:22pm »
Quote Quote Modify Modify

Jamie:  I got it.  I hit octave down on the keyboard and it worked.  But I can't figure it out.  It said 28 on the imput screen.  Anyway Im jazzed , and Im proceeding to write the map for the whole key.  I dont know what to do after that.  But I'll slam into that wall when I reach it.
 
Thanks again!
IP Logged
Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: one finger mode for arranger
« Reply #9 on: May 6th, 2003, 5:32pm »
Quote Quote Modify Modify

Quote:
Well then, I suppose your right.  I didn't get no output.  I got the same as that which I put in:  

 
That IS output.  Please don't say you get nothing when you get something.
 
Quote:
MONITOR-INPUT  
time__IN_PORT_STATUS__DATA1_DATA2_CHAN_NOTE_EVENT  
1B7F0_1__--___90______28______42_____1__E_2_Note_On  
1BA8B_1__--___80______28______40_____1__E_2_Note_Off  

 
That's 28 Hex.  The Mapping dialog expects and displays decimal numbers.  To have your monitor display in decimal, right-click it and choose Display Decimal.
 
« Last Edit: May 7th, 2003, 1:53am by Jamie OConnell » IP Logged

--Jamie
Music is its own reward.

tor
New Member
*



MIDI-OX Rules!

   


Posts: 9
Re: one finger mode for arranger
« Reply #10 on: May 9th, 2003, 2:31am »
Quote Quote Modify Modify

Ok I mapped an entire key of C and I tested it running a midi keyboard into  Midiox using our map, then out into midiyoke then into Jammer live.  I changed user settings in Jammer live to accept chord recognition on channel 7, turned a few bells and whistles and it now obeys when I hit a single note on my midi keyboard.  I know this seems quite trivial, but before I met you, I was just on a wish list.  Thank you
 
Since Ive talked to you, I realize that for any given key, I can map the entire fretboard for any position that I would be at on my guitar.  For example, the open E chord plays the lower E string in the open position. For this string I use channel 1 as a condition in my map (like in our example).  For the open Am chord I use the A string which would be accepted as input on channel two instead of channel 1.   I think this is working well.
 
 
The next step , is what you said  
 
"The foot controller will somehow change the map in MIDI-OX.  I don't know how that would best be done at the moment, but lets just assume that it happens (you could use Scripting ot Patch mapping).   "
 
 
For this Ive bitten the bullet and started delving into beginning Visual Basic 6 books.  If you could help me focus a little bit,  I would surely appreciate it.
IP Logged
Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: one finger mode for arranger
« Reply #11 on: May 9th, 2003, 12:01pm »
Quote Quote Modify Modify

You could use patch mapping to load various maps, but then you might not be able to easily change patches.
 
For scripting, you could use Windows Script Host, which is pre-installed on XP, or you could use VB6 or any other high-level language that supports COM.
 
The MoxScript API has an interface that loads a Map.  You could load a map in response to any sort of MIDI controller stimulii.  It might be easier if you first decide what action will load a particular map.
 
IP Logged

--Jamie
Music is its own reward.

tor
New Member
*



MIDI-OX Rules!

   


Posts: 9
Re: one finger mode for arranger
« Reply #12 on: May 11th, 2003, 9:27pm »
Quote Quote Modify Modify

I think were going into scripting questions, but I will post here for continuity sake, unless you indicate otherwise.
 
My conceptual program would be:
Continue loop until finishedplaying = y
'  Accept input from foot controlled midi controller pertaining to
' the key of x
 
'  close existing map  ( I didn't see this command in your
 '   scripting discussion
)
' open map 'keyof x"
    If input =  keyofx then mox.LoadDataMap "C:\Program     Files\midiox\map\keyofx.oxm")
'   user plays until set is finished leaveing midiox open
Finishedplaying?
y=finishedplaying
close midiox
'END of PROGRAM
 
There, did I miss anything major?
 
Assuming I got the main idea,  am I supposed to keep 10 data maps open at once and specify with the foot controller which one Im using,  or is there a command which closes the datamaps?
 
 
 
IP Logged
Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: one finger mode for arranger
« Reply #13 on: May 12th, 2003, 12:04pm »
Quote Quote Modify Modify

The act of loading a map, automatically closes and cleans up any other Global map in effect, so a close map API is not strictly required.  If you wanted to clear a Map, you could load an empty map.
IP Logged

--Jamie
Music is its own reward.

Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print

« Previous topic | Next topic »


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