我有两个原始声音流需要加在一起。出于这个问题的目的,我们可以假定它们是相同的比特率和比特深度(例如16比特采样,44.1khz采样率)。
显然,如果只将它们加在一起,我的16位空间将上溢和下溢。如果将它们加在一起并除以二,则每个扬声器的音量减半,这在声音上是不正确的- 如果两个人在一个房间里讲话,他们的声音不会变得更安静,麦克风可以接听它们。两者都没有碰到限制器。
-亚当
您应该将它们加在一起,但是将结果裁剪到允许范围以防止上溢/下溢。
如果发生削波,您 将 在音频中引入失真,但这是不可避免的。您可以使用剪辑代码“检测”这种情况并将其报告给用户/操作员(相当于调音台上的红色“剪辑”灯…)
您可以实现一个更“合适的”压缩器/限制器,但是在不知道确切的应用程序的情况下,很难说是否值得。
如果您要进行大量音频处理,则可能需要将音频级别表示为浮点值,并且在处理结束时仅返回到16位空间。高端数字音频系统通常以这种方式工作。