美文网首页
Unity 混音器(Audio Mixer)

Unity 混音器(Audio Mixer)

作者: 不正经的搬砖工 | 来源:发表于2023-08-28 11:56 被阅读0次

1、音频组(Audio Group)

(1)声音分类

可以创建不同的音频组来进行声音分类,一般游戏中创建3个组:

Music Group:音乐组,一般包括背景音乐等;

Sound Group:音效组,音效又可以细分:功能音效、环境音效、附属音效、事件音效等;

Voice Group:声音组,一般剧情对话等可归为这一组

(2)音频组属性

      a、音高(Pitch)

音高由振动频率决定

      b、衰减(Attenuation)

      Volume,可以控制整个音频组所有声音的大小,volume使用分贝表示的(db)。

分贝定义为测量值和参考值的对数比率,这个比值又分为两种:

【1】功率之比:声功率(W),声强(W/m^2),电功率,电强等

【2】幅值之比:(声压(Pa),电压(V),加速度(m/s^2),温度等)

针对场量的幅值,通常使用平方之比

在声学中,声音的强度定义为声压(Acoustic Pressure),声压的单位为帕斯卡(Pa),这是一个场量。计算分贝值时采用 20 微帕斯卡为参考值,这一参考值是人类对声音能够感知的阈值下限。因此使用声压计算分贝时使用下述版本的公式如下,其中的Pref就是标准参考声压值 20 微帕。

这样算出来的分贝值被叫做声压级(Sound Pressure Level),缩写为 SPL。我们一般用分贝表示声音大小的时侯,指代的就是这个声压级,即 dB(SPL)。

在计算机里,传统上对声音音量的调节,一般是对音量的减益,即将原始音量减小多少。比如 Unity 这里的 AudioMixer,显示的音量区间就是

[-80db,20db],其中[-80db,0db]就是最常用的减益的部分,一般滑动条调节的就是这个范围;(0db,20db]则是不常用的增益部分。

但是实际调节中,并不是将滑动条的值(即(0.0,1.0]的范围,注意左边是开区间)线性映射到声压级 db(SPL) 上,而是去调节(Prms/Pref)这个比值。代码转换如下:

private float Remap01ToDB(float x) {

    if (x <= 0.0f) x = 0.0001f;

    return Mathf.Log10(x) * 20.0f;

}

      c、效果(Effect)

          【1】发送单元(Send Unit)

分发本组的音频信号流,可与接收单元或Duck Volume配合使用。

          【2】接收单元(Receive Unit)

      直接获取从发射单元发送的音频信号,与本组音频信号混合。

  【3】衰减音量单元(Duck Volume)

通过发送单元发送的音频信号创建旁链压缩,控制本组音频信号的衰减。一般在游戏中,当播放对话等人声时,可触发压缩器,压缩背景音乐及音效,从而突出人声更便于辨别。

Duck Volume参数释义如下:

{1} Threshold

阈值,只有大于该值的音频信号才会做压缩处理;

{2} Ratio

压缩比,一般ratio与Threshold成正比,阈值越大压缩比越大,阈值越小压缩比越小;

{3} Attack Time

建立时间,为了防止乐器自然的起振过程(音头)被抑制,一个较长的建立时间就可以解决这个问题。

长建立时间适用情况:

I、迅速发声的打击乐,如军鼓、overhead。军鼓所发出的敲击声,大多数维持时间不会超过500ms,一般100ms左右就可以保留住全部完整的音头了;

II、增益衰减量越大,建立时间越长,让压缩更平滑;

短建立时间适用情况:

I、钢琴、弦乐等持续发音的乐器,如果使用长建立时间会改变它们的乐器包络,从而让乐器的音色发生变化,造成失真;

中等建立时间适用情况:

I、处理人声时,较长的建立时间会导致人声在每一句开头产生电平上的爆破音;建立时间过短又会削弱人声的动态。找一个折中的建立时间(5~10ms)来解决这个问题,或者干脆就提高门限只压峰值,或降低压缩比减小压缩程度等办法处理。

建立时间的快慢带来的问题:

I、快速的建立时间会导致低频信号失真,低频信号周期长建立时间快会直接改变低频信号的包络线条,造成失真;

II、高频信号周期短,较长的建立时间会消弱高频信号。

{4} Release Time

释放时间

释放时间设置注意以下两点:

I、释放时间与建立时间相反,释放时间越长,原始衰减部分保留的越少。所以对于需要保持住衰减过程的乐器,释放时间要短,比如人声,钢琴,弦乐等持续发音乐器;

II、对于迅速发声的打击乐,释放时间的设定完全根据歌曲本身的速度设定。

释放时间的长短带来的问题:

I、与建立时间一样,短的释放时间会导致低频失真,长的释放时间会导致高频失真,所以处理低频乐器可以适当延长释放时间,处理高频乐器适当缩短释放时间。

II、抽吸效应就是由短的释放时间来实现的,这很好理解,声音正被压着然后突然松开,音量的迅速变化就很容易产生抽吸效果。

III、短的释放时间可以产生更明显的压缩效果。(道理和抽吸一样)

{5} Make-up Gain

增益补偿,压缩之后的音频会统一加一个增益值。

信号被压缩后,其响度听上去就会变低,增益补偿就会对输出信号进行简单的电平提升,对衰减的响度进行补偿。

注意:保证输入信号和输出信号响度一致是非常重要的,如果对压缩过的信号和未压缩的信号进行对比听,会觉得压缩过的信号并没有未压缩的信号好,多半是因为没有进行增益补偿,保持前后响度一之致的原因。

{6} Knee

拐点,压缩器开始压缩的点。

硬拐点(Hard Knee):电平在无压缩和有压缩之间会形成一个鲜明、锋利的一个分界点;

软拐点(Soft Knee):在无压缩和有压缩之间形成圆滑的过渡点。

软拐点可以让压缩效果不那么明显,从而允许我们进一步增加压缩比,适合像人声这种更圆滑的压缩;硬拐点则更适合凸显压缩的效果,比如凸显鼓组冲击力的压缩。

{7} Sidechain Mix

侧链混合,该值调节范围0~100%,越小受侧链信号影响越大,越大受侧链信号影响越小。

【4】低通滤波器(LowPass)

【5】高通滤波器(HighPass)

【6】回声(Echo)

【7】镶边效果器(Flange)

【8】失真(Distortion)

【9】Normalize

【10】参数均衡器(ParamEQ)

【11】音高偏移器(Pitch Shifter)

Audio Group总体的Pitch是通过改变播放速度改变音高的,而Pitch Shifter在不改变速度的情乱改变音高,但代价就是高CPU消耗。

【12】合唱效果器(Chorus)

【13】压缩器(Compressor)

【14】混响效果(SFX Reverb)

【15】低通滤波器简化版(Lowpass Simple)

【16】高通滤波器简化版(Highpass Simple)

2、SnapShot

快照,记录Audio Group的状态,一般用于切换场景背景音乐的切换。

参考:

1、https://zhuanlan.zhihu.com/p/591725347?utm_id=0

2、https://zhuanlan.zhihu.com/p/22821588

3、https://blog.csdn.net/yupu56/article/details/75212660

4、https://zhuanlan.zhihu.com/p/258601895

5、https://zhuanlan.zhihu.com/p/258606242

相关文章

网友评论

      本文标题:Unity 混音器(Audio Mixer)

      本文链接:https://www.haomeiwen.com/subject/bmygmdtx.html