基于 MATLAB的自然过渡配音处理方案探究

简 介: 摘要:本文从修改视频配音的背景开始,提出自然整合修改音频的目标;通过分析环境音产生的因素,确定了录制冲激响应并与音频相卷积的处理方案;接下来通过实际测试和MATLAB处理探究了卷积方案的可行性,经过改进后效果尚可;最后提出了一套可行的流程方案并对实验中的问题进行了补充说明。

关键词 卷积音频处理冲激响应

自动化 02 2020011071孙博文

一、问题的背景与目标

1.问题提出的背景

  笔者在学习之余,在 B站( Bilibili)运营个人账号,发布一些数码产品开箱评测的视频。在视频的制作过程中,偶尔需要对原素材的音频进行修改,例如弥补口误、改正错别字和添加一些内容等。对于在宿舍以外的场景录制的素材,如果直接在宿舍为其重新配音,由于录制场景的不同,画面和声音之间会产生强烈的违和感,过渡不自然。

  2021年 12月,笔者参与了班级班剧的后期剪辑工作。在其中一幕外景中,女主的声音明显小于男主,需要进行后期配音。由于当时缺少室外拍摄的条件,后期配音的工作是在宿舍里进行的,虽然录制效果很好,但没有了室外的背景音,整合进视频后效果反而很差。

▲ 图1.1 需要后期处理的班剧片段

▲ 图1.1 需要后期处理的班剧片段

2.要实现的目标

  通过基于 MATLAB的音频处理,使得在宿舍等安静、没有回声的条件下录制的音频,能
  够比较自然地整合进其他环境中。这样既减轻了后期修改的工作量,也能提升最终成品视频
  的整体观感。

二、理论方案分析

1.环境音产生的因素

  在室外进行拍摄时,环境会对音频的录制产生很大的影响。麦克风接收到的声音除了视频中人物发出的直达声,还有墙壁、地面的反射声,路过机动车产生的噪音,甚至还有空气流动、麦克风自身杂音等本底噪声。

▲ 图2.1 外径拍摄时麦克风接收声音示意图

▲ 图2.1 外径拍摄时麦克风接收声音示意图

  这些声音会对最终的录制效果产生相当大的影响,是不可以忽略的。所以,麦克风接收到的声音相当于目标声音经过特定环境系统处理后的声音。如果要实现安静环境下模拟外景录音的目标,就要想办法对该系统进行描述。

2.冲激响应

  冲激响应的定义为:一个被测系统在一个脉冲激励信号输入时,所得到的时域响应特性。在声学分析中,认为冲激响应是一个系统的声学签名,包含了关于系统非常丰富的信息,包括到达时间、频率成分、混响衰减特性以及整体频率响应等。所以,通过测定冲激响应就可以得到一个系统的描述方案。

▲ 图2.2 冲激响应的构成示意图(来源网络)

▲ 图2.2 冲激响应的构成示意图(来源网络)

3.利用卷积实现音频处理

  刚刚提到,麦克风接收到的声音相当于原声经过特定环境系统处理后的声音。设 Y为麦克风接收到的声音, X为原声, H为系统传递函数,在 s域有:

Y ( s ) = H ( s ) ⋅ H ( x ) Y\left( s \right) = H\left( s \right) \cdot H\left( x \right) Y(s)=H(s)H(x)

  由于系统传递函数等于该系统的冲激响应,所以 H(s)可以通过实际测定冲激响应获得。由 s域和时域的运算关系,有:
y ( t ) = h ( t ) ∗ x ( t ) y\left( t \right) = h\left( t \right) * x\left( t \right) y(t)=h(t)x(t)

  所以,将安静环境下录制的音频与特定环境下录制的冲激响应相卷积,理论上就可以获得与在该环境下录制效果相近的音频,进而可以较和谐地整合进需要更改的素材中。

三、测试实践

1.测试方案制定

(1) 测试场景的选择

  综合实际条件与操作难易程度,将安静的录制环境选定为宿舍内部,特定的录制环境选定为浴室。由于浴室十分狭小、密闭性强,所以录制时会产生很强的回音混响,便于实验。

▲ 图3.1 特定的录制环境选定为浴室

▲ 图3.1 特定的录制环境选定为浴室

(2) 录制设备的选择

  录制设备选择为电容式 USB麦克风。相比手机,该麦克风带有一定的降噪效果,录制出的音频为单声道,便于后续的实验操作。

