技术系列课回顾 | 网易云信变声技术之变调不变速算法

导读:影视作品中经常出现各种有趣的音效,例如:机器人声、外星人声,甚至男声变女声等。这些好玩有趣的音效是如何实现的呢?在 RTC 领域又如何实现这些音效呢?本次分享将为您揭开变声技术以及变调不变速算法的神秘面纱。

文|王志强

网易云信高级音视频算法工程师

如何在 RTC 场景中实现好玩有趣的变声效果,给用户带来其乐无穷的玩法,是网易云信所探索的方向之一。本文将阐述实时变声技术原理和网易云信的变声方案。

变声技术需求

从业务上来看,互动直播对变声有着极大的需求。在疫情影响下,国内直播行业蓬勃发展,而在国外以 Clubhouse 为代表的语聊产品更是发展迅速。

上图是一张 Clubhouse 软件的下载量,在短短两个月的时间内,下载量翻了十倍之多。

在国内语聊场景更是眼花缭乱。如电台房、交友房、相亲房和游戏陪玩房等。诸如此类的声音社交场景下,对变声的需求是非常大的,比如变出搞怪、成熟的声音,甚至男声变女声等好玩有趣的声音。

此外,在其他的一些业务场景中也存在着为了替用户保护隐私需要变声的潜在需求。例如在一些远程直播问诊的业务中,考虑到用户的隐私,需要对用户的声音做一些处理,在保持声音语义不丢失的情况下,改变声音音色,让对方听不出本人的声音。

变声技术简介

为了实现上述业务需求,就需要用到语音信号处理中的变声技术了。变声技术的音效具有模块性,一般来说,特定的变声效果需要特定的变声模块。在以前,这些音效会做成插件形式,在声卡等处理器上,有针对性的达到对应的效果。

常见的音效有:

  • Tremolo(颤音),用低频信号调制语音,产生悠远飘忽的感觉;

  • Ring Modulation(环形调制),周期性幅度变化的低频信号调制语音,产生机器人音效。

  • Flanging(镶边),消除特定的谐波成分,产生干脆的音效;

  • Whisperization(耳语),改变语音信号的相位,产生外星人音效;

  • 变调不变速算法改变语音语调,实现男声变女声等效果。

下面以 Tremolo 、Flanging 和 Distortion 为例介绍常见的变声技术。

 Flanging 

Flanging 即镶边的意思。Flanging 叠加原始信号和延时后的信号,抵消和加强某些谐波频率,进而在信号频谱上产生峰谷点。

基本实现原理如下:

增加和削弱的频谱如下:

大家可以试听一下这种音效

 Tremolo 

Tremolo 即颤音的意思。其实现原理是用低频信号调制原始语音信号,进而产生颤栗、悠远的感觉。其实现公式如下所示:

大家可以试听一下这种悠远的音效:

 Distortion 

Distortion 即失真的意思。在以前,收音机、电话机和广播播放出来的声音,存在一定的线性和非线性失真,进而产生特有的失真音效。在一些影视作品中,为了模仿这种效果,会使用一些失真器,让作品具备年代感。

简单的失真器原理如图所示:

对应公式如下:

其产生的谐波失真如下所示:

可以感受一下这种失真器的声效。

网易云信变声技术

上述是影视作品中常见的变声技术,除了这些好玩有趣的音效外,网易云信还创造了非常多的变声效果,如下表:

就机器人音效一类而言,我们对其进行了非常多的优化和调参,最终产生的效果与《Dalek Robot》的机器人音效非常相似。大家可以体验一下:

除了基础的机器人、巨人、恐怖和成熟等音效外,网易云信还提供好玩有趣的男声变女声、女声变男声、男声变萝莉和女声变萝莉等。

与前面的基础变声实现原理有所不同,男声变女声主要是采用变调不变速算法,精确变换人声的频率特征,从而实现声音性别的转换。下面是网易云信的男声变女声音效:

除了实现声音性别的转换,稍加变换,变调不变速算法还能达到保护隐私的效果。对原始人声进行变换,在不影响语义的情况下,改变人声音色,让其他人听不出说话人身份。下面是网易云信保护隐私处理前后的音效:

网易云信对该算法进行了重点优化,目前变声效果已经达到业内一流水准。

变调不变速算法

变调不变速算法有多种实现方法,最常用的方法是结合变速不变调和重采样。变速不变调在不改变频率的情况下改变语音速率,重采样既改变语音速率又改变语音频率。两者结合,在不改变语音速率的情况下改变语音频率,即变调不变速。在该方法思路下,一般有四种常用的算法。

 OLA + Resample 

OLA 全称为 Overlap-Add,即重叠叠加的意思,Resample 为重采样的意思。其实现的基本步骤是,先对原始语音信号进行分帧,将多采样点的语音信号分成一帧一帧的语音信号,然后再按照对应的速率进行拼接,从而达到变速不变调的效果。如下图所示:

该算法有一定的局限性,在拼接的过程中,非常容易出现基音断裂现象,导致声音听起来有着“咔哒”的嘈杂音。

 WSOLA + Resample 

WSOLA 全称为 Waveform Similarity Overlap-Add,即波形相似重叠叠加算法。为了解决 OLA 算法在拼接时产生的不连续现象,WSOLA 利用帧间的相似性,在一定的范围内寻找最为相似的帧进行拼接,有效避免了基音断裂的现象。如下图所示:

由于其较好的效果和简易性,开源的 SoundTouch 库和网的变调不变速算法都是基于此实现的。但该算法也具备一定的局限性, 其根据相似性进行拼接语音帧,非常容易导致高频成分过多的情况,处理过后的声音听起来非常尖锐。

 PSOLA 

PSOLA 全称为 Pitch Synchronous Overlap-Add,即基音同步重叠叠加算法。该算法不再整帧处理,而是直接处理基频信号:其先进行基频提取,找到语音信号的 Pitch 信号,然后再根据速率裁剪信号,进而直接产生变调不变速算法。如下图所示:

该算法在变调参数比较小的时候效果非常好,处理后的声音非常自然,毫无机器处理痕迹。故常用于语音合成领域。

但该算法也具有一定的局限性,因为该算法只处理基音而不处理整个信号,容易产生主次音的感受。该缺陷在变调参数大时非常明显。 

 PhaseVocoder + Resample 

PhaseVocoder 即相位编码器。该算法将语音信号分解为各个频率的正弦型信号,根据时间的跨度重新计算对应的相位,进而裁剪拼接信号达到变速不变调效果,结合 Resample 进而实现变调不变速。如下图所示。

该算法能在一定程度上弥补 WSOLA + Resample 的高频尖锐声,在变调参数大时处理较为自然。但该算法也有一定的局限,会因为处理分辨率不够和频点间相位相关性的丢失产生 phasiness 现象,该现象听起来是一种模糊,混响的感觉,声音有一种拖尾不干净的感受。

网易云信在充分调研并实验各种变调不变速算法后,选择了最适合娱乐社交业务的算法,并有针对性的进行了优化,大大提高了算法性能,在精准变调的基础上,解决了上述描述的算法局限性,消除了经处理后产生的不自然感受,为用户带来极致的感官体验。

为了验证云信该算法性能的优势,我们组织了一次盲测实验,与业内知名友商进行对比。结果图如下所示:

上图中的横坐标是变调参数,指变多少音调。纵坐标是盲测得分,因为传统的算法都能精确实现变调,故得分以舒适度为标准。从图中可以看到,除了变调参数为3时,云信变调处理后的舒适度略低于某个友商外,其它的场景下均优于友商。

总结

本文先介绍了常用的变声技术,让读者对变声技术的原理和效果有一定的了解,进而引入了网易云信在变声技术上的创新与实践,如机器人声、男声变女声和保护隐私方面的音效;最后着重介绍了网易云信如何结合变调不变速算法的实践成果。

 作者介绍 

王志强,网易云信高级音视频算法工程师,主要从事变声音效和降噪算法研究相关的研究工作。在本科时期接触语音信号处理,在硕士期间专注于此。工作以来,在钻研音频算法之余,更是热爱从信号的角度欣赏音乐,曾在多通道语音增强领域均有建树,主要研究盲源分离算法和 VAD 算法,对麦克风阵列理论和滤波器原理多有涉及。目前在网易云信从事 RTC 业务的音频算法研究,包括变声算法和单通道语音增强算法。

 相关推荐阅读 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值