如何混合两个音频通道?

Posted

技术标签:

【中文标题】如何混合两个音频通道?【英文标题】:how to mix two audio channels? 【发布时间】:2011-06-01 19:29:57 【问题描述】:

我有两个单声道音频通道(pcm 格式)的音频通话,传入和传出。如何混合它们?如何在空间中定位它们? (例如,传入通道声音在左侧轻微,在右侧传出)

【问题讨论】:

良好的空间立体声需要在其中一个通道上延迟。最多是你两耳之间的空间除以声速。 【参考方案1】:

混合只是两个信号的加权相加。因此,如果您希望它们在一个单声道信号中相等,请将两个信号降低 2 倍并相加。如果要将它们定位在立体声空间中,请在左右声道上使用不同的权重。例如,左声道上信号 1 的 0.6 和信号 2 的 0.4 以及右声道上的反之亦然。为了获得更好的结果,需要稍微调整时间,但这取决于您的需求。

【讨论】:

是的,我这样做了 (0.5 + 0.5) 并收到了较低的音量,为什么?所以我只需要添加它们(1 + 1)并检查溢出 - 如果总和不> 32768。在这种情况下,我收到了不错的音量,但我不明白为什么 32768 而不仅仅是 65536,以及 32768 是否是正确的值。 @gro:为什么要分工?两把小提琴演奏同样的东西实际上应该比一把小提琴响亮,对吧? 不,第二小提琴手把你从讲台上撞了下来。 添加声音样本在混音中不是一个好的做法。应该对两个通道进行傅里叶变换,对两个光谱求和,然后将结果转换回时域。 @groovingandi:这可以避免溢出并避免振铃 - 出现原始光谱中不存在的加法和减法频率【参考方案2】:

立体声 PCM 只是左右交错,首先是左声道一个样本的所有字节,然后是右声道一个样本的所有字节。

【讨论】:

以上是关于如何混合两个音频通道?的主要内容,如果未能解决你的问题,请参考以下文章

如何混合两个 PCM 音频文件

如何使用 QAudioInput 从两个通道捕获音频信号

NAudio 使用 WaveMixerStream32() 混合 2 两个音频->如何让第二个音频稍后开始

在 iOS 上使用音频单元混合多个信号

如何将两个 m4a 音频文件“混合/叠加”在一起

使用 NAudio 混合两个音频文件