您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术关于人声消除(Vocal Elimination)原理的DSP实现 正文
关于人声消除(Vocal Elimination)原理的DSP实现

关于人声消除(Vocal Elimination)原理的DSP实现

点击数:7696 次   录入时间:03-04 11:55:44   整理:http://www.55dianzi.com   DSP/FPGA技术

  人声消除最初起源于美国,是一种可以将立体声歌曲的人声消除的技术。其实,人声消除是一种简单的DSP应用。下面我来简单的介绍一下人声消除的原理。

  通常录制唱片的时候,我们都是采取以下的方式:先将人声录制到一个单声道的音轨当中,在将这个音轨插入到立体声的歌曲伴奏中,这样便形成了一首完整的歌曲。在混缩录音的时候,我们通常人声的轨迹平均混合到歌曲伴奏中,也就是说,人声的声波波形在歌曲的两个声道是相同或者相似的,因此,我们可以采取两个声道相减的办法来消除立体声歌曲中的人声。

  但是,这样做有时会损失歌曲中的低音。这里的低音是指400Hz以下的频段。有的歌曲的低音部分主要有鼓或者贝司组成,由于鼓或者贝司的低音部分在左右声道的波形基本相同,所以在消除人声的时候也会消除音乐的低音部分,因此,我们需要对低音进行补偿。

  一个标准的人声消除过程如下:

  原始歌曲 音轨1 高通滤波器(High-pass fiLTEr) -->

  声道混合(Channel Mixer)

  音轨2 低通滤波器(Low-pass filter)

  在这里,声道混合是一个非常简单的DSP插件,在Cool

  Edit

  Pro等多轨音频编辑软件中十分常见。省道混合一共有四个参数,分别为:

  1.      新左声道里原左声道所占的百分数a1;

  2.      新左声道里原右声道所占的百分数a2;

  3.      新右声道里原左声道所占的百分数b1;

  4.      新右声道里原右声道所占的百分数b2;

  a1,a2,a3,a4这四个数的数值在-100到100之间。则新左声道采样值newLeft=a1*Left+a2*Right,新右声道采样值newRight=b1*Left+b2*Right。

  为了实现左右声道的相减,声道混合的四个数值分别为:100,-100,-100,100,这样生成了一个左右声道波形相反的立体声波形;但在这种情况下,如果在单声道扬声器播放声音会出现没有声音的假象。为了防止这种错误情况发生,我们应该把右声道翻转,即将声道混合的四个数值为100,

  -100, 100, -100。

  低通滤波器的截至频率和高通滤波器的通过频率应相同(在400Hz以下)。

  对于一小部分歌曲来讲,人声消除也会将乐曲的高频部分消除掉。为了应对这种情况,人声消除的过程应修改如下:

  原始歌曲 音轨1 带阻滤波器(Band-stop filter) -->

  声道混合(Channel Mixer)

  音轨2 带通滤波器(Band-pass filter)

  其中声道混合的设置仍然与上面一样,带通滤波器和带阻滤波器的两个频率仍然相同,即带通滤波器的截止频率(频率1)和带阻滤波器的通过频率(频率1)设定在400Hz以下,带通滤波器的通过频率(频率2)和带阻滤波器的截止频率(频率2)设定在2000Hz到8000Hz。

  但是这样做也存在一个弊病:人声的泛音会存在于经过人声消除后的歌曲当中,所以如果高音的补偿对音乐的听感改善作用不大,通常不采用这种方式进行人声消除。

  在叙述完基本的人声消除过程之后,我们再来讨论一下人声消除的集中特殊情况:

  (1)消除部分人声

  如果想消除80%的人声,那么就将声道混合的数值设定如下:100,

  -80, -80, 100;

  如果想消除50%的人声,那么声道混合的四个数值为100,

  -50, -50, 100。

  (2)消除人声相位不在中间的歌曲的人声

  人声相位不在中间的歌曲比较少见,但用通常的消除人声的办法很难消除这种歌曲的人声。下面,我们来讨论一下消除这种歌曲人声的方法。

  假设MusICL、MusicR为左声道、右声道的音乐,Left、Right为歌曲的左声道和右声道,VOCal为人声,有Left=MusicL+60%*Vocal,

  Right=MusicR+40%*L;

  则声道混合的四个数值分别为:-(40/60)*100,100,-(40/60)*100,100;

  若有Left=MusicL+40%*Vocal, Right=MusicR+60%*L;

  则声道混合的四个数值分别为100, -(40/60)*100, 100,

  -(40/60)*100。为了使经过声道混合的声波的音量大小与原歌曲的波形相同,还需要控制一下输出电平。

  总结

  在著名的人声消除软件Vogone中,用到了我所叙述的全部方法。我希望通过阅读这篇文章,你也能够制作出消除人声的办法。但是,这个办法并不是完美的:它并不能消除加入了混响(Reverb)以及回声(Echo)的人声。并且,最重要的一点,这是一种有损处理。所以,如果你想获得更好的伴奏质量,请使用真正的伴奏带吧!




本文关键字:暂无联系方式DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术

《关于人声消除(Vocal Elimination)原理的DSP实现》相关文章>>>