网易云信变声技术之变调不变速算法

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

作者:王志强 网易云信高级音视频算法工程师

一、变声技术需求

母庸置疑,娱乐业务对变声有着极大的需求。在疫情影响下,直播行业蓬勃发展。在国外以 Clubhouse 为代表的语聊房业务更是发展迅速。

https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=NzA0ZDEyODZkZTQzODFjNjkyOTFhZWViNTUwYWE4MDZfQTdxYWhiYk1HZ1ZWa1BlYjhHeU04TDF1TjA2eTBWWFdfVG9rZW46Ym94Y25NVjUyd0c3QjdSOHVVWTZJR29SN1BjXzE2NDQ2NzAwMTc6MTY0NDY3MzYxN19WNA

Figure 1:clubhouse 软件下载量

上图是一张 Clubhouse 软件的下载量,在短短两个月的时间内,下载量翻了十倍之多。在国内,语聊房型的业务场景更是眼花缭乱。有电台房、交友房、相亲房和游戏陪玩房等等。在娱乐场景下,对变声的需求是非常大的,比如变出搞怪、恐怖、成熟的声音,甚至男声变女声等好玩有趣的声音。

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

https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=OTk3MGZlOWI5ODIyNDk5MTk0MGRjODZhY2RiYjVlOWRfcjhqQkxVaXdNOWx4eXU1aHc3NTZMMUIzUDY3RXRDdzVfVG9rZW46Ym94Y25SN2l4RzdqREoyWU9RYzFiY1FXTkZjXzE2NDQ2NzAwMTc6MTY0NDY3MzYxN19WNA

Figure 2:远程医疗示例

2020 年注定是不平凡的一年,从年初疫情就已经感受到这个变化,今天能够到场和大家面对面交流也是很不容易的。看到海外人民现在还在水深火热中,我们要感谢祖国的强大。今年新冠疫情的突发,也让音视频业务得到一个井喷式的发展,特别是在家办公期间,视频会议成为每个人的刚需,也培养了用户使用视频会议的习惯。

二、变声技术简介

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

https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=YWZmYTA5OWMyMjYxY2JjOGQ3MzE4MWZjZWI5NmI1MzBfaWo4RkpZNkdUTTM2WVJnaHJ6c1E4b2VqckZrd3Z3RHpfVG9rZW46Ym94Y25zeVBqSzhRRFMxWlhjdFZBd3NXMjdnXzE2NDQ2NzAyODI6MTY0NDY3Mzg4Ml9WNA

Figure 3:音效插件

常见的音效有:

  • Tremolo(颤音),用低频信号调制语音,产生悠远飘忽的感觉;
  • Ring Modulation(环形调制),周期性幅度变化的低频信号调制语音,产生机器人音效。
  • Flanging(镶边),消除特定的谐波成分,产生干脆的音效;
  • Whisperization(耳语),改变语音信号的相位,产生外星人音效,;
  • 变调不变速算法改变语音语调,实现男声变女声等效果。
https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=OTYxYjg5ODAyNDhjYzI4OTkxMWI0N2Q2MDZmM2YzZTRfWnBIcTljU3Fqc3dWaFNYVWdVdTZ0MkZzU1l1YzVNZVZfVG9rZW46Ym94Y25EeGxnSHk2a3hLQ1ZCVFhYRnBaRmZjXzE2NDQ2NzAyODI6MTY0NDY3Mzg4Ml9WNA

Figure 4: 常见的音效

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

(一)Flanging

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

基本实现原理如下:

https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=MmQyZjFjMjIyNGVlNzBiZGRkNmFkYjdhOGFiYjcyNWZfMDMxSEo0R0VDcFRCSUQ5MWZjOXlNNnpvcGhqQlRNeE9fVG9rZW46Ym94Y25hTGdiZjRITE9JUlFRSUpKdVVJMW9nXzE2NDQ2NzAyODI6MTY0NDY3Mzg4Ml9WNA

