我一直在寻找关于如何将Speex库的预处理器用于多声道音频的示例。
speex_preprocess_state_init()
的文档说:
创建新的预处理状态。您必须为每个处理的通道创建一个状态。
我认为这意味着我需要分别在每个通道上调用speex_preprocess_run()
,但是如果预处理器碰巧从一个通道中移除了比另一个通道更多的噪声,那么这不会“倾斜”结果吗?
此外,speex_preprocess_run()
表示音频是被视为语音还是噪音/静音。如果我必须为每个频道调用该功能,如果一个频道被认为是语音而另一个频道不是,会发生什么?
我是否过度思考这个?
答案 0 :(得分:1)
以立体声录制的音色通常会毫无问题地混合到单声道。麦克风放置可能会导致一些阶段性问题,但这通常不是问题。
混音到单声道后,您可以正常处理音频。
或者,您可以选择其中一个频道,然后忽略第二个频道。这可能不那么可靠,因为录制时声音可能是离轴的。