Go backward to Transmitted by the S950
Go up to Top
Synthesia 10.6 key.
- 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.
- Perhaps more resourcefully, Norman Cook (aka Fatboy Slim) uses a transposed S950 Tone Program mixed in with an Oberheim Matrix-1000 for many of his sub-bass sounds. S950 drum loops, grainy and grungy in all their 12-bit glory are particularly hip in hip-hop. A vast range of Akai and third-party sounds are available for the S950.
- C Builder 4 program for upload of WAV files to the Akai S900/S950 via RS232 - dxzl/akai-s950.
AKAI Professional entered the electronic music industry in 1984 with one purpose - to give artists the tools they need to express and explore new musical possibilities. Akaizer is a freeware application for Windows / macOS / Linux which can time stretch (and/or pitch shift) any WAVE or AIFF sound file in the style of the 'cyclic' time stretch which featured on old Akai sound samplers, like the S950 / S1000 / S2000 /. Ice Cool's Akai SCSI FAQ Akai sampling articles Akai Pro Archive (Manuals etc) S900/S950 MIDI Sysex Implementation Charts S900/S950 serial (RS232) sample transfer program.WAV file format - Sysex - To load up your newly created S2k/S3k image on your sampler use the following sysex. F0 47 00 34 48 00 00 01 00 00 00 00 00 00 F7 - select floppy drive. Before the acqurir both Fidler AKAI I tried (and I've always) the S1000, and S2000 S3000XL. Without hsitation the S950 is the one I like least. Without hsitation the S950 is the one I like least. The report may vary qualitprix people who use it.
Go up to Top
Sample Dump Format
Sample Dump
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). |
Next follows a variable number of sample blocks. Each has the same format:
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. |
A final byte follows the last block:
Byte # | Range | Description |
---|---|---|
?? | F7h | End of exclusive code |
Synthesia 10.6 key.
System Common Messages
Handshakes
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 |
Request Sample Dump
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 |
Akai Exclusive Messages
Request Settings
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 |
Machine 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 |
Request for Machine 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 |
Execute Function
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 |
Name Catalog
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 |
Each catalog entry is a block of 12 bytes:
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 |
These bytes follow the last block:
Byte # | Range | Description |
---|---|---|
?? | 0.127 | Checksum, exclusive OR of preceding bytes without 0 to 6 |
?? | F7h | End of exclusive code |
Drum Settings
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 |
Here follow eight blocks of 60 MIDI bytes, one for each drum input. Each block is as follows:
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 |
Overall Settings
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 |
Next follows a block of 80 MIDI bytes giving the overall settings data:
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 |
These final bytes follow:
Byte # | Range | Description |
---|---|---|
87 | 0.127 | Checksum, exclusive OR of preceding 80 bytes |
88 | F7h | End of exclusive code |
Program
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 |
Next follows a block of 76 MIDI bytes giving the program parameters:
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 |
Here follow one or more blocks defining the keygroups. Each block uses 140 MIDI bytes and is defined as follows:
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 |
Note: LFO depth modulation is the sum of VBDPTH + (aftertouch*AFDI) + (modwheel*MWDI), with a maximum of +/- three semitones
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 |
These final bytes follow the last keygroup:
Byte # | Range | Description |
---|---|---|
?? | 0.127 | Checksum, exclusive OR of preceding bytes without 0 to 6 |
?? | F7h | End of exclusive code |
Sample Parameters
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 |
Next follows a block of 120 MIDI bytes giving the sample parameters: Super mario bros free mac.
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 |
These final bytes follow:
Byte # | Range | Description |
---|---|---|
127 | 0.127 | Checksum, exclusive OR of preceding bytes without 0 to 6 |
128 | F7h | End of exclusive code |
Full text of 'AKAIprofessionalMIDI DIGITAL SAMPLERWARNINGTo prevenl hre or SHOCK fiazafd. Du ridexpos.
Akai S950 Vst
ifiia appliance Id ram or moisture.WARNINGPrecautionsPower requirementsPower requirements for electrical equipment differ from area to area. Please ensurethat your machine meets the power requirements m your area.If in doubt, consult a qualified electrician.120V. 60Hz for USA and Canada220V. 50Hz for Europe except UK240V. 50Hz for UK and AustraliaWhat you should know to protect yourselfand the Akai S950.Watch out!
You might get an electric shockNever touch the plug with wet hands.Always pull out by the plug and never the cord.Only let a qualified professional repair or reassemble the Akai S950. Anunauthorized person might touch the internal parts and receive a seriouselectric shock.Never allow a child to put anything, especially metal, info the AkaiS950.Let's protect the Akai S950 too.Use only a household AC power source. Never use a DC powersource.If water is spilled on the Akai 5950, disconnect rt and call your dealer.Make sure that the Akai S950 is well ventilated and away from direct sunlight.To avoid damage to the internal circuits and the external surface,keep away from heal (stoves, etc.).Avoid using spray type insecticide near the Akai S950. It can damage the finishand might ignite suddenly.To avoid damaging the finish, never use denaturated alcohol, paintthinner or other similar chemicals to clean the Akai S950.Place the Akai 5950 on a flat and solid surface.To enjoy the Akai S950 for long time, please read this operator's manualthoroughly.Should a problem persist, write down the model and serial numbers andall pertinent data regarding warranty coverage as well as a clear description of theexisting trouble.
Then, contact your nearest authorized Akai Service Station, or AkaiElectric Co., Ltd. Quality Assurance Dept., Service Section m Tokyo.