`

音频算法

 
阅读更多

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是改变全通滤波器的中心频率的移动范围。

 

分享到:
评论

相关推荐

    2014海康威视视音频算法工程师笔试

    【海康威视视音频算法工程师笔试解析】 在2014年的海康威视视音频算法工程师笔试中,考生可能会遇到一系列与视频处理、音频编码、信号处理以及相关技术的专业问题。这些试题旨在评估候选人在相关领域的理论知识、...

    dsp通用音频算法研究

    ### DSP通用音频算法研究 #### 一、引言 随着数字信号处理器(DSP)技术的发展,DSP已经成为现代信号处理领域不可或缺的一部分。DSP芯片因其高效能处理能力而在多种应用中发挥着重要作用,特别是在音频处理领域。DSP...

    AUDIO LIB_波束语音_dsp_AudioLib效果_ADI音频算法库_ADI音频算法_

    在本文中,我们将深入探讨"AUDIO LIB_波束语音_dsp_AudioLib效果_ADI音频算法库_ADI音频算法_"这一主题,这是一个专注于利用ADI(Analog Devices, Inc.)的数字信号处理器(DSP)技术实现高效音频处理的库。...

    ADI_SHARC_DSP_音频算法标准模块库.rar

    ADI SHARC DSP音频算法标准模块库是为音频处理专业领域设计的一个强大资源,它由Analog Devices Inc.(ADI)提供,专为SHARC系列数字信号处理器(DSP)设计。这个库包含了各种预编程的音频处理算法,可以极大地简化...

    海康威视笔试视音频算法笔试题

    不骗人,整理的一套试卷的全部题目~2017年哒

    数字音频的音效算法实现_田海津.rar_数字音效_数字音频算法_音频分析_音频分析算法_音频算法

    本资料由田海津提供的"数字音频的音效算法实现_田海津.caj"文件,深入探讨了这一主题,对于理解和应用数字音频算法有着极大的帮助。 1. **数字音频基础**:数字音频是通过采样和量化模拟音频信号得到的,遵循...

    AMBE转PCM音频算法

    AMBE(Adaptive Multi-Rate Codec)是一种专为数字对讲通信系统设计的高效音频编码技术,主要用于压缩语音信号,以适应低带宽环境。在DMR(Digital Mobile Radio)协议中,AMBE编码被广泛采用,以实现高质量、低延迟...

    音频dsp实验5音频算法 1

    【音频DSP实验5:音频算法1】 实验的目标是掌握数字信号处理中的基本音频算法,包括FIR(Finite Impulse Response,有限冲激响应)滤波器、IIR(Infinite Impulse Response,无限冲激响应)滤波器以及快速傅里叶...

    音频实验代码-音频算法.zip

    本压缩包“音频实验代码-音频算法.zip”包含的资源显然专注于这个主题,提供了详细的音频算法实现,适用于学习、研究或开发用途。以下将详细介绍其中可能涵盖的知识点。 1. **数字音频基础**: - 采样率:音频数据...

    IIR.rar_IIR c++_IIR滤波器 ccs_ccs滤波器iir_tms320vc5416_音频算法IIR

    总的来说,这个压缩包提供了基于C++的IIR滤波器在TMS320VC5416 DSP上的实现,通过CCS进行开发,适合对数字信号处理、音频算法有研究需求的工程师或学生参考学习。用户可以通过分析和运行这些代码,理解IIR滤波器的...

    sound-algorithm.rar_数字 音效 C_数字音频算法_音效_音效 算法

    数字音频的音效算法实现_田海津写的,包含目前常用算法的实现原理

    音频 eq算法, 采用IIR梳状滤波器,IIR滤波器, 傅里叶逆转换,声音增益gain,Q值, 滤波类型,带通.zip

    音频均衡器(EQ)算法是音频处理领域中的一个重要概念,用于调整音频信号的不同频率成分,以改善音质或适应特定的听音环境。在给定的压缩包中,包含了一系列与音频EQ算法相关的主题,如IIR梳状滤波器、IIR滤波器、...

    c语言 sbc 音频编解码算法

    SBC(Subband Coding,子带编码)是一种广泛应用于蓝牙音频传输的低复杂度、高效能的音频编解码算法。在C语言中实现SBC编解码算法,可以为各种嵌入式设备和移动平台提供高质量的音频传输解决方案。下面我们将深入...

    视频和音频连接算法的实现

    在IT行业中,视频和音频连接算法的实现是流媒体技术的核心组成部分,特别是在开发实时通信应用时,如在线会议、远程教育、游戏语音聊天等。本文将深入探讨如何使用C#编程语言来实现实时的视频和音频连接。 首先,...

    音频数据处理常用算法

    根据提供的文件信息,本文将详细解释音频数据处理中两种重要的算法——快速傅立叶变换(Fast Fourier Transform, FFT)与功率谱分析。 ### 快速傅立叶变换(FFT) #### 定义与原理 快速傅立叶变换是一种高效的...

    A-Law算法实现PCM压缩 A律算法 uLaw PCM音频压缩

    A-Law算法实现PCM压缩,用于把16bit的wav音频数据压缩成8bit,能大大的降低传输带宽。压缩噪音小,非常高效的一个算法。

    音频分离应用

    在本应用中,其突出特点在于能够高效地完成音频分离任务,相比传统的音频处理算法,它具有更高的性能和效率。 音频信号处理是一个复杂的过程,涉及到信号的数字化、频谱分析、时频分析等步骤。在音频分离中,主要...

    matlab分时代码-dsptools一个实用程序模块,可为python实现各种dsp音频算法.zip

    音频应用领域中测试的定义可能不清楚(例如,定义测试以确定信号源分离算法是否成功,可能会很有挑战性),但是设计可靠的测试以验证新产品的正确性是必不可少的代码。 如果您想为这个项目提供帮助,并且对高质量的...

Global site tag (gtag.js) - Google Analytics