SYSEX COMMANDS FOR BEHRINGER ULTRA CURVE PRO DSP 8024

SYSEX COMMANDS FOR BEHRINGER ULTRA CURVE PRO DSP 8024

Exclusive list of not available by Behringer
compiled by Adriano Ficarelli, jr

Open PDF

              SYSEX COMMANDS FOR BEHRINGER
                   ULTRA CURVE PRO DSP 8024
======================================
Compiled by Adriano Ficarelli Jr - ADRStudio.com
03/14/2006 - Rev.14

Note:

The information below I obtained by dumping the
communication between DSP8024 and my computer.
Discovering one by one, and figuring out how they
work. Some at bit level.

As you know, Behringer original manual does not 
have any information about SYSEX, and BEHRINGER
support does not provide this information too. 

All commands work fine, but some are missing.
The most important for me that are missing: the
reset of HOLD Curve of RTA, and, switch between
LEFT and RIGHT on EQ display.

The reset of RTA can easily be simulated by
switching the input to MICRO and then back to
L+R. If no Microphone, it zeroes the Hold.
Switching the Decay Time also resets the Hold curve.

Others missing commands that should be very
useful are switch to the LEVEL METER and to FEED
BACK DESTROYER (or Parametric EQ). They probably
it will never work because, unfortunately, inside these
screens, the SYSEX receive is disable, so nothing
change when you send SYSEX commands, and you
can't send a command to return to the EQ main
screen also. Only changing the Operating System
can make it possible (it means write and change
EPPROMs, etc.).

Special thank's for Florian Bömers ( www.bome.com )
for the tool SendSX.
======================================

	 SEND DATA 
#########################
GENERAL OPTIONS
===============

Analyze IN/OUT 02h
(IN = BYPASS)

xx = 00h IN
xx = 01h OUT

F0 00 20 32 00 0E 02 xx F7
******************************************
Switch Equalizer/RTA 08h

xx = 00h Equalizer
xx=  01h RTA

F0 00 20 32 00 0E 08 xx F7
******************************************

EQUALIZER OPTIONS
================
Graphic Equalizer 
-----------------

Frequency level 10h

sr = 00h to 1Eh for left channel/frequency
sr = 20h to 3Eh for right channel/frequency

sr will be 00h = 20 Hz, 01h = 25Hz ..... 1Eh = 10 kHz
                         for left channel
sr will be 20h = 20 Hz, 21h = 25Hz ..... 3Eh = 10 kHz
                        for right channel

xx = 0 to 64 - level

sr will be 00h = 20 Hz, 01h = 25Hz .....  1Eh = 10 kHz
                         for left channel
sr will be 20h = 20 Hz, 21h = 25Hz .....  3Eh = 10 kHz
                         for right channel

F0 00 20 32 00 0E 10 sr xx F7
******************************************
Master Volume 11h

s = channel, 0 = Left, 2 = Right

xx = 0 to 64 (-16 to + 16 dB, inc .05)

F0 00 20 32 00 0E 11 s0 xx F7
******************************************
EQ Limiter (Both channels)

- Threshold 12h

xx = 0 OFF
xx = 1 to 37 dB

F0 00 20 32 00 0E 12 xx F7

- Release 14h

xx = 0 to 18, each means inc of .5 seconds

F0 00 20 32 00 0E 14 xx F7
******************************************
EQ Noise Gate 15h  (Both channels)

xx = 0 OFF

xx = 1 to 47 (-96 dB to -44 dB)

F0 00 20 32 00 0E 15 xx F7
******************************************
Delay 19h

xx = 0 OFF
xx = 1 ON

F0 00 20 32 00 0E 19 xx F7
******************************************
DELAY time/distance 1Ah

s = channel, 0 = Left, 2 = Right

3 bytes counter, zz less significant

F0 00 20 32 00 0E 1A s0 xx yy zz F7 
******************************************
Parametric Equalizer (PE)
------------------------
PE Mode 1Eh

s = channel, 0 = Left, 2 = Right

b = 0 - 1st band
b = 1 - 2nd band
b = 2 - 3rd band

xx = 0 OFF
xx = 1 PAR
xx = 2 AUT
xx = 3 SGL 

F0 00 20 32 00 0E 1E sb xx F7 
******************************************
PE Frequency 1Fh

s = channel, 0 = Left, 2 = Right

b = 0 - 1st band
b = 1 - 2nd band
b = 2 - 3rd band

yy = 00 - 20 to 87 Hz
yy = 01 - 88Hz to 378.75Hz
yy = 02 - 383.00 Hz to 1.66 kHz
yy = 03 - 1.68 kHz to 7.235 kHz
yy = 04 - 7.32 kHz to 20 kHz ( here xx max = 58H )

