APC Workbench EQ ini file format?

I’ve been very much enjoying working with these products, starting with the up2stream pro v1, now really enjoying what i can do with the AMP 2.1

I’m trying to write a translator to take an REW EQ text file (default format)… so far, so good.

some issues… the freq value in the exported EQ file (from right clicking in the eq graph window) appears as in the APC workbench UI, but the gain and q are different values.

part of an EQ that i exported

[EQ PARAMETERS CONFIGURATION]
enable = 1
pregain = 0
reserved = 10
filter1_enable = 1
filter1_type = 0
filter1_f0 = 169
filter1_Q = 2607
filter1_gain = -1894
filter2_enable = 1
filter2_type = 0
filter2_f0 = 226
filter2_Q = 6031
fi lter2_gain = -998

In the workbench UI,
freq = 169
gain = -7.4
q = 2.546

I can get really close by:
gain =round(float(gain)*256)
q = round(float(q)*1024)

The numbers i get almost always the same or off by 1.

Still, when i import the EQ ini file that i create, nothing appears to happen.

It appears that the “reserved” value seems to specify something about what EQ is being updated? If this is a new EQ (it is, as I’m making a new one from the REW output), what should i specify for the reserved value?

I also note that when I create an export file from the APCWorkbench UI, it apparently mis-spells “filter2_gain” as “fi lter2_gain”… is this an issue?

Any documentation on the eq ini file available?

Thanks!

Hi, I’ve missed this topic! You’ve done a great job, did you get it working now? For the gain and Q, I think you have the formula, and if it’s off by 1, maybe plus one in the calculation.
And for the filter2_gain, please keep the wrong spelling in the format… and I think you might only be interested in the EQ part, you can just reserve the headers without value to avoid affect the other settings, but the user defined effect is still needed, and seems the configs does not take effect…
And because each product might have different param list, still need to prepare some template to handle with program.

This is a sample I’ve tested imported OK on AMP2.1

[0x00-Firmware_Version]
[0x01-System_Control]
[0x03-PGA0]
[0x04-ADC0]
[0x06-PGA1]
[0x07-ADC1]
[0x08-AGC1]
[0x09-DAC0]
[0x0a-DAC1]
[0x0b-I2S0]
[0x0c-I2S1]
[0x0d-SPDIF]
[0x81-EQ]
enable = 1
pregain = 0
reserved = 1
filter1_enable = 1
filter1_type = 0
filter1_f0 = 1034
filter1_Q = 724
filter1_gain = 1997
filter2_enable = 1
filter2_type = 1
filter2_f0 = 2000
filter2_Q = 1447
fi lter2_gain = 1000
filter3_enable = 0
filter3_type = 0
filter3_f0 = 5000
filter3_Q = 724
filter3_gain = 0
filter4_enable = 0
filter4_type = 0
filter4_f0 = 10000
filter4_Q = 724
filter4_gain = 0
filter5_enable = 0
filter5_type = 0
filter5_f0 = 0
filter5_Q = 0
filter5_gain = 0
filter6_enable = 0
filter6_type = 0
filter6_f0 = 0
filter6_Q = 0
filter6_gain = 0
filter7_enable = 0
filter7_type = 0
filter7_f0 = 0
filter7_Q = 0
filter7_gain = 0
filter8_enable = 0
filter8_type = 0
filter8_f0 = 0
filter8_Q = 0
filter8_gain = 0
filter9_enable = 0
filter9_type = 0
filter9_f0 = 0
filter9_Q = 0
filter9_gain = 0
filter10_enable = 0
filter10_type = 0
filter10_f0 = 0
filter10_Q = 0
filter10_gain = 0

[0x82-MV3D_Plus]
[0x83-MVBass]
[0x84-Stereo_Widener]
[0x85-Harmonic_Exciter]
[0x86-DRC]
[0x87-EQ]
[0x88-EQ]
[0x89-EQ]
[0x8a-Gain_Control]
[0x8b-Gain_Control]
[0x8c-Gain_Control]
[0x8d-Gain_Control]
[0x8e-Gain_Control]
[0x8f-User-defined_Effect]
user_defined_type = 101
enable = 1
parameter_cnt = 2
name_len = 5
name = Mode
type = 1
enum cnt = 4
Stereo



