torchaudio.functional¶
用于执行常见音频作的函数。
光谱图¶
-
torchaudio.functional.
spectrogram
(波形:手电筒。张量、pad:int、window:torch 的 intent 和。Tensor, n_fft: int, hop_length: int, win_length: int, power: Optional[float], normalized: bool) → torch.张量[来源]¶ 从原始音频信号创建频谱图或一批频谱图。 频谱图可以是仅幅度的,也可以是复数的。
- 参数
- 返回
维度 (..., freq, time),freq 是 和 的编号 傅里叶分箱,时间是窗口跃点数 (n_frame)。
n_fft // 2 + 1
n_fft
- 返回类型
张肌
amplitude_to_DB¶
create_fb_matrix¶
-
torchaudio.functional.
create_fb_matrix
(n_freqs:int、f_min:float、f_max:float、n_mels:int、sample_rate:int、norm:Optional[str] = None)→ torch。张量[来源]¶ 创建频次 bin 转换矩阵。
- 参数
- 返回
大小为 (, ) 的三角滤波器组 (fb 矩阵) 表示要高亮/应用于 x 的 Frequencys 数量 FilterBank 的数量。 每列都是一个 filterbank,因此假设有一个矩阵 A size (..., ) 时,应用的结果将为 。
n_freqs
n_mels
n_freqs
A * create_fb_matrix(A.size(-1), ...)
- 返回类型
张肌
create_dct¶
mu_law_encoding¶
mu_law_decoding¶
complex_norm¶
角度¶
磁相¶
phase_vocoder¶
-
torchaudio.functional.
phase_vocoder
(complex_specgrams:Torch。Tensor、rate:float、phase_advance:torch。Tensor) → torch 的 Tensor 中。张量[来源]¶ 给定一个 STFT 张量,在不修改音高的情况下通过 的因子 。
rate
- 参数
complex_specgrams (Tensor) – 维度 (..., freq, time, complex=2)
rate (float) - 加速因子
phase_advance (Tensor) – 每个 bin 中的预期相位提前。的维度 (freq, 1)
- 返回
维数为 (..., freq, ceil(time/rate), complex=2) 的复数规格符 Stretch
- 返回类型
张肌
- 例
>>> freq, hop_length = 1025, 512 >>> # (channel, freq, time, complex=2) >>> complex_specgrams = torch.randn(2, freq, 300, 2) >>> rate = 1.3 # Speed up by 30% >>> phase_advance = torch.linspace( >>> 0, math.pi * hop_length, freq)[..., None] >>> x = phase_vocoder(complex_specgrams, rate, phase_advance) >>> x.shape # with 231 == ceil(300 / 1.3) torch.Size([2, 1025, 231, 2])
过滤器¶
-
torchaudio.functional.
lfilter
(波形:手电筒。Tensor,a_coeffs:torch。Tensor,b_coeffs:torch。Tensor,clamp: bool = True) → torch。张量[来源]¶ 通过评估差分方程来执行 IIR 滤波器。
- 参数
waveform (Tensor) - 维数为 的音频波形。必须规范化为 -1 到 1。
(..., time)
a_coeffs (Tensor) – 维数 的差集方程的分母系数。 较低的延迟系数在前,例如 . 必须与 b_coeffs 相同(必要时填充 0)。
(n_order + 1)
[a0, a1, a2, ...]
b_coeffs (Tensor) – 维数的分子差分方程 。 较低的延迟系数在前,例如 . 必须与 a_coeffs 相同(必要时用 0 填充)。
(n_order + 1)
[b0, b1, b2, ...]
clamp (bool, optional) – 如果 ,则将输出信号限制在 [-1, 1] 范围内(默认:
True
True
)
- 返回
维数为 的波形。
(..., time)
- 返回类型
张肌
双二阶¶
-
torchaudio.functional.
biquad
(波形:手电筒。张量、b0:浮点、b1:浮点、b2:浮点、a0:浮点、a1:浮点、a2:浮点)→ torch。张量[来源]¶ 执行输入张量的双二阶滤波器。初始条件设置为 0。https://en.wikipedia.org/wiki/Digital_biquad_filter
lowpass_biquad¶
-
torchaudio.functional.
lowpass_biquad
(波形:手电筒。Tensor, sample_rate: int, cutoff_freq: float, Q: float = 0.707) → torch。张量[来源]¶ 设计双二阶低通滤波器并执行滤波。类似于 SoX 实现。
- 参数
波形(割torch。Tensor) – 维度为 (..., time) 的音频波形
sample_rate (int) – 波形的采样率,例如 44100 (Hz)
cutoff_freq (float) – 滤波器截止频率
Q (浮点,可选) – https://en.wikipedia.org/wiki/Q_factor (默认:
0.707
)
- 返回
(..., 时间) 的维度波形
- 返回类型
张肌
highpass_biquad¶
-
torchaudio.functional.
highpass_biquad
(波形:手电筒。Tensor, sample_rate: int, cutoff_freq: float, Q: float = 0.707) → torch。张量[来源]¶ 设计双二阶高通滤波器并执行滤波。类似于 SoX 实现。
- 参数
waveform (Tensor) – 维度为 (..., time) 的音频波形
sample_rate (int) – 波形的采样率,例如 44100 (Hz)
cutoff_freq (float) – 滤波器截止频率
Q (浮点,可选) – https://en.wikipedia.org/wiki/Q_factor (默认:
0.707
)
- 返回
波形维度 (..., time)
- 返回类型
张肌
allpass_biquad¶
-
torchaudio.functional.
allpass_biquad
(波形:手电筒。Tensor, sample_rate: int, central_freq: float, Q: float = 0.707) → torch。张量[来源]¶ 设计双极点全通滤波器。类似于 SoX 实现。
- 参数
波形(割torch。Tensor) – 维度为 (..., time) 的音频波形
sample_rate (int) – 波形的采样率,例如 44100 (Hz)
central_freq (float) – 中心频率 (以 Hz 为单位)
Q (浮点,可选) – https://en.wikipedia.org/wiki/Q_factor (默认:
0.707
)
- 返回
(..., 时间) 的维度波形
- 返回类型
张肌
引用
http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF
equalizer_biquad¶
-
torchaudio.functional.
equalizer_biquad
(波形:手电筒。Tensor, sample_rate: int, center_freq: float, gain: float, Q: float = 0.707) → torch。张量[来源]¶ 设计双二阶峰值均衡器滤波器并执行滤波。类似于 SoX 实现。
- 参数
waveform (Tensor) – 维度为 (..., time) 的音频波形
sample_rate (int) – 波形的采样率,例如 44100 (Hz)
center_freq (float) – 滤波器的中心频率
增益 (float) – 提升(或衰减)处的所需增益,单位为 dB
Q (浮点,可选) – https://en.wikipedia.org/wiki/Q_factor (默认:
0.707
)
- 返回
(..., 时间) 的维度波形
- 返回类型
张肌
bandpass_biquad¶
-
torchaudio.functional.
bandpass_biquad
(波形:手电筒。Tensor, sample_rate: int, central_freq: float, Q: float = 0.707, const_skirt_gain: bool = False) → torch。张量[来源]¶ 设计 2 极点带通滤波器。类似于 SoX 实现。
- 参数
waveform (Tensor) – 维度为 (..., time) 的音频波形
sample_rate (int) – 波形的采样率,例如 44100 (Hz)
central_freq (float) – 中心频率 (以 Hz 为单位)
Q (浮点,可选) – https://en.wikipedia.org/wiki/Q_factor (默认:
0.707
)const_skirt_gain (bool, optional) – 如果 ,则使用恒定的裙边增益 (峰值增益 = Q)。 如果 ,则使用恒定的 0dB 峰值增益。(默认:
True
False
False
)
- 返回
(..., 时间) 的维度波形
- 返回类型
张肌
引用
http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF
bandreject_biquad¶
-
torchaudio.functional.
bandreject_biquad
(波形:手电筒。Tensor, sample_rate: int, central_freq: float, Q: float = 0.707) → torch。张量[来源]¶ 设计 2 极点带阻滤波器。类似于 SoX 实现。
- 参数
waveform (Tensor) – 维度为 (..., time) 的音频波形
sample_rate (int) – 波形的采样率,例如 44100 (Hz)
central_freq (float) – 中心频率 (以 Hz 为单位)
Q (浮点,可选) – https://en.wikipedia.org/wiki/Q_factor (默认:
0.707
)
- 返回
(..., 时间) 的维度波形
- 返回类型
张肌
引用
http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF
band_biquad¶
-
torchaudio.functional.
band_biquad
(波形:手电筒。张量、sample_rate:int、central_freq:浮点、Q:浮点 = 0.707、噪声:bool = False)→ torch。张量[来源]¶ 设计双极带滤波器。类似于 SoX 实现。
- 参数
waveform (Tensor) – 维度为 (..., time) 的音频波形
sample_rate (int) – 波形的采样率,例如 44100 (Hz)
central_freq (float) – 中心频率 (以 Hz 为单位)
Q (浮点,可选) – https://en.wikipedia.org/wiki/Q_factor (默认值: )。
0.707
noise (bool, optional) – 如果 ,则对未音调的音频(例如打击乐)使用备用模式。 如果 ,则使用面向音高音频的模式,即语音、歌唱、 或器乐 (默认值: )。
True
False
False
- 返回
(..., 时间) 的维度波形
- 返回类型
张肌
引用
http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF
treble_biquad¶
-
torchaudio.functional.
treble_biquad
(波形:手电筒。张量,sample_rate:int,增益:浮点数,central_freq:浮点数 = 3000,Q:浮点数 = 0.707)→ torch。张量[来源]¶ 设计高音调控制效果。类似于 SoX 实现。
- 参数
waveform (Tensor) – 维度为 (..., time) 的音频波形
sample_rate (int) – 波形的采样率,例如 44100 (Hz)
gain (float) - 提升(或衰减)所需的增益,以 dB 为单位。
central_freq (float, optional) – 中心频率 (以 Hz 为单位)。(默认:
3000
)Q (浮点,可选) – https://en.wikipedia.org/wiki/Q_factor (默认值: )。
0.707
- 返回
(..., 时间) 的维度波形
- 返回类型
张肌
引用
http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF
bass_biquad¶
-
torchaudio.functional.
bass_biquad
(波形:手电筒。张量,sample_rate:int,增益:浮点数,central_freq:浮点数 = 100,Q:浮点数 = 0.707)→torch。张量[来源]¶ 设计低音音调控制效果。类似于 SoX 实现。
- 参数
waveform (Tensor) – 维度为 (..., time) 的音频波形
sample_rate (int) – 波形的采样率,例如 44100 (Hz)
gain (float) - 提升(或衰减)所需的增益,以 dB 为单位。
central_freq (float, optional) – 中心频率 (以 Hz 为单位)。(默认:
100
)Q (浮点,可选) – https://en.wikipedia.org/wiki/Q_factor (默认值: )。
0.707
- 返回
(..., 时间) 的维度波形
- 返回类型
张肌
引用
http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF
deemph_biquad¶
-
torchaudio.functional.
deemph_biquad
(波形:手电筒。Tensor,sample_rate: int) → torch。张量[来源]¶ 应用 ISO 908 CD 去加重(搁架)IIR 滤镜。类似于 SoX 实现。
- 参数
waveform (Tensor) – 维度为 (..., time) 的音频波形
sample_rate (int) – 波形的采样率、允许的采样率或
44100
48000
- 返回
(..., 时间) 的维度波形
- 返回类型
张肌
引用
http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF
riaa_biquad¶
-
torchaudio.functional.
riaa_biquad
(波形:手电筒。Tensor,sample_rate: int) → torch。张量[来源]¶ 应用 RIAA 黑胶唱片播放均衡。类似于 SoX 实现。
- 参数
waveform (Tensor) – 维度为 (..., time) 的音频波形
sample_rate (int) – 波形的采样率,例如 44100 (Hz)。 允许的采样率(Hz) : ,''48000'',''88200'',''96000''
44100
- 返回
(..., 时间) 的维度波形
- 返回类型
张肌
引用
http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF
反差¶
-
torchaudio.functional.
contrast
(波形:手电筒。Tensor,enhancement_amount:float = 75.0)→ torch。张量[来源]¶ 应用对比效果。类似于 SoX 实现。 与压缩类似,此效果会修改音频信号以使其听起来更响亮
- 参数
waveform (Tensor) – 维度为 (..., time) 的音频波形
enhancement_amount (float) – 控制增强的数量 enhancement_amount 允许的值范围:0-100 请注意,enhancement_amount = 0 仍会显著增强对比度
- 返回
(..., 时间) 的维度波形
- 返回类型
张肌
引用
直流移位¶
超速¶
相位¶
-
torchaudio.functional.
phaser
(波形:手电筒。张量、sample_rate:int、gain_in:浮点数 = 0.4、gain_out:浮点数 = 0.74、delay_ms:浮点数 = 3.0、衰减:浮点数 = 0.4、mod_speed:浮点数 = 0.5、正弦曲线:bool = True)→Torch。张量[来源]¶ 对音频应用阶段划分效果。类似于 SoX 实现。
- 参数
waveform (Tensor) – 维度为 (..., time) 的音频波形
sample_rate (int) – 波形的采样率,例如 44100 (Hz)
gain_in (float) – 提升(或衰减)时所需的输入增益,单位为 dB 允许的值范围为 0 到 1
gain_out (float) – 提升(或衰减)时所需的输出增益,单位为 dB 允许的值范围为 0 到 1e9
delay_ms (float) – 所需的延迟(以毫秒为单位) 允许的值范围为 0 到 5.0
Decay (float) – 相对于增益的期望衰减 允许的值范围为 0 到 0.99
mod_speed (float) – 调制速度,单位为 Hz 允许的值范围为 0.1 到 2
sinusoidal (bool) – 如果 ,则使用正弦调制(最好用于多个乐器) 如果 ,则使用三角调制(为单个乐器提供更清晰的移相效果) (默认:
True
False
True
)
- 返回
(..., 时间) 的维度波形
- 返回类型
张肌
引用
http://sox.sourceforge.net/sox.htmlScott Lehman,Effects Explained,http://harmony-central.com/Effects/effects-explained.html
镶边¶
-
torchaudio.functional.
flanger
(波形:手电筒。张量、sample_rate:int、延迟:float = 0.0、深度:float = 2.0、regen:float = 0.0、宽度:float = 71.0、速度:float = 0.5、phase:float = 25.0、调制:str = 'sinusoidal'、插值:str = 'linear') →Torch。张量[来源]¶ 将镶边效果应用于音频。类似于 SoX 实现。
- 参数
waveform (Tensor) – 维度为 (..., channel, time) 的音频波形。 最多允许 4 个通道
sample_rate (int) – 波形的采样率,例如 44100 (Hz)
delay (float) – 期望的延迟,以毫秒 (ms) 为单位 允许的值范围为 0 到 30
depth (float) – 所需的延迟深度,以毫秒 (ms) 为单位 允许的值范围为 0 到 10
regen (float) – 所需的 regen (Feeback Gain) (以 dB 为单位) 允许的值范围为 -95 到 95
width (float) – 所需的宽度 (延迟增益) ,单位为 dB 允许的值范围为 0 到 100
speed (float) – 调制速度,单位为 Hz 允许的值范围为 0.1 到 10
phase (float) – 多通道的相移百分比 允许的值范围为 0 到 100
modulation (str) – 使用 “sinusoidal” 或 “triangular” 调制。(默认:
sinusoidal
)interpolation (str) – 使用 “linear” 或 “quadratic” 进行延迟线插值。(默认:
linear
)
- 返回
维度波形 (..., channel, time)
- 返回类型
张肌
引用
http://sox.sourceforge.net/sox.html
Scott Lehman,Effects Explained,https://web.archive.org/web/20051125072557/http://www.harmony-central.com/Effects/effects-explained.html
mask_along_axis¶
mask_along_axis_iid¶
compute_deltas¶
-
torchaudio.functional.
compute_deltas
(specgram:Torch。Tensor,win_length:int = 5,模式:str = 'replicate') → torch。张量[来源]¶ 计算张量的 delta 系数,通常是频谱图:
\[d_t = \frac{\sum_{n=1}^{\text{N}} n (c_{t+n} - c_{t-n})}{2 \sum_{n=1}^{\text{N}} n^2} \]其中 \(d_t\) 是时间 \(t\) 的增量,\(c_t\) 是时间 \(t\) 的频谱图系数,\(N\) 是 。
(win_length-1)//2
- 参数
- 返回
维度增量的张量 (..., freq, time)
- 返回类型
张肌
- 例
>>> specgram = torch.randn(1, 40, 1000) >>> delta = compute_deltas(specgram) >>> delta2 = compute_deltas(delta)
detect_pitch_frequency¶
-
torchaudio.functional.
detect_pitch_frequency
(波形:手电筒。张量、sample_rate:int、frame_time:float = 0.01、win_length:int = 30、freq_low:int = 85、freq_high:int = 3400)→ torch。张量[来源]¶ 检测俯仰频率。
它是使用归一化互相关函数和中位数平滑实现的。
- 参数
waveform (Tensor) - 维度为 (..., freq, time) 的音频张量
sample_rate (int) – 波形的采样率 (Hz)
frame_time (float, optional) – 帧的持续时间 (Default: )。
10 ** (-2)
win_length (int, optional) – 中值平滑的窗口长度 (以帧数为单位) (默认值: )。
30
freq_low (int, optional) – 可检测到的最低频率 (Hz) (默认值: )。
85
freq_high (int, optional) – 可检测到的最高频率 (Hz) (默认值: )。
3400
- 返回
维度 (..., frame) 的 freq 张量
- 返回类型
张肌
sliding_window_cmn¶
-
torchaudio.functional.
sliding_window_cmn
(波形:手电筒。张量,cmn_window:int = 600,min_cmn_window:int = 100,中心:bool = False,norm_vars:bool = False)→ torch。张量[来源]¶ 对每个话语应用滑动窗口倒谱均值(和可选的方差)归一化。
- 参数
waveform (Tensor) - 维度为 (..., freq, time) 的音频张量
cmn_window ( int , 可选 ) – 用于运行平均 CMN 计算的帧中的窗口 ( int , 默认值 = 600)
min_cmn_window (int,可选) – 解码开始时使用的最小 CMN 窗口 (仅在开始时添加延迟)。 仅在 center == false 时适用,如果 center==true (int, default = 100) 则忽略
center (bool,可选) – 如果为 true,则使用以当前帧为中心的窗口 (在可能的情况下,模数末端效应)。如果为 false,则 window 位于左侧。(布尔值,默认值 = false)
norm_vars (bool, optional) – 如果为 true,则将方差标准化为 1。(布尔值,默认值 = false)
- 返回
维度 (..., frame) 的 freq 张量
- 返回类型
张肌
瓦德¶
-
torchaudio.functional.
vad
(波形:手电筒。张量,sample_rate:int,trigger_level:浮点数 = 7.0,trigger_time:浮点数 = 0.25,search_time:浮点数 = 1.0,allowed_gap:浮点数 = 0.25,pre_trigger_time:浮点数 = 0.0,boot_time:浮点数 = 0.35,noise_up_time:浮点数 = 0.1,noise_down_time:浮点数 = 0.01,noise_reduction_amount:浮点数 = 1.35,measure_freq:浮点数 = 20.0,measure_duration:可选[浮点数] = 无、measure_smooth_time:浮点数 = 0.4、hp_filter_freq:浮点数 = 50.0、lp_filter_freq:浮点数 = 6000.0、hp_lifter_freq:浮点数 = 150.0、lp_lifter_freq:浮点数 = 2000.0)→手电筒。张量[来源]¶ 语音活动检测器。类似于 SoX 实现。 尝试从语音录音的结尾修剪静音和安静的背景声音。 该算法目前使用简单的倒谱功率测量来检测语音, 所以可能会被其他事物所愚弄,尤其是音乐。
该效果只能从音频的前面进行修剪, 所以为了从后面修剪,还必须使用反向效果。
- 参数
waveform (Tensor) - 维度 (..., time) 的音频张量
sample_rate (int) – 音频信号的采样率。
trigger_level (float, optional) (浮点数,可选) – 用于触发活动检测的测量级别。 这可能需要根据噪音水平、信号水平、 以及输入音频的其他特性。(默认值:7.0)
trigger_time (float, optional) – 时间常数 (以秒为单位) 用于帮助忽略短促的声音。(默认值:0.25)
search_time (float, optional) – 音频量 (以秒为单位) 搜索更安静/更短的音频突发以包含之前的音频 拖动到检测到的触发点。(默认值:1.0)
allowed_gap (float, optional) – 两者之间允许的间隔 (以秒为单位) 要包含先前的音频的较长/更短的突发 拖动到检测到的触发点。(默认值:0.25)
pre_trigger_time (float, optional) – 要保留的音频量 (以秒为单位) 在触发点之前以及找到的任何更安静/更短的突发。(默认值:0.0)
boot_time (float, optional) 算法 (内部) – 估计/减少以检测所需音频的开始。 此选项设置初始噪声估计的时间。(默认值:0.35)
noise_up_time (float, optional) – 当噪音水平增加时。(默认值:0.1)
noise_down_time (float, optional) – 当噪音水平降低时。(默认值:0.01)
noise_reduction_amount (float, optional) – 检测算法 (例如 0, 0.5, ...)。(默认:1.35)
measure_freq (float, optional) – 处理/测量。(默认值:20.0)
measure_duration – (浮点,可选)测量持续时间。 (默认值:测量周期的两倍;即重叠。
measure_smooth_time (float, optional) – 光谱测量。(默认值:0.4)
hp_filter_freq (float, optional) – 在检测器算法的输入处。(默认值:50.0)
lp_filter_freq (float, optional) – 在检测器算法的输入处。(默认值:6000.0)
hp_lifter_freq (float, optional) – 在检测器算法中。(默认值:150.0)
lp_lifter_freq (float, optional) – 在检测器算法中。(默认值:2000.0)
- 返回
维度 (..., time) 的音频张量。
- 返回类型
张肌
引用