手机声卡伴奏均衡怎么调(全民k歌的伴奏和人声应该怎么调试)

人的大脑对声音的反应速度和敏感度是非常高的。演唱时,对人声音轨和伴奏音轨的时间对齐有很强的要求。王国腾,高级研发人员;唱吧d总监,在LiveVideoStackCon2018大会的分享中详细介绍了手机k歌混音对齐存在的问题、解决方案以及值得探索的方向。LiveVideoStack整理语音内容。
文/王国腾整理/LiveVideoStack大家好,我是王国腾。我主要负责歌吧音视频技术的研发和音频新技术的研究。这次主要介绍手机k歌混音时间对齐存在的问题,常规的工程解决方案以及值得探索的方向。
1.手机k歌介绍
k歌APP模拟了唱歌过程中的两个主要界面场景,唱歌和试听。在演唱界面,用户跟着伴奏和提示歌词完成演唱,主要生成干涩的声音。预览界面提供了很多音效的后期处理。包括音准和节奏的校准,特效或预先做好的混音要求,干声和伴奏的合成预览,甚至是人声特征的分析,加入一些动态音效,从而实现一键音效修正。
2.声音质量的评价标准
如何评价声音后期处理的效果?比如有些混音器,有时候会说声音很高,不饱满。但是,从工程和科学的角度,我们从几个抽象的维度来描述音效:还原、清晰、辨别、缺陷隐藏、音乐和声音的融合。还原度是一个相对客观的量化标准,即声音再现质量能与原声相比的程度;咬字用“咬字清晰”来描述人声,比如元音是否瞬变,辅音发音时音量是否过高或过低。辅音音量太大,听起来会刺耳,音量太小,感觉有点像大舌头。区分度是我们增加的一个指标,我们希望用户可以有很多不同的选择。比如八九十年代的大摇滚作品,以前回响很大,而现在,声音普遍干涩,希望更清晰地表达歌手的原声。缺陷隐藏能力是指个别音色引起的一些声音处理问题,即使音高和节奏正确。比如鼻音比较重,在音效处理的时候应该怎么处理这种瑕疵?有的人唇齿音比较重。如何处理这类问题,就是破绽隐藏能力。而且人声也是宽带信号,在低频以上,会有更多谐波。一段音乐伴奏,它可以覆盖很宽的频段,那么如何把这两种声音融合在一起,还能清晰的听到人声。另一个是音乐中特有的问题,节奏要严格对齐。音调和节奏都是融合问题。如果音调和节奏不准,听起来就会跑调。我们假设声乐演唱的节奏没有问题。如果偏差超过35毫秒,人耳会感觉异常。如果超过50毫秒,就已经无法接受了。另外,根据我们的双盲测试,专家耳朵,如果人声领先伴奏10 ~ 15ms,或者落后伴奏25ms,在专家别人的耳朵里会有感觉。一般来说,90%左右的人在35毫秒内没有感觉。在音乐节奏的场景中,人的耳朵会非常敏感。唱歌的时候,听到音乐的人会对节奏有一个理解,然后会按照这个节奏唱出自己的声音。一般歌曲的速度是稳定的,所以唱歌的人会跟着稳定的速度走,说明人本身就是一个没有延迟的反馈系统。
3.时间偏移:演唱时间偏移主要分为两类,一类是演唱实时反馈的时间偏移,一类是混音对齐的时间偏移。歌唱中实时反馈的时间偏移主要集中在歌唱时人声与耳机反馈回来的声音(实时回耳)之间的实时偏移。一般来说,这个偏移量应该控制在30ms以下。如果在30ms以上,唱歌时人会受到影响。在50毫秒内,唱歌会变得非常困难。对齐与人声和伴奏是否能以对齐的方式混合在一起有关。
这里有一个测试唱歌实时反馈的方法。找一个示波器,分别对麦克风和耳机的声音信号进行采样。测试者可以发出一些短促的声音,如敲击声或脉冲声。这时从麦克风采集的脉冲和从耳机得到的脉冲在示波器上可以看到,通过两个脉冲的时间差就可以知道歌唱实时反馈的时间偏差。在Android设备的系统中,各个厂商通常会做一些logos,比如“low_latency”标签和“hardware.audio.pro”标签。这两个标签会告诉开发者手机唱歌的实时反馈偏移量。“low_latency”侧重于在手机中播放声音。从需要播放到音箱实际发出声音的时间,偏移量通常小于45毫秒。Audio.pro是往返的时间,一般在20ms以内。唱功实时反馈时间偏移的原因有:计算性能、系统性能、处理缓冲造成的时间偏移。
4.安卓手机的优化
上图是安卓手机处理声音的示意图。我们从扬声器输入声音,然后经过ADC、Bus总线、驱动、录音机、应用程序,再转回整个处理时间,也就是前面说的往返时间。另外,在应用层,我们会单独写一个声音信号的文件,用于后期处理。我们希望唱歌实时反馈的延迟时间能控制在30ms以内。但是,上述过程中的每个处理步骤都需要一些时间。一般来说,音频抖动可能需要10 ~ 20毫秒,音轨可能需要20 ~ 40毫秒。当然,实际耗时会因设备不同而不同。
上图是我们做的优化耳背时延的通用方案,将上层之前的录音和音轨改为开放SL。因为Open SL本身就是一个稍微底层的接口,所以我们可以避免很多延迟,而且这个延迟是比较稳定的。对于同一型号的手机来说,差别不大,不同录音差别比较小。
上图是现有国产手机时间延迟的解决方案。因为他们手机延迟的性能指标达不到需求,所以我们另辟蹊径,绕开了这个问题。从麦克风录下一个声音,我们只处理一半,保存下来。耳背声音直接从手机麦克风加的旁路芯片出来。这种方式的延迟可以控制的很少,但是耳背音效甚至芯片处理的音量等因素很难控制。而且每个厂商都会有自己不同的解决方案,处理不同的情况,大大增加了应用控制的难度。另外,由于安卓手机机型的碎片化,需要一个一个来做,进度还是比较慢的。但是我们还是可以提供一些经验的。比如我们用Open SL处理IO,但是不处理音效,在旁路里加C代码完成。因为Open SL在音效上有很多问题,可能会快15~20毫秒,甚至会出现丢帧。如果我们需要在耳漏处理中加入实时效应器,我们必须保证效应器是实时的,并且处理本身的固定缓冲延迟尽可能小。当效果处理计算性能很大的时候,要考虑让它走一条旁路来完成异步处理,只让湿音去效果处理,干音还是按原路直接回来。这样我们就可以只通过干音的延迟来控制这个延迟。在Android上可以用一些NEON指令来优化计算,在iOS上可以用DSP来优化计算。
5.混音校准要点
混音延时细分为四个场景,录音回放的第一帧延时,演唱中断的抵消,以及处理延时和演唱者演唱失误的效果。歌手的演唱错误很好理解,属于自己的就不准唱。播放第一帧的延迟是指录制文件第一帧的时间与伴奏时间的比较。如果现实中两者不一致,就会出现第一帧播放延迟的情况。效果处理延迟是指我们在做信号处理的时候,除了计算性能造成的一些延迟之外,可能还会有一些算法造成的延迟。唱歌的中断偏差是由一个特殊的功能造成的,就是说我们用手机APP唱歌的时候,有可能会出现停顿,比如打电话、回微信或者反复录不满意的信息,停顿之后再继续切回去。此时,如果本身就存在录放延迟,那么一次中断就会导致新的录放首帧延迟,累积的延迟将是一个严重的问题。有可能前面还在可控范围内,到后面的延迟越来越大,我们也无能为力。
那么我们如何解决这四种问题呢?分析第一帧延迟的原因。一般设备初始化IO调用时,会有延迟。最直接的解决方法就是把录音设备和放音设备的初始化提前到我们真正开始写文件和播放的时候。第一帧延迟问题不仅存在于Android和IOS中,小程序中也存在。如果初始化时间没有提前到足够的量,最终混音中伴奏和人声之间的时间差可能会达到1~2秒的水平。二是减少系统开销,系统开销主要造成第一帧延迟的抖动,导致延迟不稳定。如果延迟稳定,我们可以通过制作一些白名单来解决。目前在一些国产旗舰机中,它们录放的首帧延迟基本稳定,有的甚至能在30毫秒内达到要求。但也有很多低端机型延迟较大,可以达到100~200毫秒。另外,现在安卓手机的KTV APP都保留了人肉对齐的滑动条。
效果延迟的问题得到了较好的解决,因为混合对齐是后处理,不受计算性能的影响。我们只需要保证它不丢帧,因为每一帧的人声都会对应每一帧中的伴奏,所以不管它的计算性能是好是差,混音对齐都必须从第一帧对齐到最后一帧。我们需要考虑的是算法的延迟是什么样的。如果算法的延迟是稳定的,理论上是可计算的,那么就比较容易了。当我们最终混合人声和伴奏时,将延迟恢复就没事了。有一些效应器,可能是不稳定偏移,只能从算法上优化。比如我刚才提到的实时反馈的延迟,也可以通过这种方式解决。我们分别对待湿声和干声。有些效果器本身就是不稳定的偏移,没有办法做到所有的湿声,只能从算法上尽量减少。
我们单独说一下歌唱中断偏移,比如停顿或者重复最后一句话,会导致一些歌唱中断偏移。解决方案类似于上面的记录和回放第一帧偏移。需要注意的是,用户希望暂停此事。从根本上说,并不是停止记录,而只是暂停。然后我们可以用静音来做播放补偿。如果录音和回放需要快进,我们可以再做剪辑。
我们在唱歌的时候,如果需要暂停,不需要停止伴奏,而是插入静音帧。人声也是如此,因为一旦停止并重新运行,就会产生新的第一帧延迟。如果选择了静音,我们只需要在最后的混音中严格减去相同的静音数据就可以完成同步。
人声唱到K的时候,就是一个粘着唱的过程。粘是说我们现在有伴奏了,人声按照伴奏一句一句的唱。声乐演唱包括以下特点:辅音提前,元音对齐;伴奏速度基本稳定;节奏错误少,速度错误多。那么根据这些特点,如何解决混合对齐的问题呢?我们可以分析和识别人声的节奏特征。比如可以找出元音的时间,找出伴奏的速度,然后做宏偏移。这个宏偏就是我们整首歌的宏编或者说是逐句宏偏。对每个句子进行拉伸、压缩、偏移,然后与伴奏的速度进行对比,这样就可以轻松解决歌手演唱失误造成的时间偏移。比如唱吧预览界面显示的一键修音功能。
还有其他与k歌对齐相关的问题,比如丢帧迁移。当自身计算性能出现问题时,丢帧必然导致偏移;还有就是原唱和伴奏切换时的偏移。原唱混音是根据伴奏进行的,但是由于原唱和伴奏之前的时间差,在伴唱混音的时候会产生一些偏移。像歌词和伴奏的同步,一般只有差别大的时候才会有问题,因为人的眼睛相对不那么灵敏;然后是异步合唱。当我唱完歌曲的一部分,我会去找另一个人补充一段唱段,很多时候可能会产生偏差。当然,在k歌中还有一些其他的伴唱对齐问题我们可能会遇到,比如现场合唱、合唱伴奏、DJ无缝切割、节奏校正等等。

其他教程

疫情期间隔壁频繁的开门声音(疫情期间隔壁频繁的开门声有影响吗)

2022-8-17 17:41:58

其他教程

50岁IP复兴,渴望成为人类的怪物,但好心没好报?

2022-8-17 17:44:02

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索