概述
1、在 timer0 中断中添加 eq_gain_smooth_deal 函数(变化时间根据实际调)如下图:
函数实现代码内容如下(放在 eq.c 文件中)
/*
** 函数功能 :EQ 增益处理函数
** 函数形参 :void
** 返回值 :void
** 备注 :主要处理电位器调高低音时产生的 POPO声(实现原理:增益逐个等级变化,不直接设置)
: 该程序修改的是 用户自定义 EQ 文件中的增益值。
: 需更换一个 audio_lib.a 库文件(适用范围 2.3、2.5.1SDK ,将 EQ 增益范围改为 -48 ~ 48)
*/
int eq_gain_smooth[10];
void eq_gain_smooth_deal(void)
{
u8 eq_update_flag = 0;
u8 i = 0;
if (eq_ops==0)return;
for(i=0;i<10;i++)
{
if(hw_eq_param.filt.freq_gain[6][i] > eq_gain_smooth[i])
{
hw_eq_param.filt.freq_gain[6][i]–;
eq_update_flag = 1;
}
else if(hw_eq_param.filt.freq_gain[6][i]< eq_gain_smooth[i])
{
hw_eq_param.filt.freq_gain[6][i]++;
eq_update_flag = 1;
}
}
if(eq_update_flag){
eq_mode_set(eq_arg.mode);
}
}
最后
以上就是潇洒山水为你收集整理的杰里之 使用内置硬件 EQ 动态调高低音及变化不平滑处理方法篇的全部内容,希望文章能够帮你解决杰里之 使用内置硬件 EQ 动态调高低音及变化不平滑处理方法篇所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复