写点什么

K 歌技术大揭秘:从“清唱找调”到“智能修音”,如何让歌声自然飞扬、声动四方?

作者:快手技术
  • 2024-06-17
    北京
  • 本文字数:8055 字

    阅读完需:约 26 分钟

在本系列文章的上篇中,我们探讨了 K 歌社区所面临的困境以及回森独特的应对策略(音乐弹幕?智能修音?回森K歌社区的创新玩法?(上))。在中篇中,我们深入分析了音乐弹幕功能是如何实现的(K歌还能这样玩?详解回森“音乐弹幕”功能背后的技术实践!)。本篇将分享在本地 K 歌流程中回森的创新玩法。


人的生理结构决定了人们对音频的敏感度远高于视频画面。同时,K 歌的生产流程本身就具有相当的专业性和复杂性。在这样一个竞争激烈的红海市场中,回森是如何通过提供极致的 K 歌体验,为用户带来独特价值,并最终实现弯道超车占据一席之地的呢?本篇将详细解读回森团队如何在整个 K 歌流程中发掘创新点,为用户创造实实在在的价值,从而构筑起坚实的根基。


一、重塑 K 歌流程

回森集成了众多精心设计的功能,其中一部分功能是为了与竞品保持同步,而另一些则是我们独具匠心的创新之举。接下来,我会逐步解构 K 歌应用的录制、编辑和发布三个阶段,并在每个阶段选取一个创新的功能进行详细讲解。首先,让我们聚焦于录制阶段的“清唱找调”功能。

二、录制阶段



录制阶段在整个 K 歌体验中扮演着至关重要的角色。它不仅关乎于捕捉高质量的人声,还需进行声音的深度分析,以提取人声与背景音乐的关键特征,为后续的编辑工作奠定坚实基础。为了让用户录制出清晰且富有感染力的人声,回森提供了多种辅助反馈工具,旨在激发用户的演唱潜能。

这些辅助反馈工具包括但不限于歌词着色、音高指示线、原曲与伴唱切换功能,以及暂停、片段重唱等便捷操作,它们大大降低了用户的录制门槛。在音频分析方面,系统会对音量水平、信噪比、基频信息、音高范围以及自动语音识别特征进行细致分析。而尤为关键的是,系统会进行对齐值的计算,这对于后期编辑和音效处理有着不可忽视的影响。在此,特别值得一提的是我们独创的“清唱找调”功能。“清唱找调”允许用户在没有背景音乐的条件下进行录制,系统通过智能算法分析用户的声音,并实时提供音调校正反馈。这一功能的实现,是回森研发团队基于深入的用户洞察、丰富的行业经验以及强大的技术能力所共同努力的成果。

清唱找调

为了更好地展示“清唱找调”这一功能,我特意制作了一段录屏视频。

  • 请先观看视频的前 20 秒,您将听到我演唱的初版,自我感觉节奏和音高控制得还不错,然而每句得分仅为 60 分上下,歌词上方的音高线组件及染色可能会打击演唱者的信心。这里,您可能会好奇,为什么自我感觉唱得不错,但得分却不尽人意?

  • 继续观看视频的第 20 秒至 31 秒,您将看到我实际使用了“清唱找调”功能(由于这里未打开耳返,您可能听不到我的声音,但实际上我在清唱两句),该功能准确地帮助我找到了正确的音调——降 4 调。

  • 视频的第 33 秒至 60 秒,您将看到我根据建议的音调重新演唱,实际上我的演唱与初次尝试并无太大差异,但这一次,每一句得分都达到了完美级别,且实现了连击效果,直至结束。

  • 最后,视频转至编辑页面,您可以看到我的最终得分达到了 SS 级别,音准得分 94 分,节奏得分 93 分。

通过观看视频,相信您对“清唱找调”功能的实际效果有了直观的了解。许多用户在演唱时都会面临如何决定升降调的困惑,需要自行判断升降调的幅度。而回森独特的“清唱找调”功能,正是为了解决这一问题。一旦用户尝试过一次,便很可能对它产生依赖,因为它在演唱过程中提供了极大的帮助和激励,让用户对自己最终的作品充满了信心。“清唱找调”是回森产品独有的创新功能,是其他 K 歌平台不具备的。“清唱找调”是如何实现的?接下来,我将简要介绍这个功能背后的算法原理。

  • 先看图片左下区域,系统首先采集用户清唱的音频信号,随后利用快手音频算法团队开发的 PYin 工具来测算基频,并将其转换为音符的音高,即 Note 值,从而生成一个代表用户演唱过程中音高变化的 Note 时间序列。

  • 转向图片左上区域,这里展示了如何从曲库材料中提取 MIDI 文件的主旋律,并据此构建出另一个 Note 时间序列。

  • 对这两个 Note 时间序列执行归一化处理,依据十二平均律的音乐理论,将所有音高统一转换到 1 至 12 的范围内。

  • 采用动态时间弯曲(DTW)算法对上述两个归一化后的 Note 时间序列进行匹配分析,计算出二者之间整体音高的差异,这就是我们视频中提到的 PitchShift 值,即-4。

“清唱找调”功能在 K 歌的录制阶段中占据了举足轻重的地位。除此之外,还有像回声消除(AEC)、对齐值计算、自动增益控制(AGC)特性的收集等功能都在录制阶段发挥着关键作用,它们共同保障了音质的纯净和稳定,为后续的编辑工作奠定了坚实的基础。这里就不一一详述了。接下来,让我们将目光转向 K 歌体验的下一个阶段——编辑阶段。

三、编辑阶段



编辑阶段页面布局如图上所示,左侧展示了声音编辑部分,涵盖众多功能,包括调节音量、应用音效、改变音色、添加母带效果、智能修音、AI 美音、片段编辑以及降噪和对齐等音频处理工具。右侧则显示了画面编辑部分,这里提供模板选择、特效应用、歌词样式调整、对口型拍摄指导和素材替换等功能。回森 K 歌的编辑页面之所以能够实现如此复杂的音视频编辑功能,得益于快手音视频中台提供的强大编辑 SDK 支持。整个编辑 SDK 团队为回森量身定制了多项功能,并提供了强有力的技术保障。

下面简要介绍我们是如何利用编辑 SDK 来完成 K 歌编辑页面复杂功能的。编辑 SDK 中的 Project 核心构造是整个编辑流程的基础,它整合了音频和视频的编辑需求,通过模块化的设计,使得各种编辑功能得以高效、有序地运行。

编辑 SDK 提供的视频编辑功能极其丰富,支持视频与图片素材的混合导入,同时提供了滤镜、配音、时间特效、画中画等多种编辑效果。正如图上所展示,视频轨(VideoTrackArray)通常作为主轨,它是不可或缺的,且要求至少包含一个视频对象(TrackAsset)。对于没有视频素材的情况,调用端可以选择一张图片作为视频轨的基础。而在涉及多个视频或视频与图片的混合场景中,视频轨中的每个视频对象(TrackAsset)都会按照顺序首尾相接,形成一个连续的视频流。这个视频轨不仅是整个编辑播放器的核心,也是最终导出作品的主时间轴。

此外,编辑 SDK 还支持音频轨(AudioTrackArray)的配置。音频轨中的音频对象(AudioAsset)可以交错排列,意味着在同一时刻,用户可以叠加多个音频实现混音效果(Mix)。对于每一个视频对象和音频对象,用户都可以进行细致的裁剪(clipRange)操作,并设置它们在主时间轴上的显示位置(displayRange),同时视频对象可配置滤镜、贴纸、字幕等特效处理器,音频对象则可以配置音量、音效等效果处理器。理解了编辑 SDK 的核心工程项目(Project)配置后,接下来我们一起探究 K 歌应用中是如何构建编辑工程(Project)的。

