该存储库是根据 Joshua D. Reiss 和 Andrew P. McPherson 所著的《音频效果:理论、实现和应用》一书中的解释实现的音频效果插件的集合,并以该书提供的代码为例,其中有贡献以及 Brecht De Man 等人的实现。
实现的音频效果有:
模板时域实现了带有线性和对数滑块、切换开关和组合框的通用图形用户界面。该项目引入了音频参数的自定义类,它封装了在音频处理器和通用编辑器 (GUI) 中添加、设置和使用自动化插件参数的大量复杂性。该插件不会对输入应用任何特别有趣的处理,它只是时域音频处理效果的模板项目。
模板频域实现了短时傅立叶变换类。该插件不对输入进行任何处理,它只是将输入块转换为频域,然后使用重叠相加方法转换回时域。该插件用作频域音频处理效果的模板项目。
Delay使用圆形延迟线实现带有反馈和混合控制的基本延迟。它使用简单的线性插值来实现分数延迟时间。
Vibrato使用低频振荡器 (LFO) 来调制输入信号的延迟并模拟音调的周期性变化。该插件引入了各种类型的样本插值。
镶边模拟基于延迟的音频效果,其中输入信号的副本以可变的延迟时间延迟,并与原始声音混合,从而产生这种经典音频效果特有的“嗖嗖”声音。
Chorus模拟不同音乐家同时演奏同一首曲子时发生的现象,即,它创建音调和时间略有变化的输入信号的副本,使单一源的声音就好像它是许多单独的录音一样。
Ping-Pong Delay是基本延迟的立体声版本。在乒乓延迟中,延迟信号在左通道和右通道之间反弹。
参数均衡器实现各种类型的参数滤波器(低通、高通、低架、高架、带通、带阻和峰值/陷波)。可以根据截止频率、品质因数(带宽)和增益来选择和调整一阶和二阶滤波器。
哇音是一种音频效果,可为输入声音注入类似语音的字符。它可以在手动模式下使用,其中谐振低通、带通或峰化/陷波滤波器的截止频率可通过滑块更改,也可以在自动模式下使用,其中谐振低通、带通或峰值/陷波滤波器的截止频率可在自动模式下使用。滤波器由 LFO、输入信号的包络或两者的组合控制。
Phaser使用级联配置的全通滤波器向输入信号引入相移。当滤波后的信号与原始信号混合时,这些偏移会在频谱中产生陷波。移相器产生与镶边类似的效果,但对凹口的位置可能有更多的控制。
Tremolo使用 LFO 来调制输入信号的幅度。这可以模拟信号电平的微小变化,或者将单个持续音符转变为一系列快速重复。
环形调制是将输入信号与周期性载波相乘的结果(类似于颤音,但频率更高)。它是一种非线性音频效果,会产生非常不和谐的声音。
压缩器/扩展器将四个音频处理器合二为一(压缩器、限制器、扩展器和噪声门)。压缩器/限制器配置通过衰减增益高于阈值的输入声音部分来减小信号的动态范围。扩展器/噪声门配置通过衰减增益低于阈值的输入声音部分来增加动态范围。
失真对输入声音应用非线性变换,将其增益增加到极限,从而产生刺耳、模糊或沙哑的声音。可以选择不同的非线性函数,并且可以单独控制输出增益以恢复原始响度水平。高架滤波器也可用于控制输出声音的音调。
Robotization/Whisperization基于相位声码器算法实现两种音频效果。该插件旨在与语音一起使用。机器人化对信号应用恒定的音调,同时保留共振峰,结果听起来像机器人的声音。耳语消除了任何音高感,同时保留了共振峰,结果听起来应该像有人在耳语。
音调变换使用相位声码器算法改变输入信号的音调,而不改变持续时间。它是一种实时实现,允许连续且平滑地改变音调变化参数。
平移改变左右两个通道之间声源的明显位置。它可以用于两种模式,第一种模式使用优先效应和正切定律来调整左右信号的时间延迟和增益,有利于通过假设标准立体声布局的扬声器进行再现。第二种模式使用头部的球形模型来估计耳间时间差(ITD)和耳间电平差(ILD),有利于通过耳机再现。
这些插件是使用 JUCE 实现的,JUCE 提供了一个框架,用于为各种平台(Windows 和 macOS)构建多种格式(VST、AU、RTAS、AAX 等)以及独立应用程序的音频插件。您可以在终端中运行以下命令来克隆此存储库并签出用于构建所有项目的最新版本的 JUCE:
git clone https://github.com/juandagilc/Audio-Effects.git
cd Audio-Effects/
git submodule update --init
胡安·吉尔 (Juan Gil) 的代码 https://juangil.com/。版权所有 © 2017-2020 胡安·吉尔。
该程序是自由软件:您可以根据自由软件基金会发布的 GNU 通用公共许可证(许可证的第 3 版)或(由您选择)任何更高版本的条款重新分发和/或修改它。
分发此程序的目的是希望它有用,但不提供任何保证;甚至没有适销性或特定用途适用性的默示保证。有关更多详细信息,请参阅 GNU 通用公共许可证。
您应该随该程序一起收到 GNU 通用公共许可证的副本。如果没有,请参阅 https://www.gnu.org/licenses/。