在我看来,CoreAudio在混合到单个通道时将声波添加到一起。我的节目将制作合成声音。我知道每个声音的幅度。当我把它们放在一起时,我应该将它们加在一起,并将结果波形保持在范围内?我可以这样做:混合声波(iOS上的CoreAudio)
MaxAmplitude = max1 + max2 + max3 //Maximum amplitude of each sound wave
if MaxAmplitude > 1 then //Over range
Output = (wave1 + wave2 + wave3)/MaxAmplitude //Meet range
else
Output = (wave1 + wave2 + wave3) //Normal addition
end if
我可以这样做吗?我是否应该预先分析声波以找到实际的最大振幅(因为最高点可能与时间线上的不匹配)并使用它?
我想要的是一种方法来播放几个合成的声音在一起,而不会减少整个音量和声音的无缝。如果我用几种合成乐器演奏和弦,我不希望单个音符几乎无声。
谢谢。
谢谢。我会尝试不同的技术,看看最好的。我会欢迎更多的答案,直到找到最佳解决方案。 – 2011-12-19 18:09:56