混音算法
实话实说,这个混音算法是我从网上找到的,不过效果还是挺不错的,公式就是
C = A + B - (A * B >> 0x10)
A和B就是两路不同的音频数据,C就是混音后的音频数据,当然,处理后,还需要对C进行防止数据溢出的处理,否则,可能会有爆音。
如果是16bit音频数据,就是:
if (C > 32767) C = 32767;else if (C < -32768) C = -32768;
如果是float音频数据,就是:
if (C > 1) C = 1;else if (C < -1) C = -1;
这个算法针对的是16bit的音频采样数据,我实验的结果是:对float音频采样数据,同样有不错的效果。
转自