音效渲染是音频或音乐播放器最为重要的后处理模块之一。LiveVideoStackCon 2022 北京站邀请到腾讯音乐银河音效开发负责人——闫震海,为大家介绍银河音效在QQ音乐播放器中的创新应用,包括空间环绕效果和音效制作工具等内容。

文/闫震海

编辑/LiveVideoStack

大家好!很高兴和大家一起分享交流关于QQ音乐银河音效的一些技术实践。

相信大家对音效处理都不陌生。它已经被广泛应用在各种音频信号、音乐信号的渲染场景中。本次分享重点是音乐重放场景,如何利用音效对最终听到的感觉进行补偿和修饰。

主要包括以下四方面:

1、音效在播放器中的应用:关于音效的简单介绍,以及在QQ音乐播放器中的落地应用;

2、空间环绕效果的设计:空间环绕效果一直是用户热捧的一种听音偏好。我将以空间环绕效果为例,分享设计思路;

3、音效制作工具的设计:除了官方设计好的有限数量的效果之外,我们还有一大批高阶用户。他们有很强烈的欲望来自己制作音效。因此,我们设计开放了一系列的音效制作工具供给用户使用;

4、银河音效的未来展望。

-01-

音效在播放器中的应用

“音效”在维基百科中有一个描述性的定义。我们可以从中拆分出两个关键词。一个是声音,也就是说,音效是一种声音。如下方左图,工作人员在为电影画面做拟音,在录音棚里模拟电影人物产生的各种声音。还有听书场景,当说到恐怖情节时,会配上恐怖音效烘托气氛。其实这类音效更准确的名称应该叫声音效果,强调的是声音属性。为了营造不同的听音环境,我们也会尝试把溪流声、海浪声、风声等音效片段混入到音乐中;另一个关键词是声音处理,也是银河音效更加关注的一个点。它是指利用均衡器、混响器、压缩器等音效处理手段,实现同一个音乐的不同重放效果。这类技术可以被统称为数字音效技术。

音效的源头可以追溯到模拟时代的音乐混音。在音乐的录制和混音阶段,音乐制作人追求的不仅仅是真实还原现场音乐,还十分在乎音乐所营造的情绪效果。就像拍照一样,人们会通过添加滤镜的方式,改变照片风格。音效处理也起着类似的作用。经典的音效处理手段主要是镶边、合唱、变调、相位器等。

以镶边为例,介绍一下音乐制作人在模拟时代是如何玩出音效花样的。镶边最早出现在披头士的音乐中。录音带在播放时都有一个圆盘叫flange。使用两台设备同时播放同一首歌。然后手动波动其中一个圆盘。这台设备的播放就会出现一种顺滑的延迟效果。再与另一台设备的原始信号叠加在一起,就形成了镶边音效。大家可以听一下处理前后的音频,感受两者区别。

处理前/处理后

在后续的发展中,音效也逐步由录音端向下游扩展,来到了播放端。比如在音乐播放器中,对解码后的PCM数据做处理。还有在音响或耳机等硬件终端设备上做音效处理。

QQ音乐集成的银河音效更加侧重于音乐重放场景。在这种场景中,音效的目的可分为两种。一种是为了补偿播放设备的缺陷。重放环境或者电声器件的先天不足,使得用户听到的声音信号并不是音乐人想要表达的效果。比如,扬声器的平坦度较差、立体声效果不明显、低频重放能力不足等等。

上方左图,(红线)不平整的扬声器频响会对音乐产生严重声染色。可以通过均衡处理获得(蓝线)更加平整的频响曲线,从而抑制声染色的问题。对于设备本身低频表现能力不足的情况,也可以利用心理声学中“消失的基频”这个物理现象,引入虚拟低音来增强人耳对低频的感知。

另一个目的则是更为常见的,即基于修饰目的的音效设计。不同用户的听感偏好不同。我们通过增加或增强某些成分,达到环绕感、重低音、人声等听感层面的效果增强。为了增强重放效果的差异性,常见的音效手段包括:扩展环绕、抬升低音、增强人声、制作人工混响等。

