background image

0

-16

dB

300

350

400

450

msec

500

550

600

650

-4

-8

-12

-20

300, -16

600,-20.5

-20.3

550,-9

-7.42

450,-12.5

-13.14

400,-6

-4.56

114.4 dB/s

100 dB/s

-171 dB/s

57.2 dB/s

-257.5 dB/s

Actual

Desired

Below is a spreadsheet showing how the values in the example above were calculated:

BREAKPOINT 

NUMBER

INITIAL 

POINT

DESIRED 

ENDPOINT

DESIRED 

SLOPE

ACTUAL 

SLOPE

ACTUAL 

ENDPOINT

 

1

300,-16

400, -6

100.0

114.4

400, -4.56

2

400, -4.56

450,-12.5

-158.8

-171.7

450,-13.14

3

450,-13.14

550, -9

41.4

57.2

550, -7.42

4

550, -7.42

600,-20.5

-261.6

-257.5

600,-20.30

5

600,-20.30

1.5.5 Partial Phases
No control over the phases of partials is offered by the K150FS.  The operating software attempts to set all of the phases to 
zero in order to minimize clicks on fast attacks.  However, for high frequency partials, delays in getting them started relative 
to other partials will result in noticeable (on an oscilloscope) deviations from zero phase.  In any case, the 0.298Hz frequency 
quantization will generally cause the phases to drift slowly while a note is held, even when exact harmonics are specified.  
This effect may be easily seen by playing the built-in sawtooth voice (#253) or generating the .S.M.P.  default voice which is 
a 16 partial sawtooth.  Of course the whole issue of phase is moot for sounds with intended inexact harmonics.

1.6 MODEL PARAMETERS

Model parameters affect the entire sound model in some fashion.

1.6.1 Model Name
The model name is 8 uppercase ASCII characters.  Short names may be padded on the right by either blanks or zeroes.  Since 
we are dealing with models rather than voices, the model name will never appear on the K150FS display and thus serves no 
useful purpose except if the model is read back out of the K150FS’s voice RAM.

1.6.2 Highest Note
When two or more models are combined into a voice, this parameter specifies the highest MIDI note number the model can 
play.  The lowest note is one higher than the highest note of the previous model.  The first model however can play down to 
C0 while the last model can play up to C8 regardless of this parameter.

1.6.3 Ignore Release Flag
For a sound that must play its contours to the end regardless of when the MIDI note-off is received (example: undamped 
bell), this flag should be set.  To avoid an abrupt termination of partials when the End-of-Note command is reached, they 
should all have decayed to silence first.  With this flag set, release slopes have no meaning since there is no release.  This flag 
should not be set if a Loopback command is present; if it is, End-of-Note will never be reached and the contours will loop 
forever.

Summary of Contents for K150 - APPENDIX 1

Page 1: ...nary data structure which is communicated via system exclusive messages A bottom up approach will be used in describing these structures 1 1 PARTIAL PARAMETERS A sound model may have from 1 to 64 part...

Page 2: ...need have no relation with each other However voice memory may be saved and loading of the K150FS s internal processor reduced if some of the breakpoint times coincide Whereas the Sound Modeling Progr...

Page 3: ...ollowed by two bytes for the argument However since the K150FS s internal 68000 processor requires 16 bit quantities to be at even addresses the string is split into a command code vector and an argum...

Page 4: ...he last array element at the extra row and column intersection gives the earliest second breakpoint time which is when interpretation of the update command list should begin To make it easier on the p...

Page 5: ...ple rate of the sound generator This rate is exactly 19531 25Hz which is exactly equal to a 51 2 uS period It is derived in the hardware by dividing a 20MHz clock by 1024 Frequency units are based on...

Page 6: ...ey are represented by an unsigned 8 bit integer in units of 3 8 of a decibel This gives a range of 0dB to 95 625dB In most cases the dB value is an amplitude which means that 0 is silence and 255 is m...

Page 7: ...partial sawtooth Of course the whole issue of phase is moot for sounds with intended inexact harmonics 1 6 MODEL PARAMETERS Model parameters affect the entire sound model in some fashion 1 6 1 Model N...

Page 8: ...ant byte at the lower even address The symbolic names given to the various fields come from the Apple II version of the S M P and are shown here simply as mnemonic aids To make reading easier decimal...

Page 9: ...E 3 Update 3 228 9dB S BYTE 0 Wait 20mS BYTE 2 Update 2 171 7dB S BYTE 0 Wait 30mS BYTE 1 Update 1 143 0dB S BYTE 0 Wait 100mS BYTE 1 2 Update I 80 5dB S Update 2 114 4dB S BYTE 0 Wait 50mS BYTE 3 Upd...

Page 10: ...portant All of the model headers must follow the voice header A field in the voice header specifies how many models follow so the K150FS knows when it reaches the end of the model header list The data...

Page 11: ...r 7F ACK positive acknowledge OK Only Dump Voice Load Voice Block Data Transfer NAK and ACK are described in this document The others are described in a document titled K150FS Version 1 6 Software app...

Page 12: ...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...

Reviews: