FFplay文档解读-20-音频过滤器五
前言
Github
地址:Github
简书地址:简书
专辑地址:FFplay专辑
26.41 chorus
为音频添加合唱效果。
可以使单个声音听起来像合唱,但也可以应用于乐器。
合唱类似于具有短延迟的回声效果,但是对于回声,延迟是恒定的,伴随合唱,使用正弦或三角调制来改变它。 调制深度定义了在延迟之前或之后播放调制延迟的范围。 因此,延迟的声音将听起来更慢或更快,即在原始声音周围调谐的延迟声音,就像在合唱中,其中一些声音略微偏离键。
它接受以下参数:
in_gain
设置输入增益。 默认值为0.4
。
out_gain
设置输出增益。 默认值为0.4
。
delays
设置延迟。 典型的延迟大约是40ms
到60ms
。
decays
设定衰变。
speeds
设定速度。
depths
设定深度。
26.41.1 示例
-
单个延迟:
chorus=0.7:0.9:55:0.4:0.25:2
-
两个延迟:
chorus=0.6:0.9:50|60:0.4|0.32:0.25|0.4:2|1.3
-
Fuller sounding chorus
有三个延迟:chorus=0.5:0.9:50|60|40:0.4|0.32|0.3:0.25|0.4|0.3:2|2.3|1.3
26.42 compand
压缩或扩展音频的动态范围。
它接受以下参数:
attacks
decays
每个通道的时间列表,以秒为单位,通过该通道,输入信号的瞬时电平被平均以确定其音量。攻击是指音量的增加,衰减指的是音量的减少。在大多数情况下,攻击时间(响应音频响亮)应该比衰减时间短,因为人耳比突然的软音频对突然响亮的音频更敏感。攻击的典型值是0.3
秒,衰减的典型值是0.8
秒。如果指定的攻击和衰减数量低于通道数,则最后设置的attack/decay
将用于所有剩余通道。
points
传递函数的点列表,以dB
为单位,相对于最大可能信号幅度。必须使用以下语法定义每个关键点列表:x0/y0|x1/y1|x2/y2|....
或x0/y0 x1/y1 x2/y2 ....
输入值必须严格按顺序递增,但传递函数不必单调递增。假设点0/0
但可以覆盖(0/out-dBn)
。传递函数的典型值为-70/-70|-60/-20|1/0
。
soft-knee
为所有关节设置曲线半径,以dB
为单位。默认为0.01
。
gain
设置以dB
为单位的附加增益,以应用于传递函数的所有点。这允许容易地调整总增益。它默认为0
。
volume
设置初始音量,以dB
为单位,在过滤开始时为每个通道设置。这允许用户最初提供标称电平,使得例如在压扩开始操作之前不对初始信号电平施加非常大的增益。最初安静的音频的典型值是-90 dB
。它默认为0
。
delay
设置延迟,以秒为单位。立即分析输入音频,但音频在馈送到音量调节器之前被延迟。指定大约等于attack/decay
时间的延迟允许滤波器有效地以预测模式而不是反应模式操作。它默认为0
。
26.42.1 示例
-
使用适合在嘈杂环境中聆听的安静和响亮的声道制作音乐:
compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2
带有耳语和爆炸声部分的音频的另一个例子:
compand=0|0:1|1:-90/-900|-70/-70|-30/-9|0/-3:6:0:0:0
-
当噪声低于信号时的噪声门:
compand=.1|.1:.2|.2:-900/-900|-50.1/-900|-50/-50:.01:0:-90:.1
-
这是另一个噪声门,这次是当噪声处于比信号更高的水平时(在某些方面,类似于静噪):
compand=.1|.1:.1|.1:-45.1/-45.1|-45/-900|0/-900:.01:45:-90:.1
-
2:1
压缩从-6dB
开始:compand=points=-80/-80|-6/-6|0/-3.8|20/3.5
-
2:1
压缩从-9dB
开始:compand=points=-80/-80|-9/-9|0/-5.3|20/2.9
-
2:1
压缩从-12dB
开始:compand=points=-80/-80|-12/-12|0/-6.8|20/1.9
-
2:1
压缩从-18dB
开始:compand=points=-80/-80|-18/-18|0/-9.8|20/0.7
-
3:1
压缩从-15dB
开始:compand=points=-80/-80|-15/-15|0/-10.8|20/-5.2
-
Compressor/Gate:
compand=points=-80/-105|-62/-80|-15.4/-15.4|0/-12|20/-7.6
-
Expander:
compand=attacks=0:points=-80/-169|-54/-80|-49.5/-64.6|-41.1/-41.1|-25.8/-15|-10.8/-4.5|0/0|20/8.3
-
硬限幅器为
-6dB
:compand=attacks=0:points=-80/-80|-6/-6|20/-6
-
硬限幅器为
-12dB
:compand=attacks=0:points=-80/-80|-12/-12|20/-12
-
硬噪声
gate
在-35 dB
:compand=attacks=0:points=-80/-115|-35.1/-80|-35/-35|20/20
-
软限制器:
compand=attacks=0:points=-80/-80|-12.4/-12.4|-6/-8|0/-6.8|20/-2.8
26.43 compensationdelay
补偿延迟线是基于度量的延迟,用于补偿麦克风或扬声器的不同位置。
例如,已经录制了吉他,其中两个麦克风放置在不同的位置。因为声波的前沿在正常条件下具有固定的速度,所以麦克风的相位可以变化并且取决于它们的位置和插入。当这些麦克风同步(synchronized
)时,可以实现最佳的声音混音。请注意,麦克风之间约30
厘米的距离使一个麦克风能够反相捕获另一个麦克风的信号。这使得最终的混音听起来很忧郁。此滤波器通过为每个麦克风轨道添加不同的延迟并使它们同步来帮助解决相位问题。
当将一个轨道作为基础并逐个同步其他轨道时,可以达到最佳结果。请记住,synchronization/delay
(同步/延迟)容差也取决于采样率。较高的采样率将提供更大的容差。
它接受以下参数:
mm
设置毫米距离。这是微调的补偿距离。默认值为0
。
cm
设置厘米距离。这是拧紧距离设置的补偿距离。默认值为0
。
m
设置米距离。这是硬距离设置的补偿距离。默认值为0
。
dry
设定dry
量。未处理(dry
)信号的数量。默认值为0
。
wet
设定wet
量。处理(wet
)信号的量。默认值为1
。
temp
设置摄氏温度。这是环境的温度。默认值为20
。
26.44 crossfeed
应用耳机交叉过滤器。
交叉馈送是混合立体声录音的左右声道的过程。 它主要用于减少低频的极端立体声分离。
目的是为听众产生更多类似扬声器的声音。
过滤器接受以下选项:
strength
设定交叉进给的强度。 默认值为0.2
。 允许范围为0
到1
。这为立体图像的侧面部分设置了低架滤波器的增益。 默认值为-6dB
。 当strength
设置为1
时,允许的最大值为-30db
。
range
设置声场宽度。 默认值为0.5
。 允许范围为0
到1
.这设置了低架滤波器的截止频率。 默认值在1550 Hz
附近被切断。 范围设置为1
时,截止频率设置为2100 Hz
。
level_in
设置输入增益。 默认值为0.9
。
level_out
设置输出增益。 默认值为1
。
26.45 crystalizer
简单算法扩展音频动态范围。
过滤器接受以下选项:
i
设置效果强度(默认值:2.0
)。 必须介于0.0
(声音未改变)到10.0
(最大效果)之间。
c
启用剪辑。 默认情况下已启用。
26.46 dcshift
对音频应用DC
转换。
这对于从音频中移除DC
偏移(可能由记录链中的硬件问题引起)是有用的。 DC
偏移的影响减小了净空,因此减小了体积。 astats
滤波器可用于确定信号是否具有DC
偏移。
shift
设置直流偏移,允许范围为[-1,1]
。 它表示移动音频的数量。
limitergain
可选的。 它应该具有远小于1
的值(例如0.05
或0.02
)并且用于防止削波。
26.47 drmeter
测量音频动态范围。
在非常动态的材料中发现14
或更高的DR
值。 在过渡材料中发现8
至13
的DR
。 任何少于8的东西都具有非常差的动态并且非常压缩。
过滤器接受以下选项:
length
设置用于将音频拆分为相等长度段的窗口长度(以秒为单位)。 默认值为3
秒。
26.48 dynaudnorm
动态音频规范化器。
该滤波器将一定量的增益应用于输入音频,以使其峰值幅度达到目标电平(例如0dBFS
)。 然而,与更"simple"
的归一化算法相比,动态音频归一化器动态地重新调整输入音频的增益因子。 这允许将额外增益应用于音频的"quiet"
部分,同时避免失真或削减"loud"
部分。 换句话说:动态音频规范器将"even out"
静音和响亮部分的音量,在每个部分的音量达到相同目标水平的意义上。 但请注意,动态音频规范器无需应用"dynamic range compressing"
即可实现此目标。 它将在音频文件的每个部分内保留100%
的动态范围*。
f
设置帧长度(以毫秒为单位)。 范围从10
到8000
毫秒。 默认值为500
毫秒。 Dynamic Audio Normalizer
以小块(称为帧)处理输入音频。 这是必需的,因为峰值幅度对于单个样本值没有意义。 相反,我们需要确定连续的样本值序列的峰值幅度。 虽然"standard"
标准化器只使用完整文件的峰值幅度,但动态音频标准化器会为每个帧单独确定峰值幅度。 帧的长度以毫秒为单位指定。 默认情况下,动态音频规范器使用500
毫秒的帧长度,已发现该帧长度对大多数文件都有好处。 请注意,将根据各个输入音频文件的采样率自动确定样本数的确切帧长度。
g
设置高斯滤波器窗口大小。在3
到301
的范围内,必须是奇数。默认值为31
。动态音频规范器最重要的参数可能是高斯平滑滤波器的窗口大小。过滤器的窗口大小以帧为单位,以当前帧为中心。为简单起见,这必须是奇数。因此,默认值31
考虑当前帧,以及前面的15
帧和后续的15
帧。使用更大的窗口导致更强的平滑效果,因此导致更少的增益变化,即更慢的增益适应。相反,使用较小的窗口导致较弱的平滑效果,因此导致更多的增益变化,即更快的增益适应。换句话说,增加此值越多,动态音频规范化器的行为就越像"traditional"
规范化过滤器。相反,减少此值的次数越多,动态音频规范器的行为就像动态范围压缩器。
p
设置目标峰值。 这指定了标准化音频输入的最高允许幅度级别。 该滤波器将尽可能接近目标峰值幅度,但同时也确保归一化信号永远不会超过峰值幅度。 帧的最大局部增益因子直接由目标峰值幅度施加。 默认值为0.95
,因此剩余空间为5%*
。 不建议超过此值。
m
设置最大增益系数。范围从1.0
到100.0
。默认值为10.0
。动态音频标准化器确定每个输入帧的最大可能(本地)增益因子,即不会导致削波或失真的最大增益因子。最大增益系数由帧的最高幅度样本确定。但是,动态音频校准器还将帧的最大增益因子限制为预定的(全局)最大增益因子。这样做是为了避免"silent"
或几乎静音帧中的过多增益因子。默认情况下,最大增益系数为10.0
。对于大多数输入,默认值应该足够,通常不建议增加此值。但是,对于总体积水平极低的输入,可能需要允许更高的增益因子。但请注意,动态音频规范器不会简单地应用"hard"
阈值(即,高于阈值的截止值)。相反,将应用“sigmoid"
阈值函数。这样,增益因子将平滑地接近阈值,但绝不会超过该值。
r
设置目标RMS
。范围从0.0
到1.0
。默认值为0.0
- 已禁用。默认情况下,Dynamic Audio Normalizer
执行"peak"
标准化。这意味着每帧的最大局部增益因子(仅)由帧的最高幅度样本定义。这样,可以尽可能地放大样本而不超过最大信号电平,即没有削波。但是,动态音频规范器也可以选择考虑帧的均方根,缩写为RMS
。在电气工程中,RMS
通常用于确定时变信号的功率。因此,认为RMS
是"perceived loudness"
的更好近似,而不仅仅是观察信号的峰值幅度。因此,通过将所有帧调整到恒定的RMS
值,可以建立均匀的"perceived loudness"
。如果已指定目标RMS
值,则将帧的局部增益因子定义为将导致该RMS
值的因子。但请注意,最大局部增益因子仍然受到帧的最高幅度样本的限制,以防止削波。
n
启用通道耦合。 默认情况下已启用。 默认情况下,Dynamic Audio Normalizer
将以相同的量放大所有通道。 这意味着相同的增益因子将应用于所有信道,即最大可能的增益因子由"loudest"
信道确定。 然而,在一些记录中,可能发生不同信道的音量不均匀,例如, 一个频道可能比另一个频道"quieter"
。 在这种情况下,此选项可用于禁用通道耦合。 这样,每个通道将独立确定增益因子,这取决于各个通道的最高幅度样本。 这允许协调不同通道的音量。
c
启用直流偏置校正。默认情况下禁用。音频信号(在时域中)是一系列样本值。在Dynamic Audio Normalizer
中,无论原始输入格式如何,这些样本值都表示在-1.0
到1.0
范围内。通常,音频信号或“波形”应以零点为中心。这意味着如果我们计算文件中或单个帧中所有样本的平均值,那么结果应该是0.0
或至少非常接近该值。然而,如果在正方向或负方向上平均值与0.0
存在显着偏差,则将其称为DC
偏置或DC
偏移。由于明显不希望出现直流偏置,动态音频标准化器提供可选的直流偏置校正。启用直流偏置校正后,动态音频校准器将确定每个输入帧的平均值或"DC correction"
偏移,并从所有帧的采样值中减去该值,以确保这些采样再次以0.0为中心。而且,为了避免帧边界处的"gaps"
,DC
校正偏移值将在相邻帧之间平滑地插值。
b
启用备用边界模式。 默认情况下禁用。 动态音频规范器考虑了每帧周围的某个邻域。 这包括前面的帧以及后续帧。 但是,对于位于音频文件的最开头和最末端的"boundary"
帧,并非所有相邻帧都可用。 特别是,对于音频文件中的前几帧,前面的帧是未知的。 并且,类似地,对于音频文件中的最后几帧,后续帧是未知的。 因此,出现了对于"boundary"
区域中的丢失帧应该假设哪些增益因子的问题。 Dynamic Audio Normalizer
实现了两种模式来处理这种情况。 默认边界模式假定丢失帧的增益因子恰好为1.0
,从而分别在输入的开始和结束处产生平滑的"fade in"
(淡入
)和"fade out"
(淡出
)。
s
设置压缩系数。范围从0.0
到30.0
。默认值为0.0
。默认情况下,Dynamic Audio Normalizer
不应用"traditional"
压缩。这意味着不会修剪信号峰值,因此整个动态范围将保留在每个局部邻域内。但是,在某些情况下,可能需要将Dynamic Audio Normalizer
的规范化算法与更"traditional"
的压缩相结合。为此,Dynamic Audio Normalizer
提供可选的压缩(阈值处理)功能。如果(且仅当)启用了压缩功能,则在实际归一化处理之前,所有输入帧将由软拐点阈值处理功能处理。简而言之,阈值函数将修剪幅度超过某个阈值的所有样本。但是,动态音频规范器不会简单地应用固定的阈值。相反,将针对每个单独的帧调整阈值。通常,较小的参数导致较强的压缩,反之亦然。建议不要使用低于3.0
的值,因为可能会出现听觉失真。
26.49 earwax
使音频更容易在耳机上听。
此滤波器为44.1kHz
立体声(即音频CD
格式)音频添加‘cues’
,以便在听到耳机时,立体声图像从头部(耳机标准)移动到收听者的外部和前方(扬声器标准))。
从SoX
移植。