QQ音乐的很多官方音效也是基于这一目的设计的。此外还有一些增加音乐节奏感的增强效果设计,称为“超嗨DJ”。欢迎大家亲自体验处理前后的变化。

一个音频从文件到最终被用户听到会经过以下几个模块:首先是音乐文件通过网络下载到手机客户端。然后,QQ音乐播放器会对其进行解码得到PCM数据。最后再通过调用播放接口,将音频数据送到物理声卡进行播放。

QQ音乐音频处理模块的处理对象就是PCM数据,位置主要集中在播放器解码后。所以又叫做音频后处理。这里的后是相对文件存储来说的。具体的处理过程如左下图所示,PCM数据经过串行结构的信号处理模块,最终仍然输出PCM数据。中间的处理模块可根据业务需求,自由组合搭配,从而实现想要的效果。

目前在QQ音乐播放器中,已经落地的后处理技术主要有以下几种:

银河音效,以及由音效模块衍生出来的一些新特性,比如变速不变调、动态装饰播放页面的智能光效、听觉与视觉联动的音乐可视化。

还有一个比较有趣的声音事件检测模块。我们把它应用在了生日闪屏的吹蜡烛效果上。可以通过麦克风的声音录入,模拟蜡烛被吹灭的效果。

-02-

空间环绕效果的设计

2.1. 立体声环绕效果

大多数混音棚里出来的立体声,会遵循MS的假设。也就是说,由左右声道构成的立体声信号,可拆分成中置信号和环绕信号两部分。中置信号往往包含着人声、鼓等不做特殊摆位的成分,而环绕则包含着其他一些空间摆位的乐器。调整二者的比例关系,就可以得到不同的环绕效果。中置比重越大,感知到的声像是越窄的;相反的,环绕比重增大,感知到的声像是越宽的。其实这种中置和环绕的拆分,也算是一种比较粗糙的分离。还可以在此基础上,叠加不同的效果,从而实现一些扩展效果。

另外,还有一类比较棘手的音源,比如左右声道的信号完全一样。这种严格上已经不算是立体声信号。用耳机听,会发现声像几乎都集中在中间位置。那么套用MS假设的话,单通道信号就是中置信号。这时可以利用一些去相关的手段来制作环绕声信号,比如均衡、延迟、混响等。制作出来的环绕声信号,可以与原单通道信号叠加成为左声道信号,与原单通道信号相减成为右声道信号。经过上述处理后所形成的立体声信号,环绕效果会明显增强。

2.2. 多通道环绕效果

最理想的环绕效果是多通道的真实扬声器阵列的效果。在双声道立体声的基础上,增加正前方的中置信号,和左后方右后方的环绕信号,就可以构成5.1声道音乐。将环绕信号继续拆分成正左正右,左后、右后,便是我们常常提到的7.1声道音乐。这还只是水平方位的扬声器布局。在天花板上增加4个,可以营造声场的高度信息。基于这个思路,还可以不断增加空间中扬声器的数量。目前,世界上通道数最多的配置是日本NHK提出的22.2通道的扬声器阵列。大家较熟悉的杜比全景声主要则是在7.1.4的扬声器布局上设计实现的。

家庭影院固然效果最好,但现在更多的听音场景是耳机。那么在耳机场景,我们又该如何增强环绕效果呢?

2.3. 双耳环绕效果增强

这里需要引入HRTF头相关传递函数的概念。它描述的是空间中点声源到达双耳鼓膜处的响应系统。如左上图所示,同一声源,由于经过了不同的传输路径到达了左右耳,最后形成的声波也不同。人耳正是根据这些差异性判断声源方位。如果我们能找到声源在不同位置的HRTF函数,就可以模拟声源从不同方位传来的效果。理想情况下,戴上耳机听音乐,就像没有带耳机一样,可以将多通道扬声器阵列营造的环绕感塞到耳机里。

