我正在创建像车库乐队这样的音频播放器。
为此,我必须在运行时将2种不同的音频文件格式混合到1个文件中。
示例:
用户同时推送drum button
和violin button
然后用户按下disk button
以保存该曲调。
那么如何将它们混合成1个文件(异步和完美的持续时间)??
答案 0 :(得分:1)
这对于Apple的新AVAudioEngine来说非常微不足道,它专为这种情况而设计。
观看WWDC关于它的视频......
答案 1 :(得分:0)
未来读者注意事项:
当我输入这个答案时,问题没有指定任何环境/操作系统/语言,它只是询问如何合并音频。
基本概念:等波相互放大,相反的波相互衰减 所以,基本的想法是:
0
代替比最长音轨花费更少时间的曲目。)示例:3个单声道音轨(T
=音轨,C
=频道,Sn
=单个样本n
的值或0
):< / p>
resultTrack_C1_Sn = ( T1_C1_Sn + T2_C1_Sn + T3_C1_Sn ) / totalTracks
当多声道(如立体声):对每个声道重复时,交错结果(左声道首先出现)。当然,你可以在一次“跑步”中做到这一点。
注意(对于PCM):
<= 8 bits
样本分辨率无符号(因此0
为127
,换句话说,负波浪摆幅低于127,正波浪 - 挥杆超过127)你需要考虑到这一点。>8 bits
已签名,因此您可以安全地使用上面的基本公式(自-4 + -5 = -9
起)。这应该让你从基本概念开始。