混响音效解释

混响⾳效解释
1.1混响的作⽤与基本原理
混响器即是⼈为地给声⾳加上混响的效果。这样通过改变场景的混响时间,可以对⽐较“⼲”的信号进⾏再加⼯,增加空间感,提⾼声⾳的丰满度,同时可以制造⼀些特殊的声⾳效果,如回声等,通过改变混响声和直达声的⽐例,还可以体现声⾳的远近感和空间感。
电热画下图⼀直观的解释了混响的简单原理。为了研究的⽅便,声学上把混响分为⼏个部份,规定了⼀些习惯⽤语。混响的第⼀个声⾳也就是直达声(Direct sound),也就是源声⾳,在效果器⾥叫做 dry out (⼲声输出),随后的⼏个明显的相隔⽐较开的声⾳叫做“早反射声”(Early reflectedsounds),它们都是只经过⼏次反射就到达了的声⾳,声⾳⽐较⼤,⽐较明显,它们特别能够反映空间中的源声⾳、⽿朵及墙壁之间的距离关系。后⾯的⼀堆连绵不绝的声⾳叫做 reverberation。图五中,⽼师在讲台上讲课,学⽣在座位上听到的声⾳除了直接到达的声⾳(DIRETO)外,还有R1.R2.R3.R4等等这些反射声。可以看见不同的反射声达到⼈⽿的时间有着不同的延迟。所有这些声⾳的叠加才是⼈⽿听到的最终声⾳。然⽽实际上,这些反射声是⽆穷尽的,这样我们似乎就没办法得到混响声了。
然⽽如果我们假定源声⾳是⼀个脉冲,得到结果如图⼆。
图⼀
图⼆
得到的是⼀串简单的脉冲序列。这个混响特征是⽤脉冲得到的,声学上我们叫做Impulse Response脉冲反应,简称IR。经过混响的声⾳即可看作源声⾳与IR的卷积得到的结果。
依据IR的来源不同,混响效果器,象合成器⼀样分为三种类型:采样混响、“算法”混响、模拟合成混响。
1.2 混响分类
(⼀)采样 IR 混响
Sony ,Yamaha 都出过采样混响,价格不菲。软件的采样混响效果器有著名的 SonicFoundry 的 Acoustic Mirror ,还有Samplitude 的 Room Simulator 。采样混响的 IR ,全部是真实采样得来的 wave ⽂件。可以存放于任何存储器,例如硬盘、光盘、软盘等等。Sony ,Yamaha 的硬件采样混响器,⾥⾯也带有容量较⼤的存储器。采样混响的 IR 都是录⾳采样得来的,最简单的获取 IR 的⽅式是:在图⼀教师的位置放置⼀个⾳箱,学⽣的位置放置⼀个话筒。⾳箱播放⼀个脉冲,话筒进⾏录⾳。录到的声⾳就是 IR ,也就是这个房间的从讲台到学⽣座位的混响特征曲线。⽬前 Sony 、Samplitude 等所采⽤的具体⽅式是:在想要获得混响特征的地⽅,例如⾳乐厅,舞台上安置⾳箱(当
然会是极好的⾳箱),座位席中安置⽴体声话筒(极好的话筒)。然后播放⼀系列测试信号,这些信号以脉冲为主,各种速度的全频段正弦波连续扫描为辅,录得声⾳,然后经过⼀些计算得到 IR 。⽤这种采样⽅法得到的 IR ,极为真实。采样混响的 IR ,不但⼚家可以预置给你,你⾃⼰也可以根据⼚家提供的⼯具进⾏制作。因此从数量上来说是⽆限的。下图三就是⼀个真实的采样混响IR。
图三
(⼆)“算法”混响
这是最常见的混响效果器。⽬前⼤多数的数字混响效果器以及软件混响都是此类。这类效果器的本质是跟采样混响⼀样的,只是采样混响的 IR 可以⾃由更换,⽽“算法”混响其实也带有 IR ,但这些个 IR是⼚家固定好的,是⼀组组简易的脉冲序列,通过对这些脉冲序列进⾏调制和编辑控制,从⽽得到最终的混响效果。例如Waves 的 Renaissance Reberberator 带有⼏⼗个简易的脉冲序列,这些脉冲序列都产品⾃带的,不能更改。很多⼚家把这些的脉冲序列称之为“算法”,它们其实可以算作⼀种简化过后的IR 。许多硬件混响器也是如此,例如 Lexicon 和TC 的,原理都⼀样。⽽采样混响内带有可擦写存储器,可以⾃由更换 IR 。这类混响器虽然不带有真实 IR ,但是却提供了很多⽅法可以让你对它⾃带的原始的脉冲序列进⾏修改,例如可以让你拉长或者缩短这组脉冲序列(也就是拉⼤或者缩短脉冲之间的距离),这样可以模拟墙壁漫反射的效果,还提供了滤波器和 EQ ,前反射时间,等等,很
多控制。这些实际上都是对原始 IR 进⾏修改,以达到控制混响效果的⽬的。因此虽然它不带有真实 IR ,但通过对 IR 进⾏编辑,可以获得⽆数种混响效果。为了容量上的考虑,“算法”混响所带有的原始脉冲序列都作了很⼤的简化,不会象采样混响的 IR ⾥那样⽆数个脉冲有如滔滔江⽔连绵不绝。下图四是“算法”混响经过调节后最终得到的 IR 。将之与上⾯采样 IR 对⽐⼀下就可以知道区别了。
图四
(三)模拟合成 IR 混响
这类混响效果器并不带有IR 曲线,⽽是⽤模拟合成⽅法“临时”⽣成 IR 。⼏乎所有的⾮数字混响器都是这⼀类(包括所有的传统电⼦管混响效果器、调⾳台上的⾮数字混响等),还有少数软件混响效果器也是,例如 Spin Audio 的 RoomVerb M2 ,Samplitude 的 Track Reverb 等等。它会根据你提出的要求,⽐如空间⼤⼩,墙壁的吸⾳程度,等等,⽤它⾃⼰的计算⽅法(例如 Spin Audio 的“虚拟房间声学建模技术”),⽣成⼀个 IR ,并且有许多⽅法对IR 进⾏编辑控制,例如滤波,EQ 等。因此虽然 SpinAudio 的 RoomVerb M2 不带有任何 IR ,却也能模拟出⽆数种混响效果。
1.3混响的特征参数
下⾯以Waves的“⽂艺复兴混响器”来说明混响器的特征参数,如图五所⽰:
图五
⼤多数的混响效果器会有⼀些参数选项给你调节,现在就来讲讲这些参数具体是什么意思。
(1)衰减时间(Decay time)
也就是整个混响的总长度。不同的环境会有不同的长度,有以下⼏个特点:空间越⼤,decay 越长;反之越短。空间越空旷,decay 越长;反之越短。空间中家具或别的物体(⽐如柱⼦之类)越少,decay 越长;反之越短。空间表⾯越光滑平整,decay 越长,反之越短。因此,⼤厅的混响⽐办公室的混响长;⽆家具的房间的混响⽐有家具的房间长;荒⼭⼭⾕的混响⽐森林⼭⾕的混响长;⽔泥墙壁的空间的混响⽐布制墙壁的空间的混响长 …… ⼀般很多⼈喜欢把混响时间设得很长。其实真正的⼀些剧院、⾳乐厅的混响时间并没有我们想象得那么长。例如波⼠顿⾳乐厅的混响时间是 1.8 秒,纽约卡内基⾳乐厅是 1.7 秒,维也纳⾳乐厅是 2.05 秒。
(2)前反射的延迟时间(Predelay)
就是直达声与前反射声的时间距离。有以下⼏个特点:空间越⼤,Predelay 越长;反之越短。空间越宽⼴,Predelay 越长;反之越短。因此,⼤厅的 Predelay ⽐办公室的长;⽽隧道的空间虽然⼤,但是它很窄,所以 Predelay就很短。想要表现很宽⼤空旷的空间,就把 Predelay 设⼤⼀点。(3)wet out
压铸机料筒的设计
也就是混响效果声的⼤⼩。有以下⼏个特点: wet out 与空间⼤⼩⽆关,⽽只与空间内杂物的多少以及墙壁及物体的材质有关。墙壁及室内物体的表⾯材质越松软,wet out 越⼩;反之越⼤空间内物体越多,wet out 越⼩;反之越⼤墙壁越不光滑,wet out 越⼩,反之越⼤墙壁上越多坑坑凹
凹,wetout 越⼩,反之越⼤因此,挤满了⼈的车厢的混响就⽐空车要⼩得多;放满了家具的房间的混响就⽐空房间要⼩;有地毯的房间的混响⽐⽆地毯的⼩;森林⼭⾕的混响⽐荒⼭⼭⾕的混响要⼩。
(4)⾼低频截⽌(low cut / high cut)
这个参数在有些效果器⾥是以 EQ 的形式来表现的,例如 Waves 的 RVerb 。这项内容实际上跟现实情况没有太直接的联系,它只是为了我们做混响处理时声⾳好听⽽设计的。不过它也能表现⾼频声⾳在传播中损失⽐较厉害的现象。⼀般在做处理的时候,为了混响声的清晰和温暖,都会把低频和⾼频去掉⼀部份。只有在表现⼀些诸如“宇宙声”等科幻环境时,才把⾼低频保留。另外有些效果器也把这个叫做“color”(⾊彩)。例如 TC 的效果器就是color 。color 也就是“冷”和“暖”的感觉,⾼频就是冷,低频就是暖。所以这些效果器⽤颜⾊来表⽰⾼低频截⽌,暖⾊(红)表⽰混响声偏向低频,冷⾊(蓝)表⽰混响声偏向⾼频。补充:⾼低频截⽌实际上在现实中是不存在的,现实中的普遍现象是:低频声⾳的混响⽆论是声⾳⼤⼩还是衰减时间,都要⽐⾼频声⾳⼤。这是因为不同频率的声⾳由于波长不同,因此绕过障碍的能⼒不同,⾼频声⾳波长短,不容易绕过障碍,低频声⾳波长长,容易绕过
障碍。加上它们在空⽓中传播时的衰弱程度不同(频率越⾼越容易衰弱),被墙壁吸收的程度不同(频率越⾼越容易损失),所以不同频率的声⾳的混响时间和⼤⼩是不相同的。在真实世界中,在⼤多数中⼩空间⾥,越低的声⾳具有越长的混响时间,越⾼的声⾳具有越短的混响时间,⽽不可能做到反过来。如何做到降低低频混响是任何⼀个录⾳棚头疼的难题。唯独有⼀种情况,是低频混响⼩于⾼频混响的,那就是很⼤的空间,并且⾥⾯布满了由硬质材料制成的障碍和表⾯,⽐如采⽤硬塑料凳⼦和⽔泥墙壁地板的室内体育馆。
(5)衰减形状(Decay Shape)
有的混响器⾥提供了这个参数,⽤来控制混响的衰减形状。如下图六所⽰是⼏种常见衰减形状:
亮晶晶眼贴
图六
网络雷达无线接收器上图中第⼀个是我们最常⽤的线性衰减,第⼆个和第三个是EXP型衰减,其中第三个可以成为门式混响(Gate Reverb),第四和第五个是Reverse型衰减,通常⽤来制造⼀些特殊声⾳效果。
(6)散射度(Diffusion)
⼀般也称作Early Reflections Diffusion(早反射的散射度)。这些早反射是⽐较明显的反射声,它们之间的相互接近程度就是散射度。⼀般来说,墙壁越不光滑,反射声越多,相互之间越接近,散射度越⼤,
混响声连成⼀⽚;墙壁越不光滑,反射声越⼩,相互之间分得越开,散射度越⼩,混响声听起来⽐较接近回声,⽐较清晰。
然⽽对于⽤户来讲,这些参数既繁多⼜难以确定,调节得不好反⽽不如不加混响。这时最好的选择是套⽤软件中得预置参数,⽐如“Large Hall”就可以实现⼤厅的混响效果。对于UItrafunkfxReverbR3效果器,可以给出下⾯⼀组参数:Input 0.0 Low cut 145 Highcut 4.5 Predelay 160 Room size 100
Diffusiin 100 Bass Multiplier 2.6 Crossover116 Decay Time 1.8 High Damping 2.2 Dry 1.0 E.R. -3.5 Reverb -7
这⾥笔者认为在⾳效处理要求不⾼的时候Gold Wave软件以其⼩巧玲珑和调节简便的特点,有着很⼤的借鉴意义。其做出的混响效果基本令⼈满意,最重要的是它只有三个最重要的参数需要调节。然⽽其不⾜之处在于添加的可选场景混响效果较少。
1.4 混响算法
混响的算法实现通常通过听觉逼近⽅式实现,这种⽅式产⽣与⼈⽿听觉⽆差异的混响效果,着重重建混响的重点部分。最著名的混响算法是由贝尔实验室的Schroeder提出的,他提出的混响算法包含两个IIR滤波器:梳状滤波器和全通滤波器。其中梳状滤波器是⼀个带后向反馈的延时电路,⽽全通滤波器则是⼀个带前向反馈⽀路的梳状滤波器。原理图如下:
图七
通过并联的梳状滤波器模拟延时较⼤的回声,串联的全通滤波器模拟延时较⼩的回声。然⽽这种⽅法的缺点则是它模拟的混响中回声密度不够,对此可以通过增加滤波器个数等⽅法进⾏改进。
1.5混响的实现代码
参考
[cpp]
1. #define dsound_allpass_process(_allpass, _input) \
消息队列实现2. { \
3.    dsound_real_t output; \
4.    dsound_real_t bufout; \
5.    bufout = _allpass.buffer[_allpass.bufidx]; \
6.    output = bufout-_input; \
7.    _allpass.buffer[_allpass.bufidx] = _input + (bufout * _allpass.feedback); \
8.    if (++_allpass.bufidx >= _allpass.bufsize) { \
9.    _allpass.bufidx = 0; \
10.    } \
11.    _input = output; \
12. }
[cpp]
1. #define dsound_comb_process(_comb, _input, _output) \
2. { \
3.    dsound_real_t _tmp = _comb.buffer[_comb.bufidx]; \
4.    _comb.filterstore = (_tmp * _comb.damp2) + (_comb.filterstore * _comb.damp1); \
5.    _comb.buffer[_comb.bufidx] = _input + (_comb.filterstore * _comb.feedback); \
6.    if (++_comb.bufidx >= _comb.bufsize) { \
7.    _comb.bufidx = 0; \
8.    } \
9.    _output += _tmp; \
10. }
[cpp]
1. void dsound_revmodel_processreplace(dsound_revmodel_t * rev, dsound_real_t * in, dsound_real_t * left_out, dsound_real_t * right_out)
2. {
3.    int i, k = 0;
4.    dsound_real_t outL, outR, input;
5.
6.    for (k = 0; k < FLUID_BUFSIZE; ++k){
7.
8.        outL = outR = 0;
9.
10.        /* The original Freeverb code expects a stereo signal and 'input'
11.          * is set to the sum of the left and right input sample. Since
12.          * this code works on a mono signal, 'input' is set to twice the
13.          * input sample. */
14.        input = (2.0f * in[k] + DC_OFFSET) * rev->gain;
15.
16.        /* Accumulate comb filters in parallel */
17.        for (i = 0; i < numcombs; i++) {
18.          dsound_comb_process(rev->combL[i], input, outL);
19.          dsound_comb_process(rev->combR[i], input, outR);
20.        }
21.        /* Feed through allpasses in series */
22.        for (i = 0; i < numallpasses; i++) {
23.          dsound_allpass_process(rev->allpassL[i], outL);
24.          dsound_allpass_process(rev->allpassR[i], outR);
25.        }
26.
27.        /* Remove the DC offset */
28.        outL -= DC_OFFSET;
29.        outR -= DC_OFFSET;
30.
31.        /* Calculate output REPLACING anything already there */
电动油脂润滑泵32.        left_out[k] = outL * rev->wet1 + outR * rev->wet2;
33.        right_out[k] = outR * rev->wet1 + outL * rev->wet2;
34.    }
35.
36. }

本文发布于:2024-09-23 09:33:07,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/99021.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:混响   采样   效果   效果器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议