音频算法

Delay (延迟)

Delay效果能够在声音播放间隔一定时间后,再次播放同样的声音,以产生拖延和重复感。在本设计中,我们通过将输入信号录制到数字化的内存中,经过一段时间间隔后,将其读出并与原声叠加输出,从内存中读出的信号的一部分被反馈到输入端,使之再次进入延迟循环,这就是Delay效果的原理。Delay效果是最基本最简单的效果,同时它也是最常用最受欢迎的效果,它是后面要介绍的镶边、合唱、颤音、移相等效果的基础。

 

Delay效果有三个调节参数:延迟线、FB和mix,这三项参数的作用如下:
延迟线:这个参数决定了原声与反射声之间的时间间隔,即延迟长度;

 

FB:反馈,这个参数决定了从输出端返回到输入端信号量的大小,反馈系数越大其返回到输入端的信号量就越大,从理论上说,当反馈为1时,其延迟声音的信号量等于原声,声音可以无限延迟,但实际上,当FB=1时系统就会进入死循环,输出的是噪音,已经没有延迟的效果了,因此FB只能无限趋近于1,但不能大于或等于1。

 

mix:这个参数可以调节原声与延迟声音之间的平衡关系。

 

Tremolo(震音)

Tremolo效果给人的感觉就是声音在有规律地跳动。在本设计中,我们利用一个周期性变化的三角波逐点去调制输入信号的振幅,使得调制后信号的振幅能随着调制波的周期性变化而变化,从而使声音产生一种时大时小的效果,这就是Tremolo效果的原理,该效果是通过调幅来实现的,它也是后面介绍的镶边、合唱、颤音、移相等效果的基础。

 

该算法有两个调节参数:Depth(深度)和Rate(调制率)。这两个参数的具体作用如下:


Depth:为调制波的深度,它决定了信号的调制深度,比如输入信号的振幅为0—1,那么调制波的振幅可以设为(0—1)—1,值得注意的是,调制波的最大值应始终与输入信号的最大值相等,我们可以通过改变其最小值来实现深度的调节,否则处理后的声音就会非常不自然;


Rate:调制波的频率,该参数可以调节声音跳动的速度。

 

Vibrato (颤音)
很多对音乐不熟悉的人刚开始听Tremolo和Vibrato时,都会认为它们是同一个效果,其实他们是完全不相同的两种效果。虽然他们都是利用三角波对信号进行调制,但是Tremolo的调制波是作用在时域上,它是通过对信号的振幅调制而产生的震动效果;而Vibrato的调制波是作用在频域上,它是通过对信号的频率调制而产生的颤动效果。
多普勒效应指出,当波源移向观察者时频率会变高,即其相应的音调变高;而当波源远离观察者时频率会变低,即其相应的音调变低。当波源周期性地往返观察者时,观察者会听到一个音调时高时低的声音,会给人感觉那声音在颤动,这就是Vibrato产生的物理意义。在本设计中,我们先设定一段延迟信号的延迟线,也就相当于波源到观察者之间的距离,然后再用一个三角波信号去调制那段延迟线的长度,也就相当于波源周期性往返于观察者之间,从而实现了信号频率的周期性变化。

多普勒效应指出,当波源移向观察者时频率会变高,即其相应的音调变高;而当波源远离观察者时频率会变低,即其相应的音调变低。当波源周期性地往返观察者时,观察者会听到一个音调时高时低的声音,会给人感觉那声音在颤动,这就是Vibrato产生的物理意义。在本设计中,我们先设定一段延迟信号的延迟线,也就相当于波源到观察者之间的距离,然后再用一个三角波信号去调制那段延迟线的长度,也就相当于波源周期性往返于观察者之间,从而实现了信号频率的周期性变化。
该算法只需要调节三角波的depth(深度)和rate(调制率)两个参数就可以实现不同程度的效果,这两个参数的在该算法中的意义与Tremolo相同。

 

Chorus (合唱)
   Chorus效果是指在原来的声音基础上迭加一些由计算机产生的类似的声音样本,并和原声音迭加,使单个乐器听起来像多个乐器一样,更有层次感,它与我们平时所听的大合唱是同一原理。在本设计中,Chorus效果是在Vibrato效果的基础上迭加了一个原声而产生的。  
    在Chorus效果里,三角波的频率要比在Vibrato效果里的低,三角波的频率一般为0.1-2HZ,同时,该效果还需要预留一段1-30ms的延迟线,该段延迟线是不能被三角波调制的,这样是为了确保声音的变化范围满足声学中合唱的要求。


Flanger(镶边)
Flanger效果又称回旋效果,这种效果可以循环往复地夸张声音中的奇次谐波量与偶次谐波量,使声音的频谱结构发生周期性的变化,从而出现回旋、游移的声音效果。它是在Chorus效果的基础上迭加反馈信号而得到的,它需要调节Depth、Rate、FB和mix这四个参数,这四个参数的意义与上述效果算法相同。在该效果中,三角波的频率对音色的影响是最大的,当三角波频率较低时,即会产生如太空梦幻、悠悠钟声;当三角波频率较高时,即会产生如水波声或鸡哇音,通过调节其他参数,该算法也能产生强烈如喷火发动机的声效,音色变化较多。

Flanger算法原理图该算法的各项参数的要求与上述Delay算法一样,但调制波的频率一般为0.1-1HZ。


   将经移相处理的声音与原声混合迭加在一起,由于两个声音存在时间差(相位差),迭加后会在某些地方相加形成峰点,在某些地方互相抵消形成谷点,这就是Phase效果的原理。
在本设计中,我们是利用两个二阶全通滤波器去对信号进行移相处理,并利用三角波去调制这这两个全通滤波器的中心频率,再把原信号和经移相处理的信号叠加。
二阶全通滤波器的传递函数如下:
 为二阶全通滤波器的中心频率;
 为二阶全通滤波器的控制深度; 为信号的采样率。
   该算法有两个调节参数Rate和Depth,Rate是改变全通滤波器的中心频率的移动速度;Depth是改变全通滤波器的中心频率的移动范围。

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值