Equal Tempered Scales on the K2000 and K2500
family
I've heard some users lamenting that the Kurzweil K2000/K2500
do not have full keyboard intonation tables. Some are under the
impression that these instruments can do only 12 note per octave
microtonal scales. This is not true. With some simple VAST programming,
equal tempered scales of any degree can be accomplished to an
accuracy of 1 cent over the entire MIDI note range of 128 keys.
Here's how to do it, with a table of the most common scales given
as examples.
The simplest example is 24 Tone Equal Temperament, also known
as the quartertone scale. Change each layer's KEYMAP KeyTrack
parameter from 100 cents per key to 50 cents per key. Adjustment
of the Pitch KeyTrack parameter is not necessary. By using the
KEYMAP KeyTrack parameter the sample keymaps are forced to track
over the range that they were originally intended. In other words,
not only is the pitch adjusted so that C3 actually plays pitch
C4, but C3 now also plays the keymap sample intended for C4, rather
than the one intended for C3.
To achieve the fractional cents tuning of the other scales, the
KEYMAP KeyTrack parameter is used as a coarse step tuning control
and the PITCH Modulator 1 or 2 is used as a fine tuning control.
In some cases, it will be necessary to use a function to further
fine tune the key tracking. In cases where no value is given for
the FUN b column, set the modulation source to BKEYNUM and the
depth to the PITCH Mod value given.
Using the Bohlen-Pierce scale as an example, here's how you calculate
the PITCH Modulation Depth value. We want the steps between keys
to equal 146.30 cents each. The KEYMAP Key Track parameter accomplishes
146 cents of this adjustment. We still need 0.30 cents per key
of pitch modulation. Since BKEYNUM operates over the 128 MIDI
note range, we want 128 x 0.30 cents = 38.4 cents of additional
modulation. The closest selectable value is 38 cents.
In some cases the PITCH Mod Depth value is not fine enough to
give the accuracy we desire, so a function is used for additional
fine tuning. Where there is a FUN b entry, set the PITCH Mod Source
to the function being used (FUN1, FUN2, FUN3 or FUN4). Set the
FUN a input to BKEYNUM. Set the FUN b input to the constant given
in the table, then set the function to a*b. For 31 equal, this
effectively scales the pitch by .97 x -170 = -164.9 cents.
You need to remember that all pitch transposition is referenced
off a BKEYNUM's center point of MIDI note 64, which is the E above
middle C. A future update to this site will show how to transpose
the reference key to C or A in any octave.
Tuning in the table below is accurate to 1 cent or better over
the entire MIDI note range.
Temperament | cents/step | KEYMAP KeyTrk | PITCH Mod Depth | FUN b |
---|---|---|---|---|
17 equal | 70.59 | 70ct/key | +75ct | - |
19 equal | 63.16 | 62ct/key | +150ct | 0.99 |
22 equal | 54.55 | 54ct/key | +70ct | - |
24 equal | 50.00 | 50ct/key | - | - |
29 equal | 41.38 | 42ct/key | -80ct | - |
31 equal | 38.71 | 40ct/key | -170ct | 0.97 |
34 equal | 35.29 | 35ct/key | +38ct | - |
36 equal | 33.33 | 35ct/key | -220ct | 0.97 |
41 equal | 29.27 | 30ct/key | -95ct | 0.98 |
53 equal | 22.64 | 20ct/key | +360ct | 0.94 |
72 equal | 16.67 | 15ct/key | +220ct | 0.97 |
Carlos alpha | 78.00 | 78ct/key | - | - |
Carlos beta | 63.80 | 64ct/key | -26ct | - |
Carlos gamma | 35.10 | 35ct/key | +13ct | - |
Bohlen-Pierce | 146.30 | 146ct/key | +38ct | - |
Here are example K2500 screens showing the programming of the Bohlen-Pierce scale. The relevant values are highlighted.
EditProg:KEYMAP <>Layer:1/1 KeyMap:155 Dull Square Stereo:Off Xpose :0ST TimbreShift :0ST KeyTrk:146ct/key PlayBackMode:Normal VelTrk:0ct AltControl :OFF SmpSkp:Auto AltMethod :Switched
EditProg:PITCH <>Layer:1/1 Coarse:0ST Src1 :BKeyNum Fine :0ct Depth :38ct FineHz: 0.00Hz Src2 :OFF KeyTrk:0ct/key DptCtl:MWheel VelTrk:0ct/key MinDpt:0ct MaxDpt:0ct
Next is an example of the 31 tone equal tempered scale, which uses a FUN.
EditProg:KEYMAP <>Layer:1/1 KeyMap:155 Dull Square Stereo:Off Xpose :0ST TimbreShift :0ST KeyTrk:40ct/key PlayBackMode:Normal VelTrk:0ct AltControl :OFF SmpSkp:Auto AltMethod :Switched
EditProg:PITCH <>Layer:1/1 Coarse:0ST Src1 :FUN1 Fine :0ct Depth :-170ct FineHz: 0.00Hz Src2 :OFF KeyTrk:0ct/key DptCtl:MWheel VelTrk:0ct/key MinDpt:0ct MaxDpt:0ct
EditProg:FUN <>Layer:1/1 Input a: Input b: Function: FUN1: BKeyNum 0.97 a*b FUN2: OFF OFF a-b FUN3: OFF OFF (a+b)/2 FUN4: OFF OFF a/2+b