doubao_chat/apps/common/config/include/eq_tab.h

120 lines
6.1 KiB
C

#ifndef _EQ_TAB_H_
#define _EQ_TAB_H_
static const struct eq_seg_info eq_tab_normal[EQ_SECTION_MAX] = {
{0, EQ_IIR_TYPE_BAND_PASS, 31, 0 << 20, (int)(0.7f * (1 << 24))},
{1, EQ_IIR_TYPE_BAND_PASS, 62, 0 << 20, (int)(0.7f * (1 << 24))},
{2, EQ_IIR_TYPE_BAND_PASS, 125, 0 << 20, (int)(0.7f * (1 << 24))},
{3, EQ_IIR_TYPE_BAND_PASS, 250, 0 << 20, (int)(0.7f * (1 << 24))},
{4, EQ_IIR_TYPE_BAND_PASS, 500, 0 << 20, (int)(0.7f * (1 << 24))},
{5, EQ_IIR_TYPE_BAND_PASS, 1000, 0 << 20, (int)(0.7f * (1 << 24))},
{6, EQ_IIR_TYPE_BAND_PASS, 2000, 0 << 20, (int)(0.7f * (1 << 24))},
{7, EQ_IIR_TYPE_BAND_PASS, 4000, 0 << 20, (int)(0.7f * (1 << 24))},
{8, EQ_IIR_TYPE_BAND_PASS, 8000, 0 << 20, (int)(0.7f * (1 << 24))},
{9, EQ_IIR_TYPE_BAND_PASS, 16000, 0 << 20, (int)(0.7f * (1 << 24))},
};
static const struct eq_seg_info eq_tab_rock[EQ_SECTION_MAX] = {
{0, EQ_IIR_TYPE_BAND_PASS, 31, -2 << 20, (int)(0.7f * (1 << 24))},
{1, EQ_IIR_TYPE_BAND_PASS, 62, 0 << 20, (int)(0.7f * (1 << 24))},
{2, EQ_IIR_TYPE_BAND_PASS, 125, 2 << 20, (int)(0.7f * (1 << 24))},
{3, EQ_IIR_TYPE_BAND_PASS, 250, 4 << 20, (int)(0.7f * (1 << 24))},
{4, EQ_IIR_TYPE_BAND_PASS, 500, -2 << 20, (int)(0.7f * (1 << 24))},
{5, EQ_IIR_TYPE_BAND_PASS, 1000, -2 << 20, (int)(0.7f * (1 << 24))},
{6, EQ_IIR_TYPE_BAND_PASS, 2000, 0 << 20, (int)(0.7f * (1 << 24))},
{7, EQ_IIR_TYPE_BAND_PASS, 4000, 0 << 20, (int)(0.7f * (1 << 24))},
{8, EQ_IIR_TYPE_BAND_PASS, 8000, 4 << 20, (int)(0.7f * (1 << 24))},
{9, EQ_IIR_TYPE_BAND_PASS, 16000, 4 << 20, (int)(0.7f * (1 << 24))},
};
static const struct eq_seg_info eq_tab_pop[EQ_SECTION_MAX] = {
{0, EQ_IIR_TYPE_BAND_PASS, 31, 3 << 20, (int)(0.7f * (1 << 24))},
{1, EQ_IIR_TYPE_BAND_PASS, 62, 1 << 20, (int)(0.7f * (1 << 24))},
{2, EQ_IIR_TYPE_BAND_PASS, 125, 0 << 20, (int)(0.7f * (1 << 24))},
{3, EQ_IIR_TYPE_BAND_PASS, 250, -2 << 20, (int)(0.7f * (1 << 24))},
{4, EQ_IIR_TYPE_BAND_PASS, 500, -4 << 20, (int)(0.7f * (1 << 24))},
{5, EQ_IIR_TYPE_BAND_PASS, 1000, -4 << 20, (int)(0.7f * (1 << 24))},
{6, EQ_IIR_TYPE_BAND_PASS, 2000, -2 << 20, (int)(0.7f * (1 << 24))},
{7, EQ_IIR_TYPE_BAND_PASS, 4000, 0 << 20, (int)(0.7f * (1 << 24))},
{8, EQ_IIR_TYPE_BAND_PASS, 8000, 1 << 20, (int)(0.7f * (1 << 24))},
{9, EQ_IIR_TYPE_BAND_PASS, 16000, 2 << 20, (int)(0.7f * (1 << 24))},
};
static const struct eq_seg_info eq_tab_classic[EQ_SECTION_MAX] = {
{0, EQ_IIR_TYPE_BAND_PASS, 31, 0 << 20, (int)(0.7f * (1 << 24))},
{1, EQ_IIR_TYPE_BAND_PASS, 62, 8 << 20, (int)(0.7f * (1 << 24))},
{2, EQ_IIR_TYPE_BAND_PASS, 125, 8 << 20, (int)(0.7f * (1 << 24))},
{3, EQ_IIR_TYPE_BAND_PASS, 250, 4 << 20, (int)(0.7f * (1 << 24))},
{4, EQ_IIR_TYPE_BAND_PASS, 500, 0 << 20, (int)(0.7f * (1 << 24))},
{5, EQ_IIR_TYPE_BAND_PASS, 1000, 0 << 20, (int)(0.7f * (1 << 24))},
{6, EQ_IIR_TYPE_BAND_PASS, 2000, 0 << 20, (int)(0.7f * (1 << 24))},
{7, EQ_IIR_TYPE_BAND_PASS, 4000, 0 << 20, (int)(0.7f * (1 << 24))},
{8, EQ_IIR_TYPE_BAND_PASS, 8000, 2 << 20, (int)(0.7f * (1 << 24))},
{9, EQ_IIR_TYPE_BAND_PASS, 16000, 2 << 20, (int)(0.7f * (1 << 24))},
};
static const struct eq_seg_info eq_tab_country[EQ_SECTION_MAX] = {
{0, EQ_IIR_TYPE_BAND_PASS, 31, -2 << 20, (int)(0.7f * (1 << 24))},
{1, EQ_IIR_TYPE_BAND_PASS, 62, 0 << 20, (int)(0.7f * (1 << 24))},
{2, EQ_IIR_TYPE_BAND_PASS, 125, 0 << 20, (int)(0.7f * (1 << 24))},
{3, EQ_IIR_TYPE_BAND_PASS, 250, 2 << 20, (int)(0.7f * (1 << 24))},
{4, EQ_IIR_TYPE_BAND_PASS, 500, 2 << 20, (int)(0.7f * (1 << 24))},
{5, EQ_IIR_TYPE_BAND_PASS, 1000, 0 << 20, (int)(0.7f * (1 << 24))},
{6, EQ_IIR_TYPE_BAND_PASS, 2000, 0 << 20, (int)(0.7f * (1 << 24))},
{7, EQ_IIR_TYPE_BAND_PASS, 4000, 0 << 20, (int)(0.7f * (1 << 24))},
{8, EQ_IIR_TYPE_BAND_PASS, 8000, 4 << 20, (int)(0.7f * (1 << 24))},
{9, EQ_IIR_TYPE_BAND_PASS, 16000, 4 << 20, (int)(0.7f * (1 << 24))},
};
static const struct eq_seg_info eq_tab_jazz[EQ_SECTION_MAX] = {
{0, EQ_IIR_TYPE_BAND_PASS, 31, 0 << 20, (int)(0.7f * (1 << 24))},
{1, EQ_IIR_TYPE_BAND_PASS, 62, 0 << 20, (int)(0.7f * (1 << 24))},
{2, EQ_IIR_TYPE_BAND_PASS, 125, 0 << 20, (int)(0.7f * (1 << 24))},
{3, EQ_IIR_TYPE_BAND_PASS, 250, 4 << 20, (int)(0.7f * (1 << 24))},
{4, EQ_IIR_TYPE_BAND_PASS, 500, 4 << 20, (int)(0.7f * (1 << 24))},
{5, EQ_IIR_TYPE_BAND_PASS, 1000, 4 << 20, (int)(0.7f * (1 << 24))},
{6, EQ_IIR_TYPE_BAND_PASS, 2000, 0 << 20, (int)(0.7f * (1 << 24))},
{7, EQ_IIR_TYPE_BAND_PASS, 4000, 2 << 20, (int)(0.7f * (1 << 24))},
{8, EQ_IIR_TYPE_BAND_PASS, 8000, 3 << 20, (int)(0.7f * (1 << 24))},
{9, EQ_IIR_TYPE_BAND_PASS, 16000, 4 << 20, (int)(0.7f * (1 << 24))},
};
/*upstream high-pass(200) for 8k*/
static const int phone_eq_filt_08000[] = {
1863147, -837795, 937379, -2097152, 1048576, // seg 0
1956339, -916484, 1048576, -1956339, 916484, // seg 1
1831863, -812791, 1048576, -1831863, 812791, // seg 2
};
/*upstream high-pass(200) for 16k*/
static const int phone_eq_filt_16000[] = {
1979738, -937284, 991400, -2097152, 1048576, // seg 0
2026633, -980309, 1048576, -2026633, 980309, // seg 1
1963940, -923193, 1048576, -1963940, 923193, // seg 2
};
/*upstream high-pass(200) for 8k*/
static const int aec_coeff_8k_highpass_ul[] = {
1863147, -837795, 937379, -2097152, 1048576, // seg 0
1956339, -916484, 1048576, -1956339, 916484, // seg 1
1831863, -812791, 1048576, -1831863, 812791, // seg 2
};
/*upstream high-pass(200) for 16k*/
static const int aec_coeff_16k_highpass_ul[] = {
1979738, -937284, 991400, -2097152, 1048576, // seg 0
2026633, -980309, 1048576, -2026633, 980309, // seg 1
1963940, -923193, 1048576, -1963940, 923193, // seg 2
};
/*upstream high-pass(200) and high-shelf(4000,-8db) for 16k*/
static const int aec_coeff_16k_hp_and_hs_ul[] = {
1979738, -937284, 991400, -2097152, 1048576, // seg 0
258395, -93381, 661607, 258395, 93381, // seg 1
1963940, -923193, 1048576, -1963940, 923193, // seg 2
};
#endif