▲ 图3.2 实验使用的USB麦克风

▲ 图3.2 实验使用的USB麦克风

(3)测试音频的选择

  在浴室录制的音频文本为“清华大学自 02班”,在宿舍录制的音频文本为“自动化系”,目的是将其整合为“清华大学自动化系自 02班”。对于冲激信号,在测试了一系列的触发方式后,选定效果最好的打响指为信号来录制浴室的冲激响应。

2.实际测试流程

(1)在浴室录制音频

  在浴室录制“清华大学自 02班”音频,命名为“ bathvoice”。

(2)测定浴室的冲激响应

  在浴室打响指,测定浴室环境下的冲激响应,命名为“ pulse”。

(3)在宿舍录制音频

  在宿舍录制“自动化系”音频,命名为“ roomvoice”。

(4)音频波形检查

  用 GoldWave音乐软件检查音频是否为单声道,结果无异常,如下图所示:

▲ 图3.3 各音频文件的波形图,均为单声道

▲ 图3.3 各音频文件的波形图,均为单声道

  其中,各声音下方较窄的一栏为整体进度条,并非第二个声道,三个音频均为单声道。

(5) MATLAB卷积

  将各音频文件导入 MATLAB,如下图:

▲ 图3.4 导入MATLAB后音频文件,采样率fs为48000

▲ 图3.4 导入MATLAB后音频文件,采样率fs为48000

  将 roomvoice与 pulse进行卷积,命名为 ans1,即为卷积结果:

>> ans1 = conv(roomvoice,pulse)

四、测试结果分析

1.ans1效果分析

  试听 ans1,发现卷积结果杂音较重,且回响时间很长,效果并不完美。

