Kurzweil K150FS, K150 Update Manual

K150FS Version 1.6 Software
Ralph Muha
Kurzweil Music Systems, Inc.
Waltham, MA 02154
These notes describe changes to the version 1.6 release of the K150 FS software. The major changes are:
Next/Prev and Incr/Decr button positions are reversed.
MIDI Channel and Mode are memorized. All program assignments are remembered in Multi-mode.
Optional keyboard control of reference key for real-time modulations.
System Exclusive messages for loading and dumping master parameters, programs and voices (with optional
Voice RAM).
System Exclusive messages to support remote front panel control.
Button Reversal
One of the most common complaints about the K150 is the position of the INCR/DECR and NEXT/PREV buttons. Although one thinks of them from left to right, their normal positioning on almost all electronic equipment is from right to left. The new software reverses the position of these keys. Upgrading an existing unit requires reversal of the key caps.
Better Multi-Mode Support
MIDI channel and mode (Omni, Poly or Multi) are memorized in the non-volatile RAM. In addition, program assignments in Multi mode are remembered. This allows complete instrument setups to be saved across power downs.
Expanded Intonation Features
Version 1.6 supports seven user-definable intonation tables. In addition, fourteen ROM-based intonation tables (designed by Wendy Carlos) are provided. The names, numbers and values of these tables are given in Appendix A.
The range of tuning adjustment available via the intonation table has been expanded to a full tri-tone (i.e., ±600 cents or 1/2 octave in each direction). This allows creation of unusual scales with notes that are very close together.
A new mechanism is provided for changing the intonation reference key over MIDI. When the Auto Ref Key switch (available in the EDIT TUNE menu) is ON, MIDI Note On messages for key numbers 0 (C) thru 11 (B) will change the reference key. Note that in MIDI, C0 = key number 12, so 0 thru 11 are seldom used. Thus, if you have a controller that will transmit those key numbers, you can use it to change the reference key dynamically, allowing real-time modulation while using a non-equal tempered tuning. (Again, thanks to Wendy Carlos for this idea!)
K150FS Version 1.6 Software 1
System Exclusive Message format
All system exclusive messages received and transmitted by the K150 have the following common format:
$F0 7 chan 15 cmd optional data ... $F7
where 7 is the manufacturer ID (Kurzweil), chan is the basic MIDI channel number (0 thru 15), 15 is the product ID (K150), cmd identifies the type of message and determines the format of the optional data.
The following commands (i.e., message types) are recognized:
1 2 3 4 5 6 7 8 9 10 $7E $7F
General Sequence for Block Data Dumps
Computer send dump request
send load request
send block data
Load/Dump Master Parameter Block
1 off-hi off-lo len-hi len-lo 2 off-hi off-lo len-hi len-lo
Load Master Parameter Block Dump Master Parameter Block Load Program Dump Program(s) Load Instrument Voice Dump Instrument Voice(s) Block Data Transfer Remote Button Push Transmit Display Text (request) Display Text (acknowledgment to #9) NAK (multi-purpose) ACK (multi-purpose)
K150
send block data
ACK
ACK
The Master Parameter block is 512 bytes of data which contains parameters such as master tune and transpose, the velocity maps, intonation tables, and the program list. These commands may be used to load and dump portions of this block. Each message contains the byte offset (sent as two 7 bit values) and length in bytes of the area to load or dump. The actual data is transmitted using the block data message (see below).
Appendix B contains a description of the master parameter block and list of offsets and lengths of its contents.
Dump Program(s)
4 lo#-msb lo#-lsb hi#-msb hi#-lsb all-flag
This command may be used to request the K150 to dump one or more programs. Two program numbers are given as a range over which to dump. Non-existent program numbers in the range are ignored. If the all-flag byte is zero, only RAM based programs in the range are dumped. Otherwise, all programs are dumped. Each program is transmitted as a separate block data message (see below). A final ACK is sent after the last program.
Computer dump request
K150FS Version 1.6 Software 2
K150
ACK block data (first program)
... block data (last program) ACK
Load Program
3
This command may be used to load a program into the K150. The next block data message should contain the program. Since the program number is contained in the program data, no other data is required for this message
Computer K150 send load request
ACK
send block data
ACK
Dump Instrument Voice File
6 vno-msb vno-lsb model-flag
This command is used to request the 150 to dump one or more sound models (which together comprise an instru­ment voice). The voice number is transmitted as two nibbles. Since voice files may be large, the model-flag determines what portion of the voice data is transmitted. If it is zero, only the voice header (32 bytes) plus the sound model headers (48 bytes/per model) are transmitted. If the flag is 127 ($7F), the entire voice file is sent (voice header, model header, and all model data). Otherwise, the flag value is used as an index to select the N-th model in the voice. The voice header, model header and model data are transmitted.
The format of voices and sound models are described in a separate document.
Load Instrument Voice File
5 v#-msb v#-lsb hln-msb hln-lsb lln-msb lln-lsb
This is command is used to request the 150 to load an instrument voice. The voice number is given as two nibbles (one byte) and the total size of the voice is given as four nibbles (one word). The K150 will respond with ACK if it is equipped with sound RAM and there is enough free space to load the voice. The computer should then transmit the voice data as a single block data message (see below).
Block Data Message
7 msb lsb
All block data is transmitted and received in nibble-ized format. Each eight-bit data byte is sent as two four-bit MIDI data bytes. The contents of a block data message depends on the type of load or dump request.
Remote Front Panel Control
Three commands implement the remote front panel feature. Command #8 allows you transmit any sequence of button pushes to the K150. The optional data is simply the code numbers for the various buttons (given in Appendix C). Command #9 is a request for the current contents of the display. The K150 responds with command #10. The optional data will contain the display text (up to 32 characters). Periods are transmitted as separate characters and flashing text is enclosed in curly braces.
Computer
K150
sends button press
responds appropriately
sends display request
sends display text
displays text to user
K150FS Version 1.6 Software 3
Loading...
+ 5 hidden pages