上图模拟了用户在演唱一首歌曲时的一个典型编辑场景:用户选择了歌曲中 30~90 秒的片段(总时长 60 秒),并在演唱到 40 秒时返回至 30 秒处重新演唱,直至结束。针对这一场景,编辑 SDK 中的 Project 音频轨配置如下:

1. 伴奏轨配置:

  • 将 clipRange 设定为(30,60),代表从伴奏的第 30 秒开始截取 60 秒的音频长度;

  • 将 displayRange 设定为(0,60),意即将截取的音频放置于主轨的 0~60 秒位置播放。

2. 人声段落 1 配置:

  • 由于 30 秒之后的音频应使用用户第二次演唱的音频,故将 clipRange 设置为(0,30),仅截取第一次演唱的前 30 秒音频;

  • 将 displayRange 设定为(0,30),代表将上述音频放置于主轨的 0 秒位置,并播放 30 秒。

3. 人声段落 2 配置:

  • 将 clipRange 设定为(0,30),截取此次演唱的前 30 秒音频;

  • 将 displayRange 设定为(30,60),意即将该段音频置于主轨的 30 秒位置,同样播放 30 秒。

通过这样的配置,用户能够灵活地编辑和修改演唱过程中的各个部分,使得最终的作品能够精准地反映出其演唱意图和表现。

当然,实际的音频编辑过程远不止这些基础配置,它涉及到更为复杂且精细的编辑技巧。这其中包括各种音效效果器的应用、降噪处理、音频对齐技术,以及伴奏的升降调调整、人声与伴奏的比例平衡等。这些高级编辑功能能够显著提升作品的音质和听感,使 K 歌作品更加专业且富有感染力。由于篇幅所限,这里无法一一展开,如果有机会,我们非常期待在后续的文章中深入探讨这些话题,为读者呈现更为全面和深入的 K 歌编辑技巧与知识。

在视频配置方面,回森最早推出的且被用户广泛使用的是特效模板功能。这项功能的底层技术由快手大模型团队提供支持,通过利用 Lua 脚本来实现特效模板的动态更新,极大地提高了设计师的工作效率。回森推出的音高线模板、弹唱模板、音波线和记事本等模板深受用户喜爱,并在吸引新用户方面也发挥了巨大作用。

在视频编辑页面,回森的特色功能之一就是智能修音。尽管其他平台也有类似的功能,但回森提供的智能修音在自然度和流畅性方面更胜一筹。接下来,我将重点讲解智能修音功能。

3.1 智能修音

回森自 21 年项目启动之初便倾注大量精力于修音功能的开发。我们观察到,许多希望通过歌声表达自我的用户,常因自身条件的限制而难以创作出令人满意的作品。修音的本质,在于推动 K 歌生产效率的革新,毫不夸张地说,一项出色的修音功能可被视为 K 歌行业的工业革命。回森为智能修音功能设定的目标有两个:

1. 助力那些原本无法发布作品的用户完成作品发布,从而提高他们的满足感;

2. 协助能够发布作品的用户提升作品质量,以获取更多的反馈和认可。

我们最终推出的修音功能有两方面优势。首先,我们注重修音的自然度,确保修音后的声音更加真实、自然,避免了过度修饰的痕迹。其次,我们通过视觉(例如歌词着色、音高指示线、得分提示)、交互(如原声对比、逐句调整功能)和听觉(为修音后的声音加入特殊音效)的创新设计,为用户带来全方位的修音体验。

接下来,请与我一同观看一个视频演示,展示了使用回森线上智能修音功能演唱歌曲的过程。

在视频演示中,请关注两个关键点:

  • 视频中的 17 至 37 秒区间,我为大家演唱了两句歌词:“以为爱得晴朗,当我回头望”。在这两句中,由于我的个人原因,部分音高并未达到理想状态,甚至出现了跑调的情况。然而,通过回森的智能修音功能,这两句的音高得到了精确的修正,且修复后的声音较为自然,您在首次聆听时,恐怕很难察觉到这是经过修音处理的结果。

  • 在视频上方音高线组件的右下角,您会注意到一行小字:“已为您匹配合适的伴奏升降调”。这一功能的设计理念与上文提及的清唱找调思路有着异曲同工之妙,其目标都是为了使修音效果更加自然和谐。