Figure 5:Flanging实现原理

增加和削弱的频谱如下:

https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=YTY2Nzk2OTlmYWY4YzlkYjY4OGJiN2NmZDczMmQxNTVfanpxeDcyZU5uTG9BQWZtOVh6dkFxaXRScUxkR0V2dDNfVG9rZW46Ym94Y25nV1lWem4zQWQ2eU1uQTVXRU5DbVpmXzE2NDQ2NzAyODI6MTY0NDY3Mzg4Ml9WNA

Figure 6:增强或削弱的频谱示意图

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

(视频1)

(二)Tremolo

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

https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=MGZkZTU3YjYwMjlkMDY4N2EwM2Q1ZWYyZWU4ZTBjOGVfTlBJZHFqVTB0cXVXbTdLTVF5b3dBdzZNTTVlbXV1MU1fVG9rZW46Ym94Y25tRVN3WEFNOVBkUm9Qa2tXd2N6MGhGXzE2NDQ2NzAyODI6MTY0NDY3Mzg4Ml9WNA

Figure 7:Tremolo原理示意图

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

(音频文件)(处理前音频 音频1,处理后的音频 音频2)

(上方左侧为原始音频,右侧为处理后的音频)

(三)Distortion

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

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

https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=MTVlMTBiOTE4MTg3ZjliNzBjN2RjMTgzMzZlYjkwMjlfRDljN1RLaldzTkpLSTlJM3FXbHl2c2NuUlhpMW1TMGRfVG9rZW46Ym94Y25BeE5jVG1TY3BjclBpYUYzSVhFZExlXzE2NDQ2NzAyODI6MTY0NDY3Mzg4Ml9WNA

Figure 8:失真器原理示意图

对应公式如下:

https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=OGY5ZTQ0NTEzMDc0NGQ5ZDFjMjc1NDRjMjExNzZhNWJfZG1vMlMwR29SZDRmcHk0R2hWVmM1d1RZeklEREppTFRfVG9rZW46Ym94Y25MYXM1eGVoOXJIYXlQQ3EzenN1RlhlXzE2NDQ2NzAyODI6MTY0NDY3Mzg4Ml9WNA

Figure 10 失真器原理公式

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

https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=NjdjODY4ODY0ZTllMWY1MjY5N2Q5NzhjNmUyYjM3N2NfU1ZUVjltSjJjTk5RYndlbUtzZHR0YUNDNFBRempNNE9fVG9rZW46Ym94Y25jSTZDR3N2YkN6Mkd3cnRLd2I1eWxmXzE2NDQ2NzAyODI6MTY0NDY3Mzg4Ml9WNA

Figure 11 谐波失真示意图

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

(音频文件)(处理前音频 音频3,处理后的音频 音频4)

(上方左侧为原始音频,右侧为处理后的音频)

三、网易云信变声技术

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

https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=OTk0YTAzYWY3ODg4NmI3ZDVlMjU0Njk0NGZhZTNlMjFfN1FvbldZVkNsSW5DMHIwc3JXbG9wbWt5UktUV2kxMnlfVG9rZW46Ym94Y25tSU1SWXZvcWF3V3NMZE1mY29HQkpiXzE2NDQ2NzAyODI6MTY0NDY3Mzg4Ml9WNA

Figure 11: 网易云信变声效果

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

(视频2)

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

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

(音频文件)(处理前音频 音频5,处理后的音频 音频6)

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

(音频文件)(处理前音频 音频7,处理后的音频 音频8)

基于变调不变速算法的重要性,网易云信优化了该算法,效果达到了业内优异水准。

四、变调不变速算法

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

(一)OLA + Resample

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

https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=MjcwZmJhZTIzYzVjYzI1MDI3ZWNjMTE2NTVhOGIwZTVfRmtCem9sTzhSSGF4VDlIN2JWNVI2Uk1UN21NNlBxalNfVG9rZW46Ym94Y25Ka0gyQ0ZnTjFWejNkVEtnbHhpQU1jXzE2NDQ2NzAyODI6MTY0NDY3Mzg4Ml9WNA