xx = 0 to 127 (not that the real variation is not linear)

F0 00 20 32 00 0E 1F sb yy xx F7 
******************************************
PE Octave 20h

s = channel, 0 = Left, 2 = Right

b = 0 - 1st band
b = 1 - 2nd band
b = 2 - 3rd band

xx = 0 to 120 (1/60 to 120/60)

F0 00 20 32 00 0E 20 sb xx F7
******************************************
PE GAIN 21h

s = channel, 0 = Left, 2 = Right

b = 0 - 1st band
b = 1 - 2nd band
b = 2 - 3rd band

xx = 0 to 127 (- 48 to + 16 dB, inc .5)

F0 00 20 32 00 0E 21 sb 00 xx F7
******************************************
Cross fade time 23h  (Both channels)

xx = 0 to 15 (sec)

F0 00 20 32 00 0E 23 xx F7
******************************************
Shelving Slope 24h
(This function does together not with the Frequency
level)

xx = 0 to 10 (each = 3dB/Oct)

F0 00 20 32 00 0E 24 xx F7 
******************************************

RTA OPTIONS
==========

RTA Sampling 25h

xx = 2 - Analog 44.1 kHz
xx = 3 - Analog 48.0 kHz

F0 00 20 32 00 0E 25 xx F7
******************************************
RTA INPUT 28h

xx = 0 MICRO
xx = 1 Left 
xx = 2 Right
xx = 3 Left + Right

F0 00 20 32 00 0E 28 xx F7
******************************************
RTA Hold 29h

xx = 0 OFF
xx = 1 ON

F0 00 20 32 00 0E 29 xx F7
******************************************
RTA Resolution 2Ah

xx = 0 - 1 dB/pix
xx = 1 - 0.5 dB/pix


F0 00 20 32 00 0E 2A xx F7
******************************************
RTA Auto Gain 2Bh

xx = 0 OFF (Manual)
xx = 1 ON

F0 00 20 32 00 0E 2B xx F7
******************************************
RTA LINE Gain 2Ch

xx = 0 to 16 ( 0 to 60 dB, inc de 4 dB)

F0 00 20 32 00 0E 2C xx F7
******************************************
RTA MIC Gain 2Dh

xx = 0 to 16 ( 0 to 60 dB, inc de 4 dB)

F0 00 20 32 00 0E 2D xx F7
******************************************
RTA MIC Correction 2Eh

yy xx, two byte counter 0 to 200, 100 options for
each channel.

F0 00 20 32 00 0E 2E yy xx F7
******************************************
RTA MODE 2Fh

xx = 0 RMS
xx = 1 Peak

F0 00 20 32 00 0E 2F xx F7
******************************************
RTA DECAY 30h

xx = 0 - 15 ms
xx = 1 - 65 ms
xx = 2 - 250 ms
xx = 3 - 1.0 s

F0 00 20 32 00 0E 30 xx F7 
******************************************
RTA Q-Curve 31h

xx = 0 Flat
xx = 1 to 100 - 100 curves

F0 00 20 32 00 0E 31 xx F7 
******************************************
RTA OUTPUT 32h

xx = 0 OFF 
xx = 1 Input
xx = 2 Sine
xx = 3 White
xx = 4 Pink

F0 00 20 32 00 0E 32 xx F7
******************************************
RTA Sine Frequency 33h

yy xx, two byte counter

F0 00 20 32 00 0E 33 yy xx F7
******************************************
RTA Level of noise generator 34h

xx = 0 to 48

F0 00 20 32 00 0E 34 xx F7 
******************************************
Write to a EQ memory slot 46h mmh

This function writes into a memory slot of the EQ all
its settings. It is composed by a header that have
the memory slot number, followed for all settings.
At the end it have the name you give as a remark
for this slot.

F0 00 20 32 00 0E 46 mm - header, where mm is the
slot number (0 to 63h)

then

2 times Delay Time (one for each channel)
62 times Frequency Level
2 times Master Volume
6 times PE Mode
6 times PE Frequency
6 times PE Octave
6 times PE GAIN

and then the name or remark for the slot 3Ch

3C aa aa aa aa aa aa aa aa aa aa aa aa

where aa will be the index of the following table:

 !"#$%&'()*+,-./
