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
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