Figure 12:OLA 示意图

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

(二)WSOLA + Resample

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

https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=MGQwMzEyY2I1NDcxMTIzOTVjZDhhZmVlOWVhYjA1NjRfb1JVeW8yUmVDUmZOMjg2QmR0SzdMWDd3aFBMeElzUjJfVG9rZW46Ym94Y25BOWJWYVVRQjA2MmFzWjEyZTVtN2FlXzE2NDQ2NzAyODI6MTY0NDY3Mzg4Ml9WNA

Figure 13:WSOLA 示意图

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

(三)PSOLA

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

https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=ZGY5YzE1Mzg1OTk1OTNlN2IzMGI0YTE3Nzg1YzgxOThfdUw5MGVIQVljUEF6Qk5vOFQ4RTZOTlR6ZXBMSEM5QVNfVG9rZW46Ym94Y252aGhuaTRONWVnbVFKV2dGU3FtbTJiXzE2NDQ2NzAyODI6MTY0NDY3Mzg4Ml9WNA

Figure 14:PSOLA 示意图

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

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

(四)PhaseVocoder + Resample

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

https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=NDIwOTNhOGU1NmNjNjQ4M2RjYjYzYzU4MGRkMDZhNzZfbE5MR0xENkVpSldJMjVIVU85dzBiQ1RuMjdXREM0S05fVG9rZW46Ym94Y25FU1ZwRHdnUUQxUXpoSHA4YTNmTlVmXzE2NDQ2NzAyODI6MTY0NDY3Mzg4Ml9WNA

Figure 15:PhaseVocoder示意图

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

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

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

https://netease-we.feishu.cn/space/api/box/stream/download/asynccode/?code=ZmRkODEzMjNkM2JkYmIzNWRlODU4Nzc1NWZkYmZjZTFfNm0wTUlXMzFnNW5nQWdSN3h1dHVyWFcyYlRtbE9WbkhfVG9rZW46Ym94Y25iQ1dZWnpKdENER29PYkpsVDkwSHdoXzE2NDQ2NzAyODI6MTY0NDY3Mzg4Ml9WNA

Figure 16:变调算法盲测结果

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

作者介绍

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

关于网易云信

网易云信:网易智企旗下融合通信云服务专家、通信与视频 PaaS 平台。集网易 24 年 IM 以及音视频技术打造的融合通信云服务专家,稳定易用的通信与视频 PaaS 平台。提供融合通信与视频的核心能力与组件,包含 IM 即时通讯、5G 消息平台、一键登录、信令、短信与号码隐私保护等通信服务,音视频通话、直播、点播、互动直播与互动白板等音视频服务,视频会议等组件服务,并联合网易易盾推出一站式安全通信方案「安全通」。目前,网易云信已经成功发送 1.6 万亿条消息,覆盖智能终端 SDK 数累计超过 186 亿,我们期待每个智能终端都有云信的融合通信能力。

文章标题:网易云信变声技术之变调不变速算法,发布者:网易智企,转载请注明出处:https://worktile.com/kb/p/5848

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
网易智企的头像网易智企认证作者
上一篇 2022年3月16日 下午10:51
下一篇 2022年3月16日 下午11:06