3.1.1 修音流程

上图详细展示了修音的整体流程,这一流程分为几个关键的步骤:

1.曲库物料准备阶段

修音工作的首要任务是确立一个标准,这个标准就是 MIDI 文件。MIDI 文件通常只包含主旋律,其制作依赖于原唱作为基准,由专业的曲库编辑人员使用 MIDI 制作器或键盘进行精细创作。由于原唱与伴奏在默认情况下是对齐的,这保证了 MIDI 文件与伴奏的一致性。进而,依据 MIDI 文件修音后的人声音频也能与伴奏完美对齐。这一阶段的复杂性不容忽视,它涵盖了曲库转码链路和其他物料的编辑,是我们曲库服务中至关重要的核心环节。

2.用户演唱阶段

用户演唱阶段即为用户的录制过程,不仅采集用户的人声,还同步进行音频特征的提取。在此过程中,主要运用了 ASR(自动语音识别)技术,将用户演唱的内容与识别结果精确到 10ms 级别,确保了极高的识别精度。此外,这一阶段还重点进行了 AEC(回声消除)处理,以应对外放录制场景中的回声问题。通过 AEC 处理,我们能够在获取原始声音的同时,得到一个经过回声消除的声音,这一声音将专门用于修音 SDK,以确保在多种录制环境下的音质效果。

3.编辑页面修音阶段

在编辑页面的修音阶段,用户点击修音按钮后,主要涉及两个核心步骤:首先系统会调用修音软件 SDK 进行音频的修复和优化,修音 SDK 会将处理后的修音 PCM 数据返回给业务层,同时还会包括一些 Meta 信息,如哪些音符被调整,哪些音符未变动等。第二步是将修音后的声音整合进编辑 SDK 中,供用户进行预览、对齐及音效处理,用户可以根据需要逐句选择或对比,并作出相应的调整。

上述内容概述了修音的整体工程流程。这个修音过程本质上是将传统的音频修整工作转移到线上进行。传统修音是指在混音阶段,调音师对多轨音频进行节奏和音高调整,并与伴奏混音的过程。回森的修音功能则通过各个阶段的数据量化(即提取音频特征),并结合多种算法策略来处理音频信号,实现节奏和音高的调整。

3.1.2 修音核心策略

整个修音的算法原理也主要分为三个阶段:

1.人声分析阶段

这一阶段需要把人声的基频进行分析,由于传统的基频识别有可能有倍频或半频的错误,这里要使用 PYin 的 HMM 来消除中间的基频半频错误。同时,本阶段还需对 AS 特征进行整理,并将结果与基频分析数据进行整合,形成时间及音高一致的音符序列。

2.策略生成阶段

这一阶段是修音算法的核心,我们团队提出了很多提升修音自然度的策略,包括乐句级别的八度识别与修正策略,装饰音与主干音符的识别、切分和策略,还有回森最有特色的推荐调的策略,通过这些策略,系统能够为整首歌曲的每个音符生成最佳的修音方案。

3.人声处理阶段

在得到精确的修音策略后,系统进入人声处理阶段。这一阶段的核心是音频信号处理,我们采用先进的 P-SOLA 算法,根据策略对人声 PCM 数据进行精准处理。最终,系统将处理后的策略组织成 Meta 信息,并返回给业务层。

在整个修音算法中,策略生成阶段无疑是最具挑战性和创新性的部分。这得益于回森团队对对修音场景的深刻理解。特别是推荐调功能,它背后的逻辑推导与实现思路体现了我们对用户需求的精准把握和对技术创新的不断追求。

3.1.3 修音推荐调

