Playing chords -- better Mouse Keyboard or Midi Translator?

florian

2006-12-18 13:04:31

A user asked this:
Would Midi Translator Be "Better" Than Bomes Mouse Keyboard If I Wanted To Turn Keys In To Chords?..... And If Midi Translator Is Better For My Situation Would It Take A Long Time To Program Midi Translator To Translate Notes Into Chords And Possibly Scales?.

florian

2006-12-18 13:46:20

Bome's Mouse Keyboard has a chord editor, which lets you define your own chords. IMO, it makes it very easy to turn keys into any chord. However, this solution lacks flexibility, since every key will use the same chord definition.

Using Midi Translator Pro, you can use the translation Keystroke to MIDI for defining arbitrary chords. As you expected, it's more complicated to define the chords in MT Pro, but you have much more flexibility. For example, you can define different chords for different keys. An example:

Code: Select all

Translator 1: Key to Major Chord On
Options: stop=true
Incoming: Key down: X
Rules: 
  pp=64
  qq=pp+4
  rr=pp+7
Outgoing: MIDI 90 pp 7F qq 7F rr 7F 

Translator 2: Key to Major Chord Off
Options: stop=true
Incoming: Key up: X
Rules: 
  pp=64
  qq=pp+4
  rr=pp+7
Outgoing: MIDI 90 pp 00 qq 00 rr 00 
This example will play a major chord when pressing the X key. The rules will first initialize the variable pp with the base key to play (64). Then, the other keys to be played are defined: qq with the third, and rr with the fifth. The Outgoing will send 3 MIDI Note On commands (using running status). For key release, the same is done, but with velocity 0 to stop the playing note.
You can easily use copy/paste for defining other keys. Just change the keystroke and the first rule (pp=...) to different values. If you want to define other chords, change the "qq=..." and "rr=..." rules. You can also add notes to be played in the chord (just continue with variables ss, tt, ...) and append that to the outgoing MIDI string.

------

A different way is to use a combination of Mouse Keyboard and Midi Translator:
use mouse keyboard for playing the notes, and use Midi Translator's MIDI to MIDI translation to generate the custom chords, e.g. to play a minor chord whenever you play a note C:

Code: Select all

Translator 1: MIDI note C to minor chord
Options: stop=false
Incoming: MIDI 90 pp vv 
Rules: 
  xx=pp/12
  xx=xx*12
  xx=pp-xx
  if xx!=0 then exit rules, skip Outgoing Action
  qq=pp+3
  rr=pp+7
Outgoing: MIDI 90 pp vv qq vv rr vv 
This translator will react on any Note On and Note Off command. The first 4 rules will calculate the relative note number from 0..11 in xx, i.e. the note independent of the octave. Then, if the note is not 0 (which is the note C), then this Translator will not be executed. The remaining 2 rules are as above, they construct the minor chord. The outgoing action will send the minor chord to the MIDI device. Of course, for this setup to work, you need to use a virtual MIDI driver to connect Mouse Keyboard's MIDI out with Midi Translator's MIDI IN.
This way, you can define different chords for all the keys more easily.

Regards,
Florian