MZ-2000 MIDI Implementation

4.11 Effect Macro

4.11.1 Effect Macro Overview

Effect macro is a parameter set that can be used to store groups of preset independent effect modules, control change parameter assignments, DSP system effect send level, etc.

Effect macro selection is performed by changing the Num parameter of the patch parameter effect macro select parameter group. See the "4.8 Effects" for details.

4.11.2 Effect Parameter Control Message Format

tt

0100aaaa

aaaa = IPC..."SYSEX_ACT_IPC" = 00H

 

 

IPR..."SYSEX_ACT_IPR" = 01H

d0[0]

00100000

20H Parmeter Modify Message-ID

d0[1]

0000cccc

cccc = Category = CAT_SUB = 05H

d0[2]

0ttttttt

0TTTTTTT0ttttttt = Type ID = _SubIdFxMacro = 0CH

d0[3]

0TTTTTTT

 

d0[4]

0mmmmmmm

0MMMMMMM0mmmmmmm = MDEV ID = RAM = 2F00H

d0[5]

0MMMMMMM

 

d0[6]

0sssssss

0SSSSSSS0sssssss = 0000H

d0[7]

0SSSSSSS

 

d0[8]

0nnnnnnn

00NNNNNNNnnnnnnn = PS Number = Corresponds to Fx Macro

d0[9]

0NNNNNNN

DSP Number

 

 

0...DSP1 Fx Macro

 

 

1...DSP2 Fx Macro

 

 

2...DSP3 Fx Macro

 

 

3...DSP4 Fx Macro

d0[10]

0ppppppp qqPPPPPPPppppppp = Parameter ID

d0[11]

0PPPPPPP

= Target operation FX Macro ParmeterID

 

 

(See next section.)

d0[12]

0rbbbbqq bbbb = number of parameter block - 1 = 01H

 

r = array flag

 

The PS Name for each effector is array type data, so r = 1.

 

Other parameters are non-array type data, so r = 0.

d1[0] 0iiiiiii 0iiiiiii = block-0 = 00H

d1[1] 0jjjjjjj 0jjjjjjj = block-1 = Struct Number Structure number attached to the parameter

This meaning depends on the parameter. See the next section for details.

Number of data and data array number in the case of Fx Macro Name(array) only

When r = 1 only (d2[0] to d2[2]) d2[0] 0ooooooo

d2[1] 0ppppppp oooooooppppppp = top index number of array to send (Send start array number)

Fx Name length is 32, so this value is 0000H to 001FH.

d2[2] 0qqqqqqq qqqqqqq = number of array members to send (Number of send members in current packet)

Fx Name length is 32, so this value is 0001H to 0020H.

One data size (number of bits) minus 1 d3[0] 000zzzzz

zzzzz = number of bits - 1

When zzzz + 1 is: The number of data bytes is: 1 to 7 1

8 to 14 2

15 to 21 3

22 to 28 4

29 to 35 5

For example, Fx Macro Name is 7-bit data, so zzzzz = 6.

Parameter Values

Non-Fx Macro Name, 7 bits or less d4[0] 0xxxxxxx xxxxxxx = Data

Non-Fx Macro Name, 8 to 14 bits

d4[0] 0xxxxxxx XXXXXXXxxxxxxx = Data d4[1] 0XXXXXXX

Non-Fx Macro Name, 15 to 21 bits

d4[0] 0xxxxxxx yyyyyyyXXXXXXXxxxxxxx = Data d4[1] 0XXXXXXX

d4[2] 0yyyyyyy

Fx Macro Name

d4[0] 0xxxxxxx xxxxxxx = character string 0 d4[1] 0xxxxxxx xxxxxxx = character string 1

:

d4[31] 0xxxxxxx xxxxxxx = character string 31

4.11.3 Parameter Type ID, Size, Index Num, Bit Width, Value Range

Basic Parameter

ParaID Parameter Bit*Len Value

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

0000

Fx Name

7*32

20H - 7EH

0001

Stereo

1

0

...Mono

 

 

 

1...

Stereo

0002

Size

1

0...

Single

 

 

 

1...

Double

Fx Select Parameter

The following parameters specify the Fx to be assigned to Segment.

ParaID Parameter Bit*Len Value

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

0003

Fx Type

16

0000H

- 7F7FH

0004

Fx Num

16

0000H

- Maximum for Fx

*Note

In these parameters, d1[1] indicate Segment#. Segment# is the Fx segment number within the DSP assigned by that Fx Macro.

Send Level Parameter

ParaID Parameter Bit*Len Value

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

0005

Chorus Send

7

0 - 127

0006

Reverb Send

7

0 - 127

49