Byte # | Range | Description |
---|---|---|
0 | F0h | System exclusive code |
1 | 7Eh | Common non-realtime identifier |
2 | 1 | SD sample dump code |
3 | 0.31 | Sample number LS |
4 | 0 | Sample number HS. Always 0 since we can have only 32 samples. |
5 | 8.16 | Bits per word. S950 transmits 12, but can accept 9 to 14. |
6.8 | 0.127 | Sampling period in nsec. S950 accepts 15259 to 500000. |
9.11 | 0.127 | Total words in sample. S950 accepts 200 to 475020. |
12.14 | 0.127 | Loop start point. If >= total-5, assume non looping. |
15.17 | 0.127 | Loop end. S950 takes this as end point. |
18 | 0.1 | 0=looping, 1=alternating (one shot if loop length < 5). |
Byte # | Range | Description |
---|---|---|
0 | 0.127 | Block number LSbyte (block number MSbyte is not sent). |
1 | 0.127 | MS of data word: 0 d11 d10 d9 d8 d7 d6 d5 |
2 | 0.127 | LS of data word: 0 d4 d3 d2 d1 d0 0 0 |
3.120 | 0.127 | as 1, 2 above. |
121 | 0.127 | Checksum, being the exclusive OR of the preceding 120 bytes. |
Byte # | Range | Description |
---|---|---|
?? | F7h | End of exclusive code |
Byte # | Range | Description |
---|---|---|
0 | F0h | System exclusive code |
1 | 7Eh | Common non-realtime identifier |
2 | ff | Function code: |
ACKS=7Fh Acknowledge sample block or header | ||
ASD =7Dh Abort sample dump | ||
NAKS=7Eh Not acknowledge | ||
(request retransmission of block) | ||
3 | F7h | End of exclusive code |
Byte # | Range | Description |
---|---|---|
0 | F0h | System exclusive code |
1 | 7Eh | Common non-realtime identifier |
2 | 0 | RSD Request sample dump code |
3 | 0.31 | Sample number, according to order in S950 RAM (see General Notes) |
4 | 0 | Undefined |
5 | F7h | End of exclusive code |
Byte # | Range | Description |
---|---|---|
0 | F0h | System exclusive code |
1 | 47h | Akai identifier |
2 | 0.15 | MIDI channel number |
3 | gg | Function code: |
RDRS =0 Request for drum settings | ||
ROVS =1 Request for overall settings | ||
RPRGM=2 Request for program | ||
RCAT =3 Request for name catalog | ||
RSPRM=4 Request for sample parameters | ||
SECRE=5 Sysex common reception enable | ||
SECRD=6 Ditto disable | ||
4 | 64 | S950 identifier |
5 | 0.31 | Program/sample number, where applicable |
6 | 0 | Reserved |
7 | F7h | End of exclusive code |
Byte # | Range | Description |
---|---|---|
0 | F0h | System exclusive code |
1 | 47h | Akai identifier |
2 | 0.15 | MIDI channel number |
3 | 14 | CODE Function code for machine code or data |
4 | 64 | S950 identifier |
5 | X | Undefined |
6 | 0 | Reserved (must be 0) |
7.10 | DW | Absolute address in S950 memory where first machine code will be placed; this must be in segment 0. In ROMs 1.0 and 1.1, addresses from 7BBAh to 92BAh are available, but 7BBAh to 7F7Fh may be overlaid by other internal operations. In ROM 1.2 with SVN-2, addresses from 7BB4h to 9193h are available, but 7BB4h to 8383h may be overlaid. |
11.14 | DW | Number of data bytes to follow |
15.?? | DB | Variable length executable machine code or data. The S950 uses a NEC 71016 processor which is compatible with the Intel 8086. |
?? | 0.127 | Checksum, exclusive OR of preceding bytes without 0 to 6. The S950 does not check the checksum on incoming code as it is stored as it arrives if bytes 1.6 are valid. |
16 | F7h | End of exclusive code |
Byte # | Range | Description |
---|---|---|
0 | F0h | System exclusive code |
1 | 47h | Akai identifier |
2 | 0.15 | MIDI channel number |
3 | 14 | RCODE Request for S950 machine code or data |
4 | 64 | S950 identifier |
5 | X | Undefined |
6 | 0 | Reserved (must be 0) |
7.10 | DW | Absolute address in S950 memory of first machine code data requested. A special address, 00FDh has the ROM's revision number in ASCII as it appears on the screen at power switch on, e.g., 1.0. Another address, 00FCh has a sub version number which is changed when absolute addresses are altered. |
11.14 | DW | Number of bytes of machine code requested |
15 | 0.127 | Checksum, exclusive OR of bytes 7-14 |
16 | F7h | End of exclusive code |
Byte # | Range | Description |
---|---|---|
0 | F0h | System exclusive code |
1 | 47h | Akai identifier |
2 | 0.15 | MIDI channel number |
3 | 13 | EXEC Function code for execute |
4 | 64 | S950 identifier |
5 | X | Undefined |
6 | 0 | Reserved |
7.10 | DW | Absolute address of subroutine to which near call will be made on receipt of EOX following valid checksum |
11 | 0.127 | Checksum |
12 | F7h | End of exclusive code |
Byte # | Range | Description |
---|---|---|
0 | F0h | System exclusive code |
1 | 47h | Akai identifier |
2 | 0.15 | MIDI channel number |
3 | 11 | CAT Function code for name catalog |
4 | 64 | S950 identifier |
5 | X | Undefined |
6 | 0 | Reserved |
Byte # | Range | Description |
---|---|---|
n | P or S | Type, either program (P) or sample (S) |
n+1 | 0.31 | Program/sample number, the order it appears in S950 memory. |
n+2.n+11 | 0.127 | ASCII characters of name |
Byte # | Range | Description |
---|---|---|
?? | 0.127 | Checksum, exclusive OR of preceding bytes without 0 to 6 |
?? | F7h | End of exclusive code |
Byte # | Range | Description |
---|---|---|
0 | F0h | System exclusive code |
1 | 47h | Akai identifier |
2 | 0.15 | MIDI channel number |
3 | 7 | DRS Function code for drum settings |
4 | 64 | S950 identifier |
5 | X | Undefined |
6 | 0 | Reserved |
7,8 | DB | DRUMON 0/255 for drum inputs on/off |
8,9 | DB | DRUMSENS 0/1 for low/high sensitivity; affects all inputs |
10.49 | 0 | Reserved |
Name | Type | Normal | Description |
---|---|---|---|
DINP | DB | 0 | 0.7 (constant) According to drum input number |
DRMDCH | DB | 0 | 0.15 MIDI channel that drum input simulates |
DPITCH | DB | 60 | 24.127 MIDI coded pitch |
DSENS99 | DB | 50 | 1.99 User's input sensitivity |
DTT40 | DB | 20 | 1.40 Trigger threshold |
DTTFS | DB | 68 | Must be 8 + DTT40*3 |
DW | X | Undefined | |
DD | 0 | Reserved | |
DATTIME | DW | 12 | Attack capture time in units of .25 msec. Take biggest value during this period after threshold to make velocity. |
DONTIME | DW | 120 | On time duration in units of .25 msec |
DRCTIME | DW | 80 | Recovery time in units of .25 msec |
DSENSES | DW | 33 | Must be DSENS99*171/256 |
DW | X | Undefined | |
DW | X | Undefined | |
DENVHOLD | DW | 1040h | Must be 1040h + DINP*512 (constant) |
DADCMUX | DW | 3040h | Must be 3040h + DINP*256 (constant) |
Byte # | Range | Description |
---|---|---|
531 | 0.127 | Checksum, exclusive OR of preceding 480 bytes |
532 | F7h | End of exclusive code |
Byte # | Range | Description |
---|---|---|
0 | F0h | System exclusive code |
1 | 47h | Akai identifier |
2 | 0.15 | MIDI channel number |
3 | 8 | OVS Function code for overall settings |
4 | 64 | S950 identifier |
5 | X | Undefined |
6 | 0 | Reserved |
Name | Type | Normal | Description |
---|---|---|---|
PRONAME | DB | `DEFAULT PR' | Name of current program. (This element consists of 10 data bytes which are sent as 20 MIDI bytes - see General Notes) |
DD | x | Undefined | |
DW | x | Undefined | |
MDXTCH | DB | 0 | 0.15 MIDI transmit channel for AKAI exclusive |
DB | 0 | Reserved | |
DW | x | Undefined | |
RSCHNL | DW | 1 | 0.16 Reception simulator channel |
RSKEY | DW | 60 | 24.127 Reception simulator MIDI key |
RSVEL | DW | 64 | 0.127 Reception simulator velocity |
DB | x | Undefined | |
BASMCH | DB | 128 | 0.15 S950 basic MIDI reception channel; MSB is set if S950 is set of OMNI ON |
MLEN | DB | 0 | 0 to disable reception of loudness on continuous controller #7, any other value to enable |
M1RS2 | DB | 1 | 1.2 Select controller MIDI/RS232 |
MPEN | DB | 60 | 0 to disable MIDI program change reception, any other value to enable |
DW | 20727 | Reserved | |
DW | 7238 | Reserved | |
PWRANGE | DB | 7 | Pitch wheel range (semitones up or down) |
RSBAUD | DW | 960 | Nominal RS232 baud rate in Hz*10 (e.g., 960 means 9600 baud) |
MDCLOK | DB | 0 | MIDI clock control: |
0= 31250 Hz | |||
-8= 62500 Hz | |||
-20=125000 Hz | |||
DB | 0 | Reserved |
Byte # | Range | Description |
---|---|---|
87 | 0.127 | Checksum, exclusive OR of preceding 80 bytes |
88 | F7h | End of exclusive code |
Byte # | Range | Description |
---|---|---|
0 | F0h | System exclusive code |
1 | 47h | Akai identifier |
2 | 0.15 | MIDI channel number |
3 | 9 | PRGM Function code for program & keygroups |
4 | 64 | S950 identifier |
5 | 0.31 | Program number. When the S950 is sending a program this will be the same number as requested. When the S950 is receiving this will replace the program of the same number. |
6 | 0 | Reserved |
Name | Type | Normal | Description |
---|---|---|---|
PRNAME | DB | `??????????' | Name of current program. (This element consists of 10 data bytes which are sent as 20 MIDI bytes - see General Notes) |
DD | x | Undefined | |
DW | x | Undefined | |
KTILT | DW | 0 | -50.+50 Keyboard tilt (key versus loudness) |
DW | x | Undefined | |
DB | x | Undefined | |
POSXEN | DB | 0 | 0/1 Positional crossfade disable/enable |
DB | 255 | Reserved | |
NOKG | DB | 1 | 1.31 Number of keygroups in this program |
DW | x | Undefined | |
MDPGNM | DB | 0 | 0.127 Program number for MIDI program change command |
MPVLD | DB | 255 | 0 means MDPGNM invalid (old S900 format) |
DW | 0 | Reserved | |
DD | 0 | Reserved | |
DD | 0 | Reserved |
Name | Type | Normal | Description |
---|---|---|---|
UMK | DB | 127 | Upper MIDI key (limit of keyrange in this keygroup) |
LMK | DB | 24 | Lower MIDI key (may be the same as UMK) |
VST | DB | 128 | Velocity switch threshold |
ATK | DB | 0 | 0.99 Attack time (logarithmic coding) |
DCY | DB | 80 | 0.99 Decay time |
SSTN | DB | 99 | 0.99 Sustain level (.375 dB/step; 0=-96 dB) |
RLSE | DB | 30 | 0.99 Release time |
FVI | DB | 10 | 0.99 Filter/velocity interaction |
FKI | DB | 50 | 0.99 Filter key tracking (50 gives 1 octave/octave) |
AVI | DB | 0 | 0.99 Attack/velocity interaction |
RVI | DB | 0 | -50.+50 Velocity/release interaction |
LVI | DB | 30 | 0.99 Loudness/velocity interaction (0=no dynamics) |
PVI | DB | 0 | 0.99 Pitch-warp/velocity interaction |
PAO | DB | 0 | -50.+50 Pitch warp initial offset |
PST | DB | 99 | 0.99 Pitch warp recovery time |
VBDLY | DB | 64 | 0.99 LFO buildup time |
VBRATE | DB | 64 | 0.99 LFO rate |
VBDPTH | DB | 0 | 0.99 LFO depth |
KBITS | DB | 4 | Odd control bits. Coding is as follows: |
TRD | bit 0 | 0/1 Transpose enable/disable | |
VCXF | bit 1 | 0/1 Velocity crossfade disable/enable | |
VBDSYN | bit 2 | 0/1 Vibrato desync off/on | |
OST | bit 3 | 0/1 One shot trigger mode off/on | |
ONRV | bit 4 | 0/1 Velocity release from note off/note on | |
ENVTHX | bit 5 | 0/1 Enable/disable velocity release crossfade curve modification (see VTHX) | |
OPVOICE | DB | 255 | Output: 0.7=MONO, 8=LEFT, 9=RIGHT, 255=ANY |
KMDCHN | DB | 0 | 0.15 Keygroup MIDI channel offset; this will be added to BASMCH (see Overall Settings) to match incoming MIDI data |
AFDI | DB | 0 | Aftertouch LFO depth modulation |
MWDI | DB | 50 | Modulation wheel LFO depth modulation |
VCFAMNT | DB | 0 | 0.50 Amount of filter's ADSR applied to filter frequency |
NAMEFS | DB | `TONE ' | Name of first sample |
VCFAK | DB | 20 | 0.99 Filter ADSR attack time |
VCFDY | DB | 20 | 0.99 Filter ADSR decay time |
VCFST | DB | 20 | 0.99 Filter ADSR sustain level |
VCFRL | DB | 20 | 0.99 Filter ADSR release time |
VTHX | DB | 64 | 0.127 Velocity value at which loud/soft mix is 50% in velocity crossfade type sample. This value will be ignored if bit ENVTHX in KBITS is 0 |
DB | x | Undefined | |
DW | x | Undefined | |
TROFFS | DW | 0 | Signed transpose offset, units of 1/16 semitone |
FLTFS | DB | 99 | 0.99 Filter |
LORDFS | DB | 0 | -50.+50 Signed loudness, units of .375 dB |
NAMESS | DB | `TONE ' | Name of second sample |
DD | x | Undefined | |
DD | x | Undefined | |
TROFSS | DW | 0 | Signed transpose offset, units of 1/16 semitone |
FLTSS | DB | 99 | 0.99 Filter |
LORDSS | DB | 0 | -50.+50 Signed loudness, units of .375 dB |
DW | x | Undefined |
Byte # | Range | Description |
---|---|---|
?? | 0.127 | Checksum, exclusive OR of preceding bytes without 0 to 6 |
?? | F7h | End of exclusive code |
Byte # | Range | Description |
---|---|---|
0 | F0h | System exclusive code |
1 | 47h | Akai identifier |
2 | 0.15 | MIDI channel number |
3 | 10 | SPRM Function code for sample parameters |
4 | 64 | S950 identifier |
5 | 0.31 | Sample number |
6 | 0 | Reserved |
Name | Type | Normal | Description |
---|---|---|---|
SNAME | DB | `TONE ' | Name of sample |
DD | x | Undefined | |
DW | x | Undefined | |
SLNGTH | DD | 1800 | Total number of words in sample. Note that for velocity-crossfade type this will be the sum of soft and loud parts |
SMRATE | DW | 11773 | Original sample rate in Hz (=2.5*bandwidth) |
SNOMP | DW | 960 | Nominal pitch, unsigned in 1/16 semitones (960=C3) |
SDFLDO | DW | 0 | Signed loudness offset |
SRPLMD | DB | `L' | Replay mode: `O/L/A'=one shot/looping/alternating |
DB | 0 | Reserved | |
SEND | DD | 1800 | End point relative to start of sample |
SSTART | DD | 0 | First replay point relative to start of sample |
SLOOP | DD | 45 | Length of loop or alternative part |
DW | x | Reserved | |
VC | DB | 0 | 0/255 Velocity crossfade/normal type sample |
NOREV | DB | `N' | `R/N' Sample waveform has/has not been reversed |
DD | x | Undefined | |
DD | x | Undefined | |
DD | x | Undefined | |
DD | x | Undefined |
Byte # | Range | Description |
---|---|---|
127 | 0.127 | Checksum, exclusive OR of preceding bytes without 0 to 6 |
128 | F7h | End of exclusive code |