Kurzweil K150 - APPENDIX 1 Appendix page 12

Exclusive formats
Table of Contents

Advertisement

2.4 SENDING A VOICE
To send a voice to the K150FS, the host computer program must follow these steps in sequence:
1.
Determine how large the voice will be inclusive of data and all headers.
2.
Send a Load Voice command ($05 command code) system-exclusive message to the K150FS. The data field of the
message is as follows (each byte is two nybbles):
.BYTE
vnum
.WORD
size
3.
Wait for a reply message from the K150FS. It will be an ACK if there is sufficient free space in voice RAM to hold the
voice, otherwise it will be a NAK. If no response is received within a second, there is a communication problem.
4.
Assuming an ACK was received, send a Block Data command ($07). The data field is the complete voice beginning
with the first byte of the voice header using the two nybble per byte encoding method. Note that the voice ID number
given in the voice header must agree with the number given in the Load Voice command in step 2.
5.
Wait for a reply message from the K150FS. It will be an ACK if no gross errors are found in the voice data (such as an
odd number of data nybbles). Otherwise it will a NAK. Only the simplest errors are checked for. Erroneous voice data
will likely cause the K150FS software to crash when a key is played. Again, if there is no reply within one second of
sending the last data byte, there is a communication problem.
2.5 RECEIVING A VOICE
Voice data from the built-in factory sound ROMs or previously loaded data in the sound RAM can be read back from the
K150FS. To read voice information, the host computer must do the following steps:
Send a Dump Voice command (code $06). The data field is as follows:
.BYTE vnum
.BYTE type
Wait for a Block Data message in response. If a NAK is received instead, then the voice number requested doesn't exist.
The format of the headers and the data arrays is the same as described in Section 1 above. Note that some of the unused
fields in the headers may contain data other than zeroes; this is not significant.
Voice number
Voice size
Voice number to dump, two nybble format
Modifier, a single MIDI byte interpreted as follows:
$00 = Send headers only (voice then model headers)
NN = Send model N (1=first=lowest, etc.).
Data will be a voice header, one model header, corresponding model data.
$7F = Send whole voice (all headers plus all data)

Advertisement

Table of Contents
loading

This manual is also suitable for:

K150fs

Table of Contents