在上图中,蓝色的线代表了用户演唱的音高曲线,黄色的线代表了目标音高曲线,如果要按照正常的修音策略,我们需要把用户的所有声音都要修到目标音高上去,但是如果这样修的话可能会有以下两个问题:

1.badcase 产生的概率变高

P-SOLA 在做音频处理的时候,如果处理的音符越多或者处理音符的距离越大,所产生 badcase 的概率就会越大。“处理音符的距离“可以理解为源与目标之间音高的距离或者伸缩的长度。如果面对图中所示的用户演唱情况,如果我们将音高几乎平行的部分都向一个方向调整,可能会产生较多的 badcase。

2.声音相似度变差

如果将所有音调都向一个方向调整,调整后的声音与原声音的相似度将会降低。在使用修音界面中的逐句对比或逐句编辑功能时,可能会遇到声音不协调或无法使用的情况。为了解决这些问题,我们引入了推荐调策略。这一策略的核心思想在于尽量减少需要处理的音符数量或降低音符处理的幅度。它就像是将靶子的十环移动到实际射击的三环位置上,而不是强行将所有射击结果都调整到十环。通过这种方法,我们能够在保持音频质量的同时,实现更为自然和准确的音高修正。在回森修音系统中,这一策略对于提升修音的自然度和超越友商起到了至关重要的作用。

3.1.4 智能修音小结

除了上述讲到的一些细节之外,我们在修音流程中做了很多巧妙的设计,整体总结如下:

提升修音体验方面,我们采取了全方位的策略。首先,在扩大修音的可修率方面,我们突破了友商在不带耳机、非整首歌曲修音方面的限制。我们利用音频算法团队的 DeepAEC 能力,结合人声 SNR 检测,制定出了更为灵活的编辑策略。同时,在曲库热歌方面,我们也有针对性地制定了快速准备 MIDI 物料的策略,确保热门歌曲能够迅速支持修音功能。

其次,在提升修音后的感知方面,我们了解有部分用户唱歌跑调并非完全由演唱技巧造成,可能是耳朵对音符音高或节奏的敏感度不足。因此,除了技术上的修音处理,我们还从视觉和听觉两方面入手,提升用户的感知。在视觉方面,我们为修音音符的歌词颜色进行变化,对音高线组件进行对比染色,并设置得分提升的 tips(包括前置引导和后置提示),使用户能够更直观地感受到修音效果。在听觉方面,我们采取了提升修音轨的响度、加入混响等技巧,使用户在听觉上也能明确感知到修音后的变化。

最终,通过产品交互设计、音乐策略、技术工程能力以及算法实现等多方面的努力,我们的修音功能达到比较好的结果。此外,我们还建立了修音的技术指标与业务指标监控大盘,在后续音视频全家桶升级与本地 ASR 专项的推进中,我们将继续利用这一监控大盘来衡量 AB 指标,指导最终策略的制定与实施。

四、发布阶段

在发布阶段,我们为用户提供了话题创建、@人和封面选择等基础功能。在工程实现方面,我们也进行了异步上传和提前上传等优化。然而,最具特色的策略是边导出边上传功能。这个功能背后的原理在于:导出(转码)阶段需要大量 CPU 资源,而上传阶段则需要高网络输入/输出(IO)能力。这一点可从下面的示意图中看出。



上述图示展示了发布总耗时是转码与上传串行的模拟效果。快手音视频中台采用了 fragment-mp4 技术来实现边导出边上传的功能。在编码过程中,一旦生成了一段视频片段,系统就会立即开始上传,这样不仅显著减少了用户的感知等待时间,还通过采用音视频中台的 ktp 协议进一步提升了上传成功率,从而有效缩短了用户的上传体验时间。

五、小结

上边分几个阶段讲解了我们是如何通过各种产品与技术方面的创新来重塑 K 歌流程的,除此之外其实我们还做了很多其他的工作,核心大图如下所示:



