The first 5 bytes
of all S01 message have the form:
0xF0
Exclusive
0x47
Akai
cc
Exclusive channel (0-127)
ff
Function code (0-13)
0x57
S01
0xF7 End
of exclusive
Unless stated, groups of bytes in messages represent concatenated 7 bits
sections of a dataword, LSB
first.
All numbers starting with 0x
are hexadecimal numbers C Notation
-
When command marged with
*
is sent, anACK
command will be sent after it's completed.0xF0 0x7E cc 0x7F pp 0xF7 //universal exclusive message
If the received command is incorrect the
S01
will sent aCANCEL
command0xF0 0x7E cc 0x7D pp 0xF7 //universal exclusive message
or does nothing.
-
The
#
marked commands should not be sent while theS01
is- recording
- performing disk operations
- discard operation.
If these command are sent anyway, the
S01
will- not complete it
- send a meaningless
ACK
.
-
Use
STAT's
last bytemm
to check whether theS01
is performing one of the operations. -
To check if the
S01
is performing adisk
ordiscard
operation check theLED data
(it displays that junk then...).If the
3 digits
are incrementing fast, the theS01
is performing one of the operations.
0x00 undefined
0xF0 0x47 cc 0x01 0x57 0xF7
0xF0 0x47 cc 0x02 0x57 v1 V1 v2 V2 wl wm wh fl fm fh bc mm 0xF7
-
v1 V1
Software version number -
v2 V2
Software version number -
wl wm wh
Maximum memory size in wordswords = w1 + 128 * wm + 16384 * wh
-
fl fm fh
Free memory in wordswords = fl + 128 * fm +1 6384 * fh
-
bc
Bank change channel ( 0-127 ) -
mm
Current function mode ( 4 bits )-
bit 0:1
Record standby -
bit 1:1
Waiting for record trigger (bit 0 also 1) -
bit 2:1
Recording -
bit 3:1
Edit mode
-
0xF0 0x47 cc 0x02 0x57 0xF7
0xF0 0x47 cc 0x04 0x57 <88 data bytes> 0xF7
The 88 bytes
consists of 9 groups
- system setup
- 8 bank parameters
SYTRANS
MIDI Tranpose (+/- 24)
bits 6:0
= valuebit 7
= positive / negative1
-num ( -24 = 0x58 = 01
011000 )0
+num ( 24 = 0x18 = 00
011000 )
SYTUNE
Master tune (+/- 50)
bits 6:0
= valuebit 7
1
-num0
+num
SYPRCCH
Program change channel
0-15
= channel number16
= None127
= OMNI
SYTGLVL
Record triggel level (0-100)
EXCLUCH
MIDI Exclusive channel (0-127),ignored when received
DUMMY
0
DUMMY
0
DUMMY
0
MODE
-
Bit 1,0
00
= Loop10
= Loop off11
= One shot
-
Bit 2
Mono trigger0
= Off1
= On
-
Bit 3
Constant pitch0
= Off1
= On
-
Bit 4
Velocity0
= Effective1
= Not effective
BEND
Bend range (0-24)
LEVEL
Level (0-100)
RELEASE
Release (0-100)
TRANSPO
Transpose (+/- 50) Bit 6:0=+ 1=-
TUNE
Tune (+/- 50) Bit 6:0=+ 1=-
KEYHIGH
Keyrange high (0-127)
KEYLOW
Keyrange low (0-127)
PROGNO
Program number (0-127)
MIDICH
MIDI Channel (0-15,127=OMNI)
0xF0 0x47 cc 0x05 0x57 ss 0xF7
ss
Sample number ( 0 - 7, banknumber minus 1 )
0xF0 0x47 cc 0x06 0x57 ss nn al am ah ll lm lh sl sm sh el em eh pl pm ph 0xF7
-
ss
Sample number (0-7,banknumber minus 1) -
nn
Playback type0
Loop on2
Loop off3
One shot (all other values are illegal)
-
al,am,ah
Absolute address of start point of sample data (ignored when received) -
ll,lm,lh
Data length -
sl,sm,sh
Start offset -
el,em,eh
End offset -
pl,pm,ph
Loop length
-
value = ?l + 128 * ?m + 16384 * ?h
-
After sending the above header, the
S01
sends anACK
. The actual sample data is transferred using theStandard Sample Dump
method. If there is already a sample stored in the specified bank, it has to be deleted first, either by sending aDELS
message, or by a panel operation
0xF0 0x47 cc 0x07 0x57 ss 0xF7
ss
Sample number ( 0-7, banknumber minus 1 )
0xF0 0x47 cc 0x09 0x57 sw tt 0xF7
-
sw
Switch code00 01 02 03 04 05 06 07
bank 1-808
rec09
left10
down11
edit
-
tt
0
press1
release
0xF0 0x47 cc 0x0A 0x57 dr 0xF7
dr
0
Rotation to the right1
Rotation to the left
0xF0 0x47 cc 0x0B 0x57 0xF7
0xF0 0x47 cc 0x0C 0x57 l1 l2 l3 l4 l5 l6 l7 0xF7
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
l1 | 0 | bank7 | bank6 | bank5 | bank4 | bank3 | bank2 | bank1 |
l2 | 0 | disk | setup | midi | pitch | level | loop | trim |
l3 | 0 | rec | edit | bank8 | line4 | line3 | line2 | line1 |
l4 | 0 | seglg | seglf | segle | segld | seglc | seglb | segla (left display) |
l5 | 0 | segmg | segmf | segme | segmd | segmc | segmb | segma (middle) |
l6 | 0 | segrg | segrf | segre | segrd | segrc | segrb | segra (right) |
l7 | 0 | 0 | 0 | 0 | 0 | dpr | dpm | dpl |
7 Segment LED display segment identification: A --- F| |B -G- E| |C --- . DP D
0xF0 0x47 cc 0x0D 0x57 le tt 0xF7
le
LED0 1 2 3 4 5 6 7
bank 1-88,9
Trim/Loop10,11
Level/Pitch12,13
MIDI/Setup14
Disk15,16,17,18
Line 1-419 20
- Rec/Edit
tt
0
On1
Off
Segment | A | B | C | D | E | F | G | DP |
---|---|---|---|---|---|---|---|---|
Left | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Middle | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |
Right | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
0xF0 0x47 cc 0x08 0x57 0xF7