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