图中上半部分展示了我们的录制、编辑和上传三个核心阶段。下半部分则展现了我们所依赖的关键基础设施,包括音视频中台、特效模版以及我们自主开发的音视频底层服务。右侧是核心大盘监控与报警。未来有机会的话,我们可以针对生产流程中的某些具体功能模块进行深入分享。


现在,让我们进入文章的尾声,我将从一个技术工作者的角度,分享我对 K 歌社区的一些理解,并以此作为整篇文章的总结。


六、技术人角度对 K 歌社区的理解

回森通过推出音乐弹幕功能与重塑 K 歌流程,成功在离线 K 歌领域占据了一席之地。音乐弹幕不仅促进了作品消费者与生产者之间的积极互动,还构建了两者间的社交联系,形成了正向循环。这种互动让社区活跃起来,并增强了用户的归属感。此外,通过重新设计 K 歌流程,我们增强了用户在创作过程中的自我认同感,并鼓励他们发布自己的作品,这一系列的创新最终提升了回森的留存率,验证了我们所做的努力与创新工作的巨大价值。



从上图的下半部分可以看出,回森继续扩展了我们的 K 歌场景,构建了包括在线 K 歌、合唱 K 歌等在内的多个功能,共同构成了一个全面而深入的 K 歌生态系统:

  1. 弹幕 K 歌功能允许用户在演唱某个片段时,就能与背后的真实用户产生互动,进一步加深社交联系;

  2. 本地 K 歌鼓励用户演唱热门片段,不仅为用户提供更多激励,也降低了视频制作门槛,有效提升了用户的开口率和作品发布率,让他们成为内容的生产者;

  3. 在线 K 歌为用户提供了一个实时互动的平台,这种即时互动为用户带来了更强的参与感,同时也为我们构建自己的商业生态系统提供了基础;

  4. 合唱 K 歌为用户提供了一个与他人合作的平台,用户可以通过合唱创造出高质量的作品,同时降低了用户参与创作的门槛。



回顾以上功能,我们可以看出,无论是音乐弹幕还是重塑 K 歌流程,回森并没有发明任何全新的事物。我们所做的,是基于对行业的深刻理解、对用户需求的精准洞察以及对技术和算法的深入研究,通过重新组合现有元素,最终为用户创造了价值。因此,我认为创新实际上是一种旧元素的全新组合。再次审视回森 App 的整体大图,我们可以看到,通过不断优化和创新,我们为用户提供了一个多元化、充满活力的 K 歌社区。


整个金字塔的塔基是音乐爱好者和伴奏版权,基于这一些“原料”我们构建了 K 歌工具与作品分发系统;然后在此基础上使用音乐弹幕这一“撬动地球的支点”来让用户用最直接(歌声)的介质遇到建立社交关系,接着再通过一些天团、IM 等去让用户可以维护关系,后续又扩建了 1v1 对唱、扩列等场景来让用户遇到;再往上是我们的歌房、语音直播这种实时互动场景,用户在这里面会有更强的参与感,在此基础上又进一步构建了我们的商业生态,让一些优质用户从中获利,同时平台本身也能实现收入。这样的生态系统确保了可持续的运转和发展。


因此,我对回森的理解是,它始于 K 歌,但在社交领域得到了长足的发展


在文章的结尾,我想补充一些个人的感想。回森上线已经三年了,在这段时间里,我们的团队经历了许多艰难时刻。幸运的是,我们坚持了下来。回森的成功让我坚信,无论遇到多少困难,只要保持创业者心态,心中有梦,眼中有光,脚下有道,我们就能不断前进。我希望这个理念能激励每个人。


本文作者:展晓凯

发布于: 1 小时前阅读数: 5
用户头像

快手技术

关注

还未添加个人签名 2024-05-15 加入

快手官方技术号,即时播报快手技术实践的最新动态 关注微信公众号「快手技术」

评论

发布
暂无评论
K歌技术大揭秘:从“清唱找调”到“智能修音”,如何让歌声自然飞扬、声动四方?_回森_快手技术_InfoQ写作社区