右下图是一种测量头相关传递函数的方法。事先制作一个环形扬声器的阵列。同时,在人耳的两侧分别贴上两个同步采集的麦克风。随着环形阵列的摆动,可以测得空间多个位置到达双耳的传递函数。除了这种专业的测量方法,还有在家里完成类似测量的案例。头部的不停摆动,来模拟声音从不同的角度到达双耳。经过以上过程,就可以得到几乎整个球面坐标点到达双耳的HRTF函数。

有了传递函数,将一段单通道信号经过双耳的传递函数处理后,就形成了立体声信号。这时用耳机试听,就可以感受到明显的方位感。利用这一原理,曲库里5.1通道的歌曲,也可以用耳机来试听。具体做法是,每个音箱作为一个独立的声源,有一个单独的布放角度。依次把几个音箱的信号,用双耳传递函数处理后,叠加输出,就形成了立体声信号。这便是设计5.1环绕音效的基本原理。

方位控制还可以有很多种应用,比如声音旋转。在不同的时刻把声音调制到不同的方位,可以让声音形成一种旋转的感觉。业内有专注睡眠的软件,利用这种旋转效果,来达到按摩头皮的作用。外网常看到用户制作的号称8D的声音效果,其实也是相似的原理。在QQ音乐中也有上万个旋转效果的歌单。为了节省用户对这类歌曲的制作成本,使得任意歌曲都能一键拥有类似效果,我们开发了3D音效。大家也可以在QQ音乐中直接试听体验。

上文介绍了HRTF函数的应用。大家可能会有疑问。HRTF函数是现场实测的。用这种针对某一个人的测量数据,给千千万的用户使用,效果会一致吗?答案是否定的。每位用户的耳型头型各不相同,听到的效果肯定也是千差万别的。针对这种差异性,我们能做点什么呢?是否可以实现一个真正的定制化的效果?

首先,差异点主要来自两个方面,一个是每个人应该拥有独一无二的HRTF函数。这影响着用户对声源方位角度的判断;另一个,每个人对声音频率的感知能力不同,我们称之为耳纹。最明显的一个说明案例是,随着年龄的增加,对高频的感知能力是下降的。有的人用耳过度,衰减会更厉害。方位感知和频率感知是从不同维度描绘了听音效果的差异性。针对HRTF函数的差异,可以将用户的头形、耳形等生理特征与已有的HRTF数据库做关系映射,从而节省了HRTF实地测量的繁琐过程。当然,这只是一种近似,是介于公模和私模之间的一个权衡效果。另外是耳纹的定制,针对用户听力水平上的差异,可以通过纯音测试获得用户对各个频段的敏感程度。

定制的过程比较简单。如图中所示,用户只需要通过正脸和侧脸的拍照,我们就可以计算出所需要的头型和耳形等关键参数。同样,听力测试也是通过用户的选择得到用户的听觉阈值曲线,从而实现个性化的定制。

除了耳机听音场景,我们还考虑了外放场景如何增加环绕感。扬声器的夹角决定了用户所能感知到的声场宽度。理论上说利用HRTF函数将声源调制到更大的角度,就可以让用户感知到更宽的声场。但实际尝试后效果并不理想。因为HRTF本身应用在耳机场景。当应用在扬声器场景时,会因为扬声器的互相串扰而大打折扣。要克服这一问题,需要在角度调制和扬声器重放之间,添加一个串扰消除的预处理。这样便可以实现在外放场景中,真正拓宽声场的效果。

根据这一原理我们设计了外放环绕音效。在手机场景,现在很多中高端手机已经配备了立体声扬声器来播放音乐。大家可以把手机横屏,体验一下。

另外,此音效还覆盖到了音箱和汽车等常见的扬声器播放场景。

声音从音箱发出后,会在空间里继续传播。上图中,黄色点声源发出的声音朝四面八方扩散开来。蓝色的听音位置收到了直达声后,又陆续收到了经过墙壁和者天花板作用的反射声。这些声音的共同作用就是混响。由于听音位置会感受到来自四面八方的声音,会体验到一种包围感。当然缺点也是很明显的。多个声源不同步的发声,会产生一种浑浊感。