current_value = 0
name_len = 0
name =
type = 0
current value = 0

[0x90-User-defined_Effect]
user_defined_type = 102
enable = 1
parameter_cnt = 1
name_len = 9
name = Function
type = 1
enum cnt = 9
NOT USED








current_value = 0

[0x91-User-defined_Effect]
user_defined_type = 102
enable = 1
parameter_cnt = 1
name_len = 9
name = Function
type = 1
enum cnt = 10
NOT USED









current_value = 0

[0x92-User-defined_Effect]
user_defined_type = 102
enable = 1
parameter_cnt = 1
name_len = 9
name = Function
type = 1
enum cnt = 11
NOT USED
T









current_value = 0

Thanks zpl1025!!

I will try your suggestions tomorrow and see. Thank you so much!

This is a very handy piece of hardware (the 2.1) is there any possibility of more than just eq? some options for delay or other transformations would be very helpful.

It’s possible to add some small delay between channels, eg 100ms, as it only have some KB memory inside. Maybe it could be used to fine tune the phase.

That would be great! Certainly helpful for phase issues.

Speaking of phase… any way to invert phase? would sure be nice to be able to flip phase for a sub or a tweeter without having to disturb the wires.

Is the ini file format provided correct for all products?

Should be no, it might be different for models, and even different version firmware might have different groups.

Anyway, you could look into the ini files for details, and copy the parameters to the latest exported ini file, and import it to take effect.

What I would really like to know is if the file for JUST the PEQ settings is consistent between products and the file spec.
There are products available that can measure your speaker response and then create PEQ settings and files to equalize them for better response. If Arylic supported a file format, we could ask for PEQ files in Arylic format.
Win-Win for everyone!

Yes, this part is consistent between products (except HDDAC, it’s different structure). And the first 0x82, it’s an index number and might be different, but does not matter, just use the exported file.

And you could fill the parameters. I think the name is self explained.
Regarding the values:

  • enable , filterX_enable: 1 means enabled, 0 disabled.
  • pregain, filterX_gain: The value is 256x, for example value 969, the real gain is 969/256 = 3.78dB.
  • filterX_type:
value type
0 peaking
1 low shelf
2 high shelf
3 low pass
4 high pass
5 band pass
6 notch
  • filterX_f0: integer number with unit Hz.
  • filterX_Q: the value is 1024x, for example 724, the real Q is 724/1024 = 0.707
[0x82-EQ]
enable = 0
pregain = 0
reserved = 3
filter1_enable = 1
filter1_type = 0
filter1_f0 = 91
filter1_Q = 724
filter1_gain = 969
filter2_enable = 1
filter2_type = 0
filter2_f0 = 6575
filter2_Q = 724
fi lter2_gain = -175
filter3_enable = 1
filter3_type = 0
filter3_f0 = 1170
filter3_Q = 724
filter3_gain = -409
filter4_enable = 0
filter4_type = 0
filter4_f0 = 10000
filter4_Q = 724
filter4_gain = 0
filter5_enable = 0
filter5_type = 0
filter5_f0 = 0
filter5_Q = 0
filter5_gain = 0
filter6_enable = 0
filter6_type = 0
filter6_f0 = 0
filter6_Q = 0
filter6_gain = 0
filter7_enable = 0
filter7_type = 0
filter7_f0 = 0
filter7_Q = 0
filter7_gain = 0
filter8_enable = 0
filter8_type = 0
filter8_f0 = 0
filter8_Q = 0
filter8_gain = 0
filter9_enable = 0
filter9_type = 0
filter9_f0 = 0
filter9_Q = 0
filter9_gain = 0
filter10_enable = 0
filter10_type = 0
filter10_f0 = 0
filter10_Q = 0
filter10_gain = 0