如何从立体声音频信号中提取人声部分?


15

我正在处理MP3文件,遇到此问题。我的MP3是立体声编码的。我要做的是提取人声部分以进行进一步处理(无论输出信号的模式是哪种,单声道或立体声都可以)。

据我所知,音频在MP3中被编码为不同的不相交的子频带。我认为我可以通过适当设置截止频率的高通/低通滤波器将信号限制在人声范围内。但是,在这种情况下,结果必须包含纯音乐信号的一部分。或在谷歌搜索之后,我想我可能会首先计算背景信号(通过将一个声道与另一个声道的信号相加而得到反相,并假设声音部分位于称为相位消除的立体声音频中)。经过此变换后,信号为单声道。然后,我应该将原始立体声合并为单声道,然后从中提取背景信号。

考虑到有效性,哪个是首选(或任何其他解决方案:)?如果是第二个,让两个通道A和B,计算背景时将使用(BA)还是(AB)?与合并两个通道一样,算术方法是否足够准确?或者我可以将每个通道下采样两倍,然后将下采样信号交织为单声道结果​​?

谢谢和最好的问候。

Answers:


21

首先,除非您打算进行压缩域处理​​(这很愚蠢),否则如何将数据编码到mp3文件中与该问题无关。因此,您可以假设您的算法将适用于解压缩的时域数据。

和/差是声音抑制(不是提取)的非常非常基本的技巧。它基于这样的假设:人声在立体声场的中心混合,而其他乐器则在水平方向上声像。这很少是真的。LR和RL听起来一样(人耳对全局相移不敏感),并且会给您单声道混音,而不会在中央混音乐器。问题是,一旦您恢复了背景,将如何处理?尝试从中心(平均)信号抑制它?这将行不通,您将要做(L + R)/ 2-(L-R),这不是很有趣。您可以尝试将这些线性组合(平均和“中心移开”),不进行任何操作会出来的!

关于滤波方法:声音的f0很少超过1000 Hz,但是它的谐波可以超过该范围。删除最高频率会使辅音(尤其是sss,chhh)不愉快。一些男性声音低于100 Hz。不过,您可以安全地削减50或60 Hz以下的任何频率(低音,底鼓)

语音分离的一些最新进展值得探索:

  • Jean Louis Durrieu的背景NMF +谐波梳>滤波器模型。此处的Python代码
  • 拉菲的背景提取方法。可以直接进行编码,并且可以很好地处理计算机生成的音乐,具有非常重复的模式,例如Electro,Hip-hop ...
  • Hsu的方法基于f0检测,跟踪和掩蔽。“用于从音乐伴奏中进行音高提取和声音分离的串联算法”(找不到可访问的PDF)。

4

感谢您的参考!您忘了提到您在鼓增强方面的工作,这对于Summer_More_More_Tea的应用程序可能也很感兴趣。好吧,这真的取决于您要使用它做什么。您是否有特定的“最终应用程序”?

我完全同意pichenettes的上述声明。为了完整起见,我要说的是,MattiRyynänen在卡拉OK音轨生成的一些作品中也使用了您提到的声音增强效果。

要回答您的问题:

考虑到有效性,哪个是首选(或任何其他解决方案:)?

正如皮亨特所说,似乎都不符合您的需求:低通/高通滤波注定会失败,因为人声的谐波结构(通常是任何“有趣”的声音,即正弦波以外的任何声音……) )。

如果是第二个,让两个通道A和B,计算背景时将使用(BA)还是(AB)?与合并两个通道一样,算术方法是否足够准确?

同样,您提到的第二种方法将不会执行,因为您只能删除中间的信号,而无法检索它。换句话说,即使人声在“中心”,也没有简单的数学方法获得人声信号。

或者我可以将每个通道下采样两倍,然后将下采样信号交织为单声道结果​​?

差...如上所建议,对通道进行平均以获得单通道信号是有意义的,并且不会破坏信号的频谱特性(假设立体声信号未退化)。因此,您获得的单声道信号基本上具有与以前相同的音乐内容。

正确地对每个通道进行降采样意味着您首先要使用一个低通滤波器(在您的情况下,截止频率为ampling_rate / 4),然后可以安全地每2个采样。但是,对于交错采样的通道并没有太多要说的:在大多数情况下,这破坏了信号的频谱特性。您可能不想要那样。

实际上,低通滤波的操作随后是将每2个样本设置为0,并将这些0的引线在傅立叶域中保持为“镜像”保留在高频分量上的低频分量。记住,您会在采样理论上给信号处理课上信号:乘以一系列脉冲(或狄拉克)会导致在傅立叶域中与另一个狄拉克序列卷积,也就是说,在这种情况下,信号的频谱会被重复(周期化)沿频率轴,周期等于采样率。

通常,在下采样时,您会删除0(因为您假设使用新的采样率)。但是在这里,保留它们会导致非常令人讨厌的其他高频成分。交织这些信号并不能解决这个问题。

好吧,总而言之,简短的答案:不要那样做。:-)

最后,我还建议您使用为LVAICA 2012会议开发的GUI:有一个git repo。我仍在调试和改进它,因此欢迎发表评论:D

希望有帮助!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.