相关推荐

  • 如何管理一个工程项目

    工程项目的管理通常要求涉及多元的方面,如1、项目规划与设计、2、资金的配置与控制、3、现场施工的组织与协调、4、项目周期内的风险管理、5、利益相关者的沟通与管理以及6、合规性与品质保障。其中,项目规划与设计是基础,它关系到工程项目全局的布局,需确保目标清晰,方案切实可行。对于该阶段,重要的是明确项目…

    2024年1月8日
    26100
  • oa开发是什么

    办公自动化(Office Automation, 简称OA)发展为企业内部工作流程的数字化、自动化,致力于提高工作效率、信息处理速度、优化管理流程。OA开发涉及创建适合特定公司需求的软件解决方案,包括但不限于工作流程管理、文档管理、协同工作工具、项目管理等。其中,工作流程管理系统是OA的核心组成部分…

    2024年1月11日
    29700
  • oa系统的是

    OA系统指的是办公自动化系统(Office Automation System),旨在提高行政管理效率,减少文书工作量,加强信息沟通,实现资源共享。1、它具备的几个关键功能包括文档管理、流程审批、信息发布和协同工作等。2**、还包含日程安排、电子邮件和即时通信工具等。3、该系统通常利用互联网、内部网…

    2024年1月16日
    18700
  • 什么软件可以记工时

    记工时用以下软件:一、Toggl;二、Clockify;三、RescueTime;四、Everhour。Toggl是一款追踪和记录开销时间方式的应用工具,无论是在工作中,还是休闲在家中,Toggl都能够非常容易地快速记录和追踪用户各种活动所花费的时间。Toggl能够方便地记录员工的时间和任务。 一、…

    2023年4月16日
    49900
  • 产品管理中的可行性分析报告如何编写

    开门见山地阐述,可行性分析报告在产品管理中扮演关键角色。1、它系统评估新产品计划的经济、技术、法律、操作以及调度可行性;2、利于决策者判断产品是否值得投资;3、辅助团队识别潜在风险和收益。特别是在评估经济可行性方面,该报告详尽地估算成本与收益,确保预计的财务回报能够符合企业目标和预期。 经济可行性分…

    2024年1月19日
    47800
  • 项目管理的需求管理和范围管理有什么区别

    项目管理的需求管理和范围管理的区别有:1、焦点不同;2、时间跨度不同;3、角色职责不同。需求管理侧重于明确项目干系人的需求和期望,确保项目的目标和成果与干系人的需求保持一致。而范围管理侧重于定义和控制项目的工作范围,确保项目的工作内容不偏离预期目标。 一、需求管理 需求管理是指在项目启动和规划阶段,…

    2023年7月30日
    1.0K00
  • 编程语言的编程语言是什么

    编程语言可以简单的理解为一种计算机和人都能识别的语言,一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。编程语言处在不断的发展和变化中,从最初的机器语言发展到如今的2500种以上的高级语言。 编程语言(programming language)可以…

    2023年2月23日
    26300
  • 如何评估企业是否需要部署ERP系统

    本文旨在探讨企业是否需要部署ERP系统的判断标准。决策考虑因素包括:1、业务流程复杂度;2、信息孤岛现象;3、库存管理效率;4、客户关系管理;5、供应链优化;6、数据分析与决策制定;7、成本与收益分析。企业通常会在遇到协调多部门合作难度增加、信息共享不畅、库存成本高企、客户满意度下降、供应链不顺畅等…

    2023年11月27日
    26800
  • 大数据一体机的实质是什么

    首先要说的是,市场不是你我一两句话能够决定的,他要看很多方面的因素。有人为因素,价格因素,导向因素等。本质就是小型机,软件+硬件+服务一体销售。这个产品对政府和大型企业很合适,其中还涉及很多非技术、非成本因素。 一、大数据一体机是什么 一体机是指通过标准化的架构集成了服务器、存储、网络、软件等配置,…

    2023年6月7日
    35500
  • 项目安全员应该如何管理

    项目安全员应该通过系统的安全教育培训、严格的安全检查、完善的安全管理体系、及时的风险评估与应对等措施来进行项目的安全管理。其中,严格的安全检查尤为关键,因为通过定期和不定期的安全检查,安全员不仅可以及时发现潜在的安全隐機并采取措施进行整改,还能有效提高现场作业人员的安全意识,从而为避免事故的发生提供…

    2024年4月10日
    5800

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部