关于音频混音算法

一.常用混音算法

解释:混音算法就是将多路音频输入信号根据某种规则进行运算(多路音频信号相加后做限幅处理),得到一路混合后的音频,并以此作为输出的过程。

基本有如下几种混音算法:

a>将多路音频输入信号直接相加取和作为输出;
b>将多路音频输入信号直接相加取和后,再除以混音通道数,防止溢出;
c>将多路音频输入信号直接相加取和后,做Clip操作(将数据限定在最大值和最小值之间),如有溢出就设最大值;

d>将多路音频输入信号直接相加取和后,做饱和处理,接近最大值时进行扭曲;

e>将多路音频输入信号直接相加取和后,做归一化处理,全部乘个系数,使幅值归一化;

f>将多路音频输入信号直接相加取和后,使用衰减因子限制幅值;

二.注意事项

并非任何两路音频流都可以直接混合。
两路音视频流,必须符合以下条件才能混合:

  • 1)格式相同,要解压成PCM格式;
  • 2)采样率相同,要转换成相同的采样率。主流采样率包括:16k Hz、32k Hz、44.1k Hz和48k Hz;
  • 3)帧长相同,帧长由编码格式决定,PCM没有帧长的概念,开发者自行决定帧长。为了和主流音频编码格式 的帧长保持一致,推荐采用20ms为帧长;
  • 4)位深(Bit-Depth)或采样格式(Sample Format)相同,承载每个采样点数据的bit数目要相同;
  • 5)声道数相同,必须同样是单声道或者双声道(立体声)。这样,把格式、采样率、帧长、位深和声道数对齐 了以后,两个音频流就可以混合了。

三.音量调节

IIS只是数据传输处理,本身不带音量控制,要控制音量有3个主要方式:

1. 在数据处理中直接减小相应数据就等效于减小音量(按比例缩放数据);

2. 在输出上控制DAC输出后的部分,即在DAC后添加衰减就可以减小音量;

3. 在DAC后的功率放大部分减小放大比来减小最终输出音量;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值