音频系统框架笔记

参考文档
① alsa pcm plugin
② alsa pcm softvol
③ alsa pcm rate converts

框架一
plug:equalizer
plug:pulse或dmix
kernel
driver
codec

总结: equalizer消耗cpu严重。实测还经常出现bus error错误。equalizer选择可以用alsaequal或者mbeq,甚至可以自己写。dmix为alsa-lib自带。pulse audio为开源软件。软件处理eq,低采样率可能需要重采样,会带入噪音。如果需要mic同时工作,可能导致播放卡顿,这也导致了笔者很痛苦。

框架二
plug:pulse或dmix
hw:0,0
alsa
kernel
driver
codec(dsp)

总结: 适中。笔者没有硬件测试。

框架三
hw:0,0
alsa
kernel
driver
codec(dsp,混音)

总结: 无敌,但昂贵。笔者没有硬件测试。

  • 配置文件
  • dmix
pcm.dmix {
        type dmix
        ipc_key 321456      # any unique value
        ipc_key_add_uid true
        slave {
                pcm "hw"
        }
}
  • equalizer
#LINE = POWER(10, DB / 20) - 1
pcm.equalizer {
  type equal;
# 31.25Hz@-6db
  channel0q 1.2247449;
  channel0g 0.0000000;
# 62.5Hz@-8db
  channel1q 1.2247449;                  
  channel1g 0.0000000;
# 125Hz@8db
  channel2q 1.2247449;
  channel2g -0.108749;
# 250Hz@2db
  channel3q 1.2247449;
  channel3g -0.108749;
# 500Hz@-3db
  channel4q 1.2247449;
  channel4g -0.498812;
# 1KHz@0db
  channel5q 1.2247449;
  channel5g 0.1220184;
# 2KHz@-1db
  channel6q 1.2247449;                  
  channel6g -0.108749;
# 4KHz@-12db
  channel7q 1.2247449;
  channel7g -0.748811;
# 8KHz@3db
  channel8q 1.2247449;
  channel8g 0.0000000;
# 16KHz@5db
  channel9q 1.2247449;
  channel9g -0.205671;
  # Modify the line below if you don't want to use sound card 0
  slave.pcm "plug:pulse";
  # or if you want to use with multiple applications output to dmix
  # slave.pcm "plug:dmix"
}

pcm.equal {
  type equal;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值