for Roland 4x partial units - you have to sum a start address and
offset address, and then calculate the checksum.
here's what it looks like for the MT-32 ( 4 partial voices, same
as D-series) (skip to #4)
http://www.youngmonkey.ca/nose/audio_te ... -MT32.html
(this is easier to read than from manual.pdf)
Byte Description
---- -----------
F0H Exclusive Status
41H Roland ID
DEV Device ID
16H (14H) Model ID
12H Command ID (DTI)
aaH Address MSB
aaH Address
aaH Address LSB
ddH DATA
:
sum Checksum
F7H EOX
this is the message format, and the variable will be
the LSB in 'DATA'
"4. Address Mapping of Parameters:
...
The actual address of a parameter in a block is the sum of the start
address of each block and one or more offset addrses. That is addresses
marked by *4-1, *4-2, and the other in the rhythm setup table or in the
partial parameter table."
-------------------------
first you get:
Parameter Base Address
Temporary area (accesible on each basic channel)
Start Address Description
------------- ---------------------------
00 00 00 Patch Temp Area (parts 1-8)
01 00 00 Set Up Temp Area (rhyhtm part) *4-1
02 00 00 Timbre Temp Area (parts 1-8) *4-2
then:
Whole Part (accessible on unit#)
Start Address Description
------------- ----------------------------
03 00 00 Patch Temp Area (part 1)
03 00 10 Patch Temp Area (part 2)
:
03 00 60 Patch Temp Area (part 7)
03 00 70 Patch Temp Area (part
03 01 10 Set up Temp Area (rhythm part)
04 00 00 Timbre Temp Area (part 1) *4-2
04 01 76 Timbre Temp Area (part 2) *4-2
:
04 0b 44 Timbre Temp Area (part 7) *4-2
04 0d 3a Timbre Temp Area (part
04 00 00 Timbre Temp Area (part 1)
05 00 00 Patch Memory #1
05 00 08 Patch Memory #2
:
05 07 70 Patch Memory #127
05 07 78 Patch Memory #128
08 00 00 Timbre Memory #1 *4-2
08 00 00 Timbre Memory #2 *4-2
:
08 00 00 Timbre Memory #63 *4-2
08 00 00 Timbre Memory #64 *4-2
10 00 00 System Area
20 00 00 Display *4-3
7F xx xx All Parameters reset *4-4
Notes:
*4-1 Structure of Setup Temp area is as follows:
Offset Address Description
-------------- ------------
00 00 00 Rhythm setup for key #24
00 00 04 Rhythm setup for key #25
00 00 08 Rhythm setup for key #26
00 00 0C Rhythm setup for key #27
:
00 01 78 Rhythm setup for key #86
00 01 7C Rhythm setup for key #87
*4-2 Structure of Timbre Temp area is as follows:
Offset Address Description
-------------- -----------
00 00 00 Common Parameter
00 00 0E Partial Parameter for partial #1
00 00 48 Partial Parameter for partial #2
00 01 02 Partial Parameter for partial #3
00 01 3C Partial Parameter for partial #4
the bit for editing a 'tone' starts here:
Common Parameter 4-5
Offset Address Description
-------------- -----------
00H 0aaa aaaa Tone Name #1 32-127 (ASCII)
:
09H 0aaa aaaa Tone Name #10 32-127 (ASCII)
0AH 0aaa aaaa Structures of Partials #1&2 0-12 (1-13)
0BH 0aaa aaaa Structures of Partials #3&4 0-12 (1-13)
0CH 0aaa aaaa Partial Mute 0-15 (0000-1111)
0DH 0aaa aaaa Env. Mode 0-1(Normal, No sustain)
Total Size 00 00 0EH
Partial Pameters *4-5
Offset Address Description
-------------- -----------
00 00H 0aaa aaaa WG PITCH COARSE 0-96 (C1,C#1-C9)
00 01H 0aaa aaaa WG PITCH FINE 0-100 (-50 - +50)
00 02H 0000 aaaa WG PITCH KEYFOLLOW 0-16 (-1,-1/2,
0,1,1/8,1/4,3/8,1/2,5/8,3/4,7/8,
1,5/4,3/2,2.s1,s2)
00 03H 0000 000a WG PITCH BENDER SWITCH 0,1 (ON/OFF)
00 04H 0000 000A WG WAVE FORM 0-1 (SQU/SAW)
00 05H 0aaa aaaa WG PITCH PCM WAVE# 0-127 (1-128)
00 06H 0aaa aaaa WG PITCH PULSE WIDTH 0-100
00 07H 0000 aaaa WG PITCH PW VELO SENS 0-14 (-7 - +7)
00 08H 0000 aaaa P-ENV DEPTH 0-10
00 09H 0aaaaaa P-ENV VELO SENSITIVITY 1-100
00 0AH 0000 aaaa P-ENV TIME KEY FOLLOW 0-4
00 0BH 0aaa aaaa P-ENV TIME 1 1-100
00 0CH 0aaa aaaa P-ENV TIME 2 1-100
00 0DH 0aaa aaaa P-ENV TIME 3 1-100
00 0EH 0aaa aaaa P-ENV TIME 4 1-100
00 0FH 0aaa aaaa P-ENV Level 0 1-100 (-50 - +50)
00 10H 0aaa aaaa P-ENV LEVEL 1 1-100 (-50 - +50)
00 11H 0aaa aaaa P-ENV LEVEL 2 1-100 (-50 - +50)
00 12H 0aaa aaaa P-ENV SUSTAIN LEVEL 1-100 (-50 - +50)
00 13H 0aaa aaaa P-ENV END LEVEL 1-100 (-50 - +50)
00 14H 0aaa aaaa P-LFO RATE 0-100
00 15H 0aaa aaaa P-LFO DEPTH 0-100
00 16H 0aaa aaaa P-LFO MOD SENSITIVITY 0-100
00 17H 0aaa aaaa TVF CUT-OFF FREQ 0-100
00 18H 0aaa aaaa TVF RESONANCE 0-30
00 19H 0aaa aaaa TVF KEY FOLLOW 0-16 (-1,-1/2,1/4,0,1,
1/8,1/4,3/8,1/2,5/8,3/2,7/8,1
5/4,3/2,2,s1,s2)
00 1AH 0aaa aaaa TVF BIAS POINT/DIR 0-127
(<1A-<7C >1A-7C)
00 1BH 0aaa aaaa TVF BIAS LEVEL 0-14 (-7 - +7)
00 1CH 0aaa aaaa TVF ENV DEPTH 0-100
00 1DH 0aaa aaaa TVF ENV VELO SENSITIVITY 0-100
00 1EH 0aaa aaaa TVF ENV DEPTH KEY FOLL0W 0-4
00 1FH 0aaa aaaa TVF ENV TIME KEY FOLLOW 0-4
00 20H 0aaa aaaa TVF ENV TIME 1 1-100
00 21H 0aaa aaaa TVF ENV TIME 2 1-100
00 22H 0aaa aaaa TVF ENV TIME 3 1-100
00 23H 0aaa aaaa TVF ENV TIME 4 1-100
00 24H 0aaa aaaa TVF ENV TIME 5 1-100
00 25H 0aaa aaaa TVF ENV LEVEL 1 1-100
00 26H 0aaa aaaa TVF ENV LEVEL 2 1-100
00 27H 0aaa aaaa TVF ENV LEVEL 3 1-100
00 28H 0aaa aaaa TVF ENV SUSTAIN LEVEL 0-100
00 29H 0aaa aaaa TVA LEVEL 0-100
00 2AH 0aaa aaaa TVA VELO SENS 0-100
00 2BH 0aaa aaaa TVA BIAS POINT 1 0-127
(<1A-<7C >1A-7C)
00 2CH 0aaa aaaa TVA BIAS LEVEL 1 0-12 (-12 - 0)
00 2DH 0aaa aaaa TVA BIAS POINT 2 0-127
(<1A-<7C >1A-7C)
00 2EH 0aaa aaaa TVA BIAS LEVEL 1 0-12 (12 - 0)
00 2FH 0aaa aaaa TVA ENV TIME KEY FOLLOW 0-4
00 30H 0aaa aaaa TVA ENV TIME V FOLLOW 0-4
00 31H 0aaa aaaa TVA ENV TIME 1 0-100
00 32H 0aaa aaaa TVA ENV TIME 2 0-100
00 33H 0aaa aaaa TVA ENV TIME 3 0-100
00 34H 0aaa aaaa TVA ENV TIME 4 0-100
00 35H 0aaa aaaa TVA ENV TIME 5 0-100
00 36H 0aaa aaaa TVA ENV LEVEL 0-100
00 37H 0aaa aaaa TVA ENV LEVEL 2 0-100
00 38H 0aaa aaaa TVA ENV LEVEL 3 0-100
00 39H 0aaa aaaa TVA ENV SUSTAIN LEVEL 0-100
TOTAL SIZE 00 3AH
-----------------------------------------------------------------------
so that's how you get around a MT32/D-110 - i'm not sure how
many offset addresses need to be included. are there temporary
patch areas for each part? could you do temporary edits to
a tone on any channel? or is there only one edit buffer?
so if i wanted to edit filter cutoff of partial1...
00 00 00 start address
00 00 0E partial#1
00 17 TVF cutoff
..i'd have to add these to get the parameter address, somehow.
there are 3 bytes for address, so it looks ok:
aaH Address MSB
aaH Address
aaH Address LSB
(but does "00 17" align left or right?!)
edit: it aligns right. see here:
http://forums.rolandclan.com/viewtopic.php?f=3&t=45675
right, so that's clear then
for a varying value?