不同的房间有不同的反射效果。将各个声音按照达到时间依次排列,同时考虑声音能量的衰减,便构成了可以描述这个房间特征的空间脉冲响应。若想模拟某个空间重放音乐的效果,只需要卷积对应的脉冲响应即可。比如模拟浴室,地铁,音乐厅等不同的场景。

简单试听一下经过地铁脉冲响应处理后的歌曲。

-03-

 音效制作工具的设计

3.1. 开放基础组件

截止目前已经开放的组件有30多款。包括实现经典调音的三大件:均衡器、压缩器、混响器;听感模拟的脉冲卷积、叠加器等;及听感偏好调节的:低音增强、人声增强、环绕增强等效果。

由于这些组件符合线性时不变系统,用户可以像搭积木一样,设计自己喜欢的音效。每个效果拥有独立开关,方便用户决定是否保留该效果器。用户使用音效的场景集中在移动端。所以,我们为大家提供了二维码扫描、移动端即刻体验的功能。

为了让更多人可以使用用户自制音效,获得与官方音效同等的曝光量,用户也可以将制作好的音效通过PC端上传至后台审核系统。审核通过后可被认定音效达人。

3.2. 经典混音工具

经典混音工具多数包含了更高阶的设置参数,如混响器的空间大小、干湿比等可调,压缩器的启动释放时间等等。这些能力基本可以满足常见混音的所有设计需求。

其中,除了十段均衡以外,我们单独开发了更加专业性能更加强劲的参量均衡器,具备以下功能:

  1. 各个频段的精准控制;

  2. 动态显示输入输出信号的频谱图,直观明了地对比处理前后的效果;

  3. 同时均衡器的效果器种类丰富,多达9种可选。包括:bell、架子滤波器等全部开放;

  4. 包括所有效果器开放品质因子Q值和过渡带斜率slope等参数的设置权限。

可以说这是业内参数种类最全、自由度最高的参量均衡器。

3.3. 听感模拟工具

听感模拟主要是环境的模拟。一个是叠加器。把所要模拟的环境里面的特有的声音元素混入歌曲中,如海波听歌时会伴随着海浪的声音,下雨天会有雨声等。

另一个是利用脉冲卷积。使音乐与特定的房间声学环境相结合,从而营造一种特定空间的听音体验。如下图比较有名的脉冲混响插件。它集成了全球各大有名的音乐重放空间,包括教堂、剧院等等。

有了这样的脉冲卷积,用户可以设想自己坐在那个空间里听音乐的感觉。

3.4. 听感调节工具

关于听感调节,我们对底层工具做了稍微抽象化的提炼,如除了可以直接提升低频能量占比外,还可以增加虚拟低音处理。在流行音乐中,人声基本上都分布在中置信号的人声频段内,提升这部分信号的能力占比,同样可以达到突出人声的目的。

高保真和环绕增强,也是类似原理。

3.5. 曲风改编工具

此外,我们还在歌曲风格的自动改编方面做了尝试,如将歌曲改编成具有DJ风格的音乐。大致做法是,在后台利用机器学习的方法拾取歌曲的关键信息,包括鼓点和和弦等。同时,利用混音的知识,如制作DJ混音的常用规则,将预先制作的LOOP元素按照歌曲信息和混音规则的要求,形成节奏音轨。将节奏音轨叠加至原歌曲,便可以混合出具有DJ风格的歌曲。此外,混音规则和MIR信息还可驱动手机的闪光灯和振动马达,让用户在感知到多维度的听音体验。

除了DJ风格的改编外,还有更多remix效果的尝试,如一键秒变广场舞、电子、古风、摇滚等风格。

大家可以结合以下例子感受实际效果。

3.6. 达人音效社区

