【发布时间】:2011-12-18 01:41:16
【问题描述】:
在我看来,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
我可以这样做吗?我是否应该预先分析声波以找到实际的最大振幅(因为最大点可能与时间轴上的不匹配)并使用它?
我想要的是一种方法,可以同时播放多个合成声音,而不会降低音量,并且听起来无缝。如果我用几种合成乐器演奏和弦,我不想要求单个音符实际上是无声的。
谢谢。
【问题讨论】:
标签: ios audio core-audio pcm mixing