0123456789:;<=>?
@ABCDEFGHIJKLMNO
PQRSTUVWXYZ[\]^_
`abcdefghijklmno
pqrstuvxyz{/|}~ 
ÇüéâäàâçêëèïîìÄÂ
É==ôöòûùÿÖÜ=====

Obs: The first char and after ~ there is a space char.
Where you see =, is because I can't generate that char.

then

F7 finish the string

Ex: it should be something like this:

F0 00 20 32 00 0E 46 02 1A 00 00 00 03 1A 20
00 00 00 10 00 2B 10 01 2D 10 02 20 10 03 20
10 04 20 10 05 20 10 06 20 10 07 20 10 08 20
10 09 20 10 0A 20 10 0B 20 10 0C 20 10 0D 20
10 0E 20 10 0F 20 10 10 20 10 11 20 10 12 20
10 13 20 10 14 20 10 15 20 10 16 20 10 17 20
10 18 20 10 19 20 10 1A 20 10 1B 20 10 1C 20
10 1D 20 10 1E 20 10 20 20 10 21 20 10 22 20
10 23 20 10 24 20 10 25 20 10 26 20 10 27 20
10 28 20 10 29 20 10 2A 20 10 2B 20 10 2C 20
10 2D 20 10 2E 20 10 2F 20 10 30 20 10 31 20
10 32 20 10 33 20 10 34 20 10 35 20 10 36 20
10 37 20 10 38 20 10 39 20 10 3A 20 10 3B 20
10 3C 20 10 3D 20 10 3E 20 11 00 20 11 20 20
1E 00 01 1E 01 01 1E 02 01 1E 20 01 1E 21 01
1E 22 01 1F 00 01 48 1F 01 03 18 1F 02 04 10
1F 20 01 48 1F 21 03 18 1F 22 04 01 20 00 14
20 01 14 20 02 14 20 20 14 20 21 14 20 22 14
21 00 00 60 21 01 00 60 21 02 00 60 21 20 00
60 21 21 00 60 21 22 00 5E 3C 21 24 32 33 54
55 44 49 4F 00 00 00 F7
******************************************
Write EQ and RTA working or temp memory 46h 7Fh

This function works the same way as the above, but
include a few more parameters.

F0 00 20 32 00 0E 46 7F - header

then

Limiter Threshold
Limiter Release
Noise Level
2 times Delay Time (one for each channel)
62 times Frequency Level
2 times Master Volume

then the following block repeat 6 times:
(note that here is different from writing into a slot)

PE Mode
PE Frequency
PE Octave
PE Gain

then

RTA Input
RTA Resolution
RTA Hold status
RTA Auto Gain Status
RTA Mode Peak/RMS
RTA Line Gain
RTA Mic Gain
RTA Mic Correction
RTA Decay
RTA Q-Curve
RTA OUTPUT
RTA  Sine Frequency 
RTA Level of noise generator
EQ Crossfade time
EQ Shelving Slope

and then a name or remark. It use to be the most recent
slot loaded.

3C aa aa aa aa aa aa aa aa aa aa aa aa

then

F7 finish the string

It should be something like this:

F0 00 20 32 00 0E 12 25 14 00 15 14 1A 00 00 00
03 1A 20 00 00 00 10 00 24 10 01 20 10 02 20 10
03 20 10 04 20 10 05 20 10 06 20 10 07 20 10 08
20 10 09 20 10 0A 20 10 0B 20 10 0C 20 10 0D 20
10 0E 20 10 0F 20 10 10 20 10 11 20 10 12 20 10
13 20 10 14 20 10 15 20 10 16 20 10 17 20 10 18
20 10 19 20 10 1A 20 10 1B 2D 10 1C 20 10 1D 20
10 1E 20 10 20 20 10 21 20 10 22 20 10 23 20 10
24 20 10 25 20 10 26 20 10 27 20 10 28 20 10 29
20 10 2A 20 10 2B 20 10 2C 20 10 2D 20 10 2E 20
10 2F 20 10 30 20 10 31 20 10 32 20 10 33 20 10
34 20 10 35 20 10 36 20 10 37 20 10 38 20 10 39
20 10 3A 20 10 3B 15 10 3C 20 10 3D 20 10 3E 20
11 00 19 11 20 26 1E 00 01 1F 00 01 48 20 00 14
21 00 00 60 1E 01 01 1F 01 03 18 20 01 14 21 01
00 60 1E 02 01 1F 02 04 10 20 02 14 21 02 00 60
1E 20 01 1F 20 01 48 20 20 14 21 20 00 60 1E 21
01 1F 21 03 18 20 21 14 21 21 00 60 1E 22 01 1F
22 04 01 20 22 14 21 22 00 60 28 03 2A 01 29 01
2B 00 2F 00 2C 09 2D 0F 2E 00 00 30 02 31 00 32
01 33 01 12 34 00 23 00 24 08 3C 21 24 32 33 54
55 44 49 4F 00 00 00 F7 
******************************************
TIPS:

You can combine two or more commands. The string
"F0 00 20 32 00 0E" is the header for sending
commands to DSP8024. This way you can send one
header followed by the strings of the commands
you want to send, and put "F7" to finalize the line.

See examples below:

1. Changing EQ master volumes level of both
channels at the same time and synchronized
( volume command is "11 s0 xx" ):

F0 00 20 32 00 0E 11 00 xx 11 20 xx F7
where xx is the desired level.

2. Put all frequencies at level zero (frequency level
string is "10 sr xx") :

"F0 00 20 32 00 0E 10 00 20 10 01 20 10 02 20
10 03 20 10 04 20 10 05 20 10 06 20 10 07 20
10 08 20 10 09 20 10 0A 20 10 0B 20 10 0C 20
10 0D 20 10 0E 20 10 0F 20 10 10 20 10 11 20
10 12 20 10 13 20 10 14 20 10 15 20 10 16 20
10 17 20 10 18 20 10 19 20 10 1A 20 10 1B 20
10 1C 20 10 1D 20 10 1E 20 F7"

Note that you can include the string
"11 00 20 11 20 20" just before the "F7" so you 
can zero the master volume at the same time.
Remember that 20h is the middle, means zero dB.
******************************************

     REQUEST DATA
#################

The most simple way to request data from DSP 8024
is just send the header "F0 00 20 32 00 0E" or
"F0 00 20 32 7F 0E" followed by "70" and by the
parameter number you want to request and close the
string with "F7".

Ex: To request the level of Noise Threshold just send:

F0 00 20 32 00 0E 70 15 F7
(or F0 00 20 32 7F 0E 70 15 F7)

you will receive the string:

F0 00 20 32 00 0E 15 xx F7  where xx will be the value
of Noise Threshold.

Where you have more than one value for a
parameter, follow the rule but
add the others variable to the string.

Ex: To request the right master level of  the Graphic 
equalizer send:

F0 00 20 32 00 0E 70 11 20 F7

you will receive the string:

F0 00 20 32 00 0E 11 20 26 F7 when the master
right level is set to +3 dB (26)

You can also combine more then one request in
only one string, with the following string:

F0 00 20 32 00 0E 70 15 70 11 20 F7

you will receive:

F0 00 20 32 00 0E 15 xx 11 20 yy  F7 with the Noise
Threshold (xx) and right level (yy).

(NEW)
One special case is to read all sets of the 31 EQ values.
You will use the 10h for the parameter followed by 1Fh
or 3Fh:

sr = 1Fh for left channel/frequency
sr = 3Fh for right channel/frequency

F7 F0 00 20 32 7F 0E 70 10 sr F7

Obs: You will have to get the main volume separately

******************************************
Real Time reading of the EQ METER 64h

F0 00 20 32 7F 0E 70 64 F7

Obs: Works only while in EQ Mode
******************************************
Real Time reading of the RTA display 65h (read only)

F0 00 20 32 7F 0E 70 65 F7

It returns something like this:

F0 00 20 32 00 0E 65 01 00 02 03 00 00 00 38 00 0B
00 07 00 00 00 00 00 00 00 22 00 15 00 18 00 00 00
00 00 00 00 30 00 2B 00 1D 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 5D F7

Where: 

F0 00 20 32 00 0E 65 : Header

followed by:

Line Gain current setting - 1 byte
Mic Gain current setting - 1 byte
Decay Time current setting - 1 byte

8 bits flags (0 or 1)- Status of current Resolution, 
Hold, Auto Gain, Analyzer, RTA Frozen, RTA in
memory/load menu:

      xxMFAGHR

  R=Resolution -- 1.0 dB=0, 0.5 dB=1
  H=Hold -- Hold OFF=0 , Hold ON=1
  G=Auto Gain -- Manual=0, Gain Auto=1
  A=Analyzer -- RMS=0, PEAK=1
  F=1 when RTA display is frozen (just load from memory
      or pressed right/left)
  M=1 when you are in MEMORY/LOADing (display is
       frozen, F also 1)

31 pair of bytes for each Frequency and one pair for
Master Level that represent the relative position on
the display. Note that is not the actual level.

The second byte is the position, it vary from 0 to 7F,
and 7F is the middle of the display (vertical). When
it is over the middle, the first byte is set to 1, and
the second start over from 0.

Finally closed with F7.

Obs: Works only while in RTA Mode
******************************************
Read EQ Memory slot 46h mmh

mm = 0 to 63 - each slot number

F0 00 20 32 00 0E 70 46 mm F7

Obs: The map of this string is the same for writing.
******************************************
Read EQ and RTA working memory 46h 7Fh (or temp
memory)

F0 00 20 32 00 0E 70 46 7F F7

Obs: The map of this string is the same for writing.
******************************************
System Version (read only) 01h

F0 00 20 32 7F 0E 70 01 F7
******************************************
;End