目前一共开放了30多款基础效果器供用户DIY音效。未来还会陆续开放更多。这套灵活自由的制作工具,激发了广大用户的创作欲望。用户可以二维码分享自己的音效作品,也可以上传至官方审核平台。官方审核通过后,可以获得音效达人的称号。基于此,我们顺势将用户汇集在了音效小组中讨论分享,并参与音效活动,从而形式了接近20万人的音效社区。

3.7. 官方制作音效

不仅是UGC音效,我们的官方音效也是按照音效组件组合的方式设计的。这种链式结构的音效工程明显提升了官方音效的制作和发布效率。同时,还可以做到后台的动态下发,及时更新相关效果。

3.8. 音效组件化

另外,我们提炼出了音效处理能力,实现了跨平台音效SDK的组件设。,在SDK中,我们抽离共用逻辑,统一管理音效资源的下载,和音效工程文件的构建。APP层只需要负责UI的交互,以及网络和文件操作接口的输入即可。这样的组件化设计,使银河音效可以在不同操作系统的应用平台快速接入。

除了QQ音乐客户端之外,全民K歌,JOOX、车载场景的爱趣听、酷我、波点音乐,都陆续接入了银河音效。也欢迎有类似业务需求的小伙伴与我们合作。

-04-

银河音效的未来展望

音乐播放的整个链路大致可分为3个步骤。

第一块是歌曲或者音源部分。比如从歌单的角度,为不同的歌曲配搭合适的音效。目前已经小有成效,大家可以关注QQ音乐的个性化歌单。我们赋予歌单制作搭配音效的能力。

第二块是音频解码阶段,也就是现在播放页的银河音效。为了满足用户的听音偏好,我们会开发更多样的官方音效。

第三块是播放设备端,不同的设备需要适配不同的效果。我们会和更多的硬件厂商合作。利用自己的制作工具,发布官方硬件适配效果。另外,我们也在和易车APP合作,联合发布最新车型的各种车载音响系统的测试信息,包括根据测试结果定制的车载音效。

最后,在空间音频方面我们一直在尝试各种可能性,如音乐空间的虚拟听音环境、线下展览的扬声器阵列、和线上直播场景的全景渲染,包括相关空间音频制作工具的落地。

欢迎大家持续关注银河音效。以上是本次的分享,谢谢!


LiveVideoStackCon 2023上海讲师招募中

LiveVideoStackCon是每个人的舞台,如果你在团队、公司中独当一面,在某一领域或技术拥有多年实践,并热衷于技术交流,欢迎申请成为LiveVideoStackCon的讲师。请提交演讲内容至邮箱:speaker@livevideostack.com。

QQ音乐银河音效技术实践——音乐重放效果的补偿与修饰相关推荐

  1. 【今晚7点】:以歌会友,对话腾讯音乐天琴实验室 X 银河音效

     点击上方"LiveVideoStack"关注我们 传统的听歌识曲技术是一种严格的基于音频内容的匹配检索技术,它需要检索库中拥有录音相同的歌曲版本,才可以检索成功.但随着短视频.直 ...

  2. 当AI与音乐相遇,讯飞音乐用技术引领行业变革

    音乐赛道再迎大玩家. 9月26日,讯飞音乐在北京举办了以"音AI而声"为主题音乐厂牌发布会,并于当天上午与上海音乐学院·音乐工程系签署战略合作协议. 一.AI音乐,熟悉的" ...

  3. 腾讯音乐IPO在即,然而音乐产业依然充满机会

    传言近一年的腾讯音乐IPO尘埃落定,给了几乎与互联网同岁的中国数字音乐产业一个交代. 10月2日,腾讯音乐首次向美国SEC提交招股书:11月下旬有消息称腾讯音乐将于12月初开启国际路演,12月12日挂 ...

  4. 技术答疑丨如何区分游戏短音乐与音效以及配音

    在游戏的声音领域,一般游戏音乐.音效与配音,但是每个类别又有不同的细分,在我们奇亿音乐与游戏厂商的日常沟通中,发现这些问题一直困扰着大家,一起来看看吧. 1.如何区分游戏的音效与配音? 游戏音效也是泛 ...

  5. 【图文直播全文记录】酷狗音乐的大数据实践(纯干货)

    http://mp.weixin.qq.com/s/alpEZ7-dMrgn3fwJxwmPwg 此文是根据酷狗音乐大数据架构师王劲在[QCON高可用架构群]中的分享内容整理而成,转发请注明出处. 王 ...

  6. 计算机怎么音乐飞,飞来音电脑音乐技术教学启动

    在北京地区,为广大电脑音乐爱好者提供家教等教学服务. 飞来音电脑音乐技术教学启动,在北京地区,为广大电脑音乐爱好者提供家教等教学服务. 具有丰富的教学经验和成果,让您迅速入门和提高电脑音乐制作技术,其 ...

  7. 酷狗音乐的大数据实践

    2015-06-03 王劲 高可用架构 高可用架构 此文是根据酷狗音乐大数据架构师王劲在[QCON高可用架构群]中的分享内容整理而成,转发请注明出处. 王劲:目前就职酷狗音乐,大数据架构师,负责酷狗大 ...

  8. html实现音乐界面设计,基于HTML5技术的音乐播放器的设计与实现.doc

    基于HTML5技术的音乐播放器的设计与实现 基于HTML5技术的音乐播放器的设计与实现 常志强 刘正余 杨劲楠 皖西学院电子与信息工程学院 X 关注成功! 加关注后您将方便地在 我的关注中得到本文献的 ...

  9. web html5音乐播放器设计与实现,基于HTML5技术的音乐播放器的设计与实现

    Vol.33No.11Nov.2017 赤峰学院学报(自然科学版) Journal of Chifeng University (Natural Science Edition )第33卷第11期(下 ...

最新文章

  1. Installing python 2.7 on centos 6.3.
  2. html如何获得网址,已知一个网址,如何获得该网址对应的html源代码?在del 找人事管理软件...
  3. logstash数据采集
  4. Saving Beans HDU - 3037(卢卡斯定理)
  5. 张一鸣批评的互联网“语言腐败”,危害到底有多大?
  6. GitHub 新手教程 六,Git GUI 新手教程(3),从GitHub远端同步代码库
  7. MySQL 之 query cache
  8. DeepFaceLab 新手入门教程
  9. Java、JSP房屋租赁管理系统
  10. python拼图游戏代码_Python图像处理——人物拼图游戏
  11. matplotlib交互式数据光标实现——mpldatacursor
  12. 运算符-12-多学一招原码反码补码,隐式和强制转换,位运算
  13. 双击计算机电脑没反应,win10系统双击我的电脑没反应的设置方法
  14. mocha 测试 mysql_GitHub - WePoem/lei: 整合Express mysql ioredis ejs 的一开发框架,使用mocha对api进行测试...
  15. 计算机考研2018大纲,2018计算机考研大纲(word版)
  16. 【C++】十进制转化二进制,二进制转化十进制
  17. 转:eclipse failed to create the java virtual machine 问题图文解析
  18. 人生第一个 Offer :作为算法工程师,去大公司 or 创业公司?
  19. 在服务器上使用百度网盘下载资源
  20. awesome nostr

热门文章

  1. 【数据结构PTA 7-158-161】
  2. 微信小程序开发入门篇(二)
  3. LLVM IRBuilder and pass:1.llvm基础命令
  4. Cocos2D:塔防游戏制作之旅(十)
  5. 第一篇supervisor集群管理工具cesi安装详解-如何安装supervisor
  6. Bootstrap data类型的Url格式--url(data:image/gif;base64,AAAA):把小数据直接嵌入到Url中
  7. android app wifi密码,无广告查看wifi密码的软件-WiFi密码查看清爽版app下载V999安卓版-西西软件下载...
  8. mq中消息消费的几种方式
  9. Redis基础篇(万丈高楼平地起):核心底层数据结构
  10. linux终端下如何分屏,ubuntu terminal 终端分屏