>> sound(ans1, fs)
>> audiowrite('ans1.wav', ans1, 48000

  分析原因,用 plot命令绘制 roomvoice、pulse和 ans1的图象如下:

▲ 图4.1 RoomVoice,Pulse,Ans1波形

▲ 图4.1 RoomVoice,Pulse,Ans1波形

  观察图象,可以发现 roomvoice音频大约在 3.8秒处衰减到接近 0,ans1的波形则是在接近 4秒时才开始衰减;而且 ans1的前 4秒波形比 roomvoice要紧密很多,在弱音处也不接近 0,造成了杂音重和混响长的后果。为了解决问题,观察冲激响应 pulse,发现冲激开始时间不为零导致传输延迟,以及混响衰减斜率较小、本底噪声大导致卷积结果不理想。所以,接下来应对冲激响应 pulse进行改进。

2.冲激响应的截取

  将冲激响应 pulse的波形放大,如图:

▲ 图4.2 冲激响应放大后的图像

▲ 图4.2 冲激响应放大后的图像

  对照图 3-冲激响应构成示意图,观察到从直达声到达到早期衰减结束只占冲激响应中的一小部分,剩下的部分是混响建立和混响衰减。考虑到浴室系统对声音的影响主要在于一次反射、墙壁吸附和混响,以及录音设备本身的限制,对于冲激响应,应保留直达声到达 ~混响建立部分,将其余部分舍去。这样可以保证浴室环境系统本身对于声音的处理占大部分,尽可能减弱其他因素对声音的影响。

  处理方式为:首先重新导入 pulse.m4a并命名为 pulse2,双击打开 pulse2,将开头所有的 0值删去,如图:

▲ 图4.3 删去pulse2开够的所有0值

▲ 图4.3 删去pulse2开够的所有0值

  然后找到冲激响应开始大规模出现较小值的区域,将其之后的部分删去,例如下图的 22290~74304部分,为了达到最佳卷积效果,可能需要进行多次调节:

▲ 图4.4 删去pulse2后半段的较小值

▲ 图4.4 删去pulse2后半段的较小值

  用 plot命令得到处理后的冲激响应如下图:

▲ 图4.5 处理后的pulse2的前半部分放大波形

▲ 图4.5 处理后的pulse2的前半部分放大波形

3.ans2效果分析

  将 roomvoice与 pulse2进行卷积,命名为 ans2,导出为 wav文件并试听。

>> ans2 = conv(voomvoice,pulse2)
>> audiowrite('ans2.wav', ans2, 48000)
>> sound(ans2,fs)

  卷积效果非常好,接近在浴室中直接录制的 bathvoice的效果。 plot命令绘制波形图如下,可见混响长度得到了很好改善,杂音问题也得到了一定程度上的解决:

▲ 图4.6 ans2的波形

▲ 图4.6 ans2的波形

  接下来利用 Adobe Premiere Pro软件,对 bathvoice和 ans2音频进行拼接,模拟实际应用中对音频的修改替换,并导出为 final.mp3。另外将 bathvoice和未经处理的音频 roomvoice进行同样的拼接,导出为 normal.mp3作为对比。 final.mp3和 normal.mp3以及 Adobe Premiere Pro工程文件音频编辑 .prproj都已附在论文压缩包中。

▲ 图4.7 模拟实际应用中的拼接替换

▲ 图4.7 模拟实际应用中的拼接替换

4.处理后的音频和未处理的音频拼接对比

  试听 final.mp3和 normal.mp3,虽然处理后的音频也很容易听出来是拼接的,但相比未经处理的音频,处理后的拼接部分加入了模拟浴室环境的混响,给人一种“补充的部分也在浴室录制”的感觉,而未经处理的音频则没有这种效果。

  通过音频的对比,证明本文基于 MATLAB对音频进行的处理是有效的,能够减轻后期配音的违和感,达成自然过渡的效果。

五、实际应用和改进补充

1.一套可行的流程方案

  在外景的视频录制过程中,可以在每一个场景中都录制一个或多个冲激响应。如果后期需要修改配音,只要重新录好正确的音频,与对应场景处理过的冲激响应进行卷积,最后选择与原音频效果最接近的进行拼接,就可以实现自然过渡的效果。

2.实验中问题的补充说明

  对于本次论文中缺少实现条件的部分以及需要注意的部分总结如下:

(1) 尽量选择质量较高的录音设备

  本文的重点部分是信号的卷积,如果冲激响应接收不准,或是后期配音时的杂音过大,可能会严重影响卷积后音频的精度。本次实验中用的是 100元价位的电容麦克风,在尽量降低噪音(关门关窗)的前提下,于浴室和宿舍内部录制完成,虽然存在些底噪,但效果还算理想。如果能够采用更高级别的麦克风,在专业的录音室内录制,应该会有更好的效果。

(2) 后期配音时应注意麦克风距离

  根据笔者平日为视频配音的经验,配音时嘴部离麦克风的距离会在很大程度上影响录制
  的效果。在后期配音时,应尽量保证和麦克风间的距离与录制时一致,如果条件允许的话角度和相对位置也应尽量保持一致,这样才能达到最好的还原效果。本次实验中录制 roomvoice时受限于宿舍条件,麦克风的距离过近,导致处理后依然有较大的违和感。

(3) 完整读完一句话实现语气的还原

  冲激响应卷积能够处理音频,但不能够影响语气。所以在后期配音时尽量不要读单个的词语,而应将整句话完整读完,与原素材保证语气、音调一致,这样整合后的效果更好。本次实验中 roomvoice只录制了“自动化系”四个字,语气和原句“清华大学自 02班”差距较大,难以整合,实际应用中应避免。

(4) 借助其他软件调整响度等参数

  卷积会对音频的响度造成影响,通常表现为响度略微增大。在整合拼接时,可以用 MATLAB来调整卷积后音频的幅度,尽量与原音频吻合。也可以用 Adobe Premiere Pro等音视频处理软件来调整响度,本次实验中的 final.mp3中,三段音频分别增益为: +3.8dB、-3.3dB和+5.9dB。

▲ 图5.1 调整响度来达到更好的整合效果

▲ 图5.1 调整响度来达到更好的整合效果

参考文献:

[1] 信号与系统 2022春季学期第四次作业, https://zhuoqing.blog.csdn.net/article/details/123550045.
[2] 26班剧-Video-Export,https://www.bilibili.com/video/BV1da411r7uM.
[3] 声学概念解释——图解什么是脉冲响应, https://blog.csdn.net/qq_28350219/article/details/114096751.
[4] 变声原理:卷积和传递函数, https://www.csdn.net/tags/MtTaAgzsNTgzNTM1LWJsb2cO0O0O.html. [5]matlab处理音频信号 33, https://www.csdn.net/tags/OtTaAgysODM2MDUtYmxvZwO0O0OO0O0O.html.


● 相关图表链接:

猜你喜欢

转载自blog.csdn.net/zhuoqingjoking97298/article/details/125467258