QUADRAVERB PLUS MIDI IMPLEMENTATION
!
!
SYSTEM EXCLUSIVE FORMAT
!
The QuadraVerb MIDI System Exclusive message format is as follows:
!
F0 System exclusive status
00 00 0E Alesis manufacturer id#
02 Quadraverb id#
cc Opcode
dd Data
: :
: :
F7 End-Of-Exclusive
!
OPCODES:
!
01 - MIDI Editting
!
F0 00 00 0E 02 01<function#><page#>< value1>< value2>< value3>F7
!
<function#> = 1=reverb, 2=delay, 3=pitch, 4=eq, 7=config, 8=mix, 9=mod,
10=name
!
<page#> = 0..n where n is the maximum page # for the selected
function
<value1-3> = new parameter value in the following format:
!
Data: B7 B6 B5 B4 B3 B2 B1 B0 (MSB)
A7 A6 A5 A4 A3 A2 A1 A0 (LSB)
!
Sent: 0 A7 A6 A5 A4 A3 A2 A1 <value1>
0 A0 B7 B6 B5 B4 B3 B2 <value2>
0 B1 B0 0 0 0 0 0 <value3>
!
All parameters to be edited must be sent in this format (12 MIDI bytes),
regardless of the number of bits required to transmit the value of the parameter. When
the QuadraVerb receives this message, it will edit the specified parameter to the new
value and display it. If the function and page selected does not exist in the current
configuration, the command will be ignored. If the value received is out of range for the
parameter selected, the range will be limited to a legal value. The function and page
numbers for each parameter are shown in the next section.
!
!
!
02 - MIDI Data Dump F0 00 00 0E 02 02 <program#> <data> F7
!
<program#> = 0..99 selects individual programs
= 100 selects the edit buffer
= > 100 selects all 100 programs
<data> is in a packed format in order to optimize data transfer. Eight MIDI bytes are
used to transmit each block of 7 QuadraVerb data bytes. If the 7 data bytes are looked at
as one 56-bit word, the format for transmission is eight 7-bit words beginning with the
most significant bit of the first byte, as follows:
!
SEVEN QUADRAVERB BYTES:
0: A7 A6 A5 A4 A3 A2 A1 A0
1: B7 B6 B5 B4 B3 B2 B1 B0
2: C7 C6 C5 C4 C3 C2 C1 C0
3: D7 D6 D5 D4 D3 D2 D1 D0
4: E7 E6 E5 E4 E3 E2 E1 E0
5: F7 F6 F5 F4 F3 F2 F1 F0
6: G7 G6 G5 G4 G3 G2 G1 G0
!
TRANSMITTED AS:
0: 0 A7 A6 A5 A4 A3 A2 A1
1: 0 A0 B7 B6 B5 B4 B3 B2
2: 0 B1 B0 C7 C6 C5 C4 C3
3: 0 C2 C1 C0 D7 D6 D5 D4
4: 0 D3 D2 D1 D0 E7 E6 E5
5: 0 E4 E3 E2 E1 E0 F7 F6
6: 0 F5 F4 F3 F2 F1 F0 G7
7: 0 G6 G5 G4 G3 G2 G1 G0
!
There are 147 bytes sent for a single data dump, which corresponds to 128 bytes
of program data. There are 14,629 bytes sent for a 100 program dump, which
corresponds to 12,800 bytes of program data. The location of each parameter within a
program is shown in the next section.
!
When the QuadraVerb receives a data dump message, the display reads:
!
LOADING
MIDI DATA ...
!
Should the Quadraverb's MIDI input buffer overflow, the display will read:
!
MIDI INPUT
BUFFER OVERFLOW
!
This message will remain on the display until any button is pressed.
!
03 - MIDI Dump Request
F0 00 00 0E 02 03 <program#> F7
!
<program#> = 0..99 selects individual programs
= 100 selects the edit buffer
= > 100 selects all 100 programs
!
When this message is received, a MIDI data dump will be initiated, and the
display will read:
!
MIDI DATA DUMP
IN PROGRESS
!
Upon completion of the dump, the display will return to its previously displayed
page.
!
INDIVIDUAL PARAMETER LOCATION FUNCTION AND PAGE VALUES
!
The following lists give the parameter locations and ranges for each of the effects in each
of the configurations. The parameter associated with a particular function and page may
be dependent on both the current configuration, and the current mode of the effect (e.g.,
chorus, phase, etc.). In conditions where a page relates to different parameters depending
on the mode of the effect, the parameters are listed in tables under each mode. All
parameters are offset binary values. This means that a signed parameter with a range of
-99 to +99 in the display is actually stored as 0 for -99, 99 for 0, and 198 for +99.
!
REVERB (FUNCTION 1)
!
!
CONFIGURATION 0, 5, & 6:
page
0 (type) 0 (PLATE 1) 1 (ROOM 1) 2 (CHAMBER 1) 3 (HALL 1) 4
(REVERSE 1)
1 0-3 (INPUT 1) 0-3 (INPUT 1) 0-3 (INPUT 1) 0-3 (INPUT 1) 0-3 (INPUT 1)
2 0-1 (INPUT 2) 0-1 (INPUT 2) 0-1 (INPUT 2) 0-1 (INPUT 2) 0-1 (INPUT 2)
3 0-198 (IN MIX) 0-198 (IN MIX) 0-198 (IN MIX) 0-198 (IN
MIX) 0-198 (IN MIX)
4 1-140 (PREDLY) 1-140 (PREDLY) 1-140 (PREDLY) 1-140
(PREDLY) 1-140 (PREDLY)
5 1-198 (PRE MIX) 1-198 (PRE MIX) 1-198 (PRE MIX) 1-198 (PRE
MIX) 1-198 (PRE MIX)
6 0-99 (DECAY) 0-99 (DECAY) 0-99 (DECAY) 0-99
(DECAY) 0-99 (REV TIME)
7 0-8 (DIFFUSION) 0-8 (DIFFUSION) 0-8 (DIFFUSION) 0-8
(DIFFUSION) 0-8 (DIFFUSION)
8 0-8 (DENSITY) 0-8 (DENSITY) 0-8 (DENSITY) 0-60 (LOW
DEC) 0-8 (DENSITY)
9 0-60 (LOW DEC) 0-60 (LOW DEC) 0-60 (LOW DEC) 0-60 (HIGH
DEC) 0-60 (LOW DEC)
10 0-60 (HIGH DEC) 0-60 (HIGH DEC) 0-60 (HIGH DEC) 0-1 (GATE
ON) 0-60 (HIGH DEC)
11 0-1 (GATE ON) 0-1 (GATE ON) 0-1 (GATE ON) 0-99 (GATE
HLD)
12 0-99 (GATE HLD) 0-99 (GATE HLD) 0-99 (GATE HLD) 0-99 (GATE
REL)
13 0-99 (GATE REL) 0-99 (GATE REL) 0-99 (GATE REL) 0-99 (GATE
LEV)
14 0-99 (GATE LEV) 0-99 (GATE LEV) 0-99 (GATE LEV)
!
!
!
CONFIGURATION 1:
page
0 (type) 0 (PLATE 1) 1 (ROOM 1) 2 (CHAMBER 1) 3 (HALL 1) 4
(REVERSE 1)
1 0-2 (INPUT 1) 0-2 (INPUT 1) 0-2 (INPUT 1) 0-2 (INPUT 1) 0-2 (INPUT 1)
2-14 same as configuration 0
!
CONFIGURATION 2, 3 & 7:
Not used
!
CONFIGURATION 4:
page
0 (type) 0 (PLATE 2) 1 (ROOM 2) 2 (CHAMBER 2) 3 (HALL 2) 4
(REVERSE 2)
1 0-1 (INPUT) 0-1 (INPUT) 0-1 (INPUT) 0-1 (INPUT) 0-1 (INPUT)
2 1-140 (PREDLY) 1-140 (PREDLY) 1-140 (PREDLY) 1-140
(PREDLY) 1-140 (PREDLY)
3 1-198 (PRE MIX) 1-198 (PRE MIX) 1-198 (PRE MIX) 1-198 (PRE
MIX) 1-198 (PRE MIX)
4 0-99 (DECAY) 0-99 (DECAY) 0-99 (DECAY) 0-99
(DECAY) 0-99 (REV TIME)
5 0-8 (DIFFUSION) 0-8 (DIFFUSION) 0-8 (DIFFUSION) 0-8
(DIFFUSION) 0-8 (DIFFUSION)
6 0-8 (DENSITY) 0-8 (DENSITY) 0-8 (DENSITY) 0-60 (LOW
DEC) 0-8 (DENSITY)
7 0-60 (LOW DEC) 0-60 (LOW DEC) 0-60 (LOW DEC) 0-60 (HIGH
DEC) 0-60 (LOW DEC)
8 0-60 (HIGH DEC) 0-60 (HIGH DEC) 0-60 (HIGH DEC) 0-1 (GATE
ON) 0-60 (HIGH DEC)
9 0-1 (GATE ON) 0-1 (GATE ON) 0-1 (GATE ON) 0-99 (GATE
HLD)
10 0-99 (GATE HLD) 0-99 (GATE HLD) 0-99 (GATE HLD) 0-99 (GATE
REL)
11 0-99 (GATE REL) 0-99 (GATE REL) 0-99 (GATE REL) 0-99 (GATE
LEV)
12 0-99 (GATE LEV) 0-99 (GATE LEV) 0-99 (GATE LEV)
!
DELAY (FUNCTION 2)
!
CONFIGURATION 0:
page
0 (type) 0 (MONO) 1 (STEREO) 2 (PING-PONG)
1 0-1 (INPUT 1) 0-1 (INPUT 1) 0-1 (INPUT 1)
2 0-198 (IN MIX) 0-198 (IN MIX) 0-198 (IN MIX)
3 1-800 (DELAY) 1-400 (L DELAY) 1-400 (DELAY)
4 0-99 (FEEDB) 0-99 (L FEEDB) 0-99 (FEEDB)
5 1-400 (R DELAY)
6 0-99 (R FEEDB)
!
CONFIGURATION 1, 5:
page
0 (type) 0 (MONO) 1 (STEREO) 2 (PING-PONG)
1 0-198 (IN MIX) 0-198 (IN MIX) 0-198 (IN MIX)
2 1-800 (DELAY) 1-400 (L DELAY) 1-400 (DELAY)
3 0-99 (FEEDB) 0-99 (L FEEDB) 0-99 (FEEDB)
4 1-400 (R DELAY)
5 0-99 (R FEEDB)
!
CONFIGURATION 2:
page
0 (type) 0 (MONO) 1 (STEREO) 2 (PING-PONG)
1 0-1 (INPUT) 0-1 (INPUT) 0-1 (INPUT)
2 1-1500 (DELAY) 1-750 (L DELAY) 1-750 (DELAY)
3 0-99 (FEEDB) 0-99 (L FEEDB) 0-99 (FEEDB)
4 1-750 (R DELAY)
5 0-99 (R FEEDB)
!
!
CONFIGURATION 3:
page
0 (type) 0 (MONO) 1 (STEREO) 2 (PING-PONG) 3 (MULTI-TAP)
1 0-1 (INPUT) 0-1 (INPUT) 0-1 (INPUT) 0-1 (INPUT)
2 0-198 (IN MIX) 0-198 (IN MIX) 0-198 (IN MIX) 0-198 (IN
MIX)
3 1-1500 (DELAY) 1-750 (L DELAY) 1-750 (DELAY) 0-7 (TAP
NUMBER)
4 0-99 (FEEDB) 0-99 (L FEEDB) 0-99 (FEEDB) 1-1493 (TAP DELAY)
5 1-750 (R DELAY) 0-99 (TAP VOLUME)
6 0-99 (R FEEDB) 0-198 (TAP PAN)
7 0-99 (TAP FB)
8 0-99 (MASTER FB)
!
CONFIGURATION 4:
Not used
!
CONFIGURATION 6:
page
0 (type) 0 (MONO) 1 (STEREO) 2 (PING-PONG)
1 0-198 (IN MIX) 0-198 (IN MIX) 0-198 (IN MIX)
2 1-720 (DELAY) 1-320 (L DELAY) 1-320 (DELAY)
3 0-99 (FEEDB) 0-99 (L FEEDB) 0-99 (FEEDB)
4 1-320 (R DELAY)
5 0-99 (R FEEDB)
!
CONFIGURATION 7:
page
0 0-2 (SAMPLE PLAYBACK)
1 0-150 (SAMPLE START)
2 0-155 (SAMPLE LENGTH)
3 0-1 (AUDIO TRIG)
4 0-2 (MIDI TRIG)