目录

torchaudio.functional

执行常见音频操作的函数。

频谱图

torchaudio.functional.spectrogram(waveform: torch.Tensor, pad: int, window: torch.Tensor, n_fft: int, hop_length: int, win_length: int, power: Optional[float], normalized: bool) → torch.Tensor[source]

从原始音频信号创建频谱图或一批频谱图。 频谱图可以是仅幅度形式,也可以是复数形式。

Parameters
  • waveform (Tensor) – 维度为 (…, time) 的音频张量

  • pad (int) – 信号的双边填充

  • window (Tensor) – 应用于/乘以每个帧/窗口的窗口张量

  • n_fft (int) – FFT 大小

  • hop_length (int) – STFT 窗口之间的跳跃长度

  • win_length (int) – 窗口大小

  • power (floatNone) – 幅度谱图的指数, (必须 > 0),例如:1 表示能量,2 表示功率等。 如果为 None,则返回复数频谱。

  • normalized (bool) – 是否在 stft 后按幅度进行归一化

Returns

维度 (…, 频率, 时间),频率是 n_fft // 2 + 1n_fft 是傅里叶频谱的数量,时间是窗口跳跃的次数(n_frame)。

Return type

张量

amplitude_to_DB

torchaudio.functional.amplitude_to_DB(x: torch.Tensor, multiplier: float, amin: float, db_multiplier: float, top_db: Optional[float] = None) → torch.Tensor[source]

将张量从功率/幅度尺度转换为分贝尺度。

此输出取决于输入张量中的最大值,因此对于分割成片段与完整片段的音频剪辑,可能会返回不同的值。

Parameters
  • x (张量) – 转换为分贝刻度之前的输入张量

  • multiplier (float) – 功率使用 10.,振幅使用 20.

  • amin (float) – 要截断的数字 x

  • db_multiplier (float) – Log10(max(参考值和 amin))

  • top_db (floatNone, 可选) – 分贝中的最小负截止值。一个合理的数值是 80。(默认:None

Returns

以分贝刻度输出的张量

Return type

张量

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.Tensor[source]

创建频率分箱转换矩阵。

Parameters
  • n_freqs (int) – 要突出显示/应用的频率数量

  • f_min (float) – 最小频率 (Hz)

  • f_max (float) – 最大频率 (Hz)

  • n_mels (int) – 梅尔滤波器组数量

  • sample_rate (int) – 音频波形的采样率

  • norm (可选[str]) – 如果为 'slaney',则按梅尔频带的宽度除以三角形梅尔权重

  • 归一化)。(默认值)((面积) – None

Returns

大小为 (n_freqs, n_mels) 的三角形滤波器组(fb 矩阵) 意味着要突出显示/应用于 x 的频率数量,即滤波器组的数量。 每一列都是一个滤波器组,因此假设存在一个大小为 (…, n_freqs) 的矩阵 A,应用后的结果将是 A * create_fb_matrix(A.size(-1), ...)

Return type

张量

create_dct

torchaudio.functional.create_dct(n_mfcc: int, n_mels: int, norm: Optional[str]) → torch.Tensor[source]

创建一个形状为 (n_mels, n_mfcc) 的 DCT 变换矩阵, 根据 norm 进行归一化。

Parameters
  • n_mfcc (int) – 要保留的 mfc 系数数量

  • n_mels (int) – 梅尔滤波器组数量

  • norm (strNone) – 要使用的范数('ortho' 或 None)

Returns

要右乘到大小为 (n_mels, n_mfcc) 的行式数据上的变换矩阵。

Return type

张量

mu_law_encoding

torchaudio.functional.mu_law_encoding(x: torch.Tensor, quantization_channels: int) → torch.Tensor[source]

根据μ-law压缩进行信号编码。更多信息请参见 维基百科条目

该算法假设信号已缩放到 -1 到 1 之间,并返回一个编码值在 0 到 quantization_channels - 1 范围内的信号。

Parameters
  • x (Tensor) – 输入张量

  • quantization_channels (int) – 通道数量

Returns

经过 μ 律编码后的输入

Return type

张量

mu_law_decoding

torchaudio.functional.mu_law_decoding(x_mu: torch.Tensor, quantization_channels: int) → torch.Tensor[source]

解码mu-law编码的信号。更多信息请参见 维基百科条目

此函数期望输入值在 0 到 quantization_channels - 1 之间,并返回一个缩放至 -1 到 1 之间的信号。

Parameters
  • x_mu (Tensor) – 输入张量

  • quantization_channels (int) – 通道数量

Returns

经过 μ 律解码后的输入

Return type

张量

complex_norm

torchaudio.functional.complex_norm(complex_tensor: torch.Tensor, power: float = 1.0) → torch.Tensor[source]

计算复数张量输入的范数。

Parameters
  • complex_tensor (Tensor) – 形状为 (…, complex=2) 的张量

  • power (浮点数) – 范数的幂。 (默认: 1.0)。

Returns

归一化输入张量的幂。形状为 (…, )

Return type

张量

角度

torchaudio.functional.angle(complex_tensor: torch.Tensor) → torch.Tensor[source]

计算复数张量输入的相位角。

Parameters

complex_tensor (Tensor) – 形状为 (…, complex=2) 的张量

Returns

复数张量的角度。形状为 (…, )

Return type

张量

幅相

torchaudio.functional.magphase(complex_tensor: torch.Tensor, power: float = 1.0) → Tuple[torch.Tensor, torch.Tensor][source]

将形状为 (…, 2) 的复数频谱分离为其幅度和相位。

Parameters
  • complex_tensor (Tensor) – 形状为 (…, complex=2) 的张量

  • power (浮点数) – 范数的幂。 (默认: 1.0)

Returns

复数张量的幅值和相位

Return type

(张量,张量)

phase_vocoder

torchaudio.functional.phase_vocoder(complex_specgrams: torch.Tensor, rate: float, phase_advance: torch.Tensor) → torch.Tensor[source]

给定一个 STFT 张量,在不改变音高的情况下,将时间速度提高 rate 倍。

Parameters
  • complex_specgrams (Tensor) – 维度为 (…, freq, time, complex=2)

  • rate (float) – 加速因子

  • 相位提前 (张量) – 每个bin中预期的相位提前。维度为(freq, 1)

Returns

复杂的频谱图扩展,维度为(…, freq, ceil(time/rate), complex=2)

Return type

张量

Example
>>> 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(waveform: torch.Tensor, a_coeffs: torch.Tensor, b_coeffs: torch.Tensor, clamp: bool = True) → torch.Tensor[source]

通过评估差分方程执行 IIR 滤波。

Parameters
  • 波形图 (张量) – 维度为(..., time)的音频波形。必须归一化到-1到1之间。

  • a_coeffs (张量) – 差分方程的分母系数,维度为(n_order + 1)。 较低延迟的系数在前,例如[a0, a1, a2, ...]。 必须与b_coeffs大小相同(如有必要,请用0填充)。

  • b_coeffs (张量) – 差分方程的分子系数,维度为(n_order + 1)。 延迟较小的系数在前,例如[b0, b1, b2, ...]。 必须与a_coeffs大小相同(如有必要,请用0填充)。

  • clamp (bool, optional) – 如果为 True,则将输出信号限制在 [-1, 1] 范围内(默认值:True

Returns

波形维度为 (..., time)

Return type

张量

双二次

torchaudio.functional.biquad(waveform: torch.Tensor, b0: float, b1: float, b2: float, a0: float, a1: float, a2: float) → torch.Tensor[source]

对输入张量执行双二次滤波器。初始条件设置为 0。 https://en.wikipedia.org/wiki/Digital_biquad_filter

Parameters
  • waveform (Tensor) – 维度为 (…, time) 的音频波形

  • b0 (float) – 当前输入 x[n] 的分子系数

  • b1 (float) – 一个时间步长前的输入系数 x[n-1]

  • b2 (float) – 两个时间步前的输入系数 x[n-2]

  • a0 (float) – 当前输出 y[n] 的分母系数,通常为 1

  • a1 (float) – 当前输出 y[n-1] 的分母系数

  • a2 (float) – 当前输出 y[n-2] 的分母系数

Returns

维度为 (…, time) 的波形

Return type

张量

lowpass_biquad

torchaudio.functional.lowpass_biquad(waveform: torch.Tensor, sample_rate: int, cutoff_freq: float, Q: float = 0.707) → torch.Tensor[source]

设计二阶低通滤波器并执行滤波操作。实现方式与 SoX 类似。

Parameters
Returns

维度为 (…, time) 的波形

Return type

张量

highpass_biquad

torchaudio.functional.highpass_biquad(waveform: torch.Tensor, sample_rate: int, cutoff_freq: float, Q: float = 0.707) → torch.Tensor[source]

设计二阶高通滤波器并执行滤波操作。实现方式与 SoX 类似。

Parameters
Returns

波形维度为 (…, time)

Return type

张量

allpass_biquad

torchaudio.functional.allpass_biquad(waveform: torch.Tensor, sample_rate: int, central_freq: float, Q: float = 0.707) → torch.Tensor[source]

设计二阶全通滤波器。实现方式与 SoX 类似。

Parameters
Returns

维度为 (…, time) 的波形

Return type

张量

参考文献

http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF

equalizer_biquad

torchaudio.functional.equalizer_biquad(waveform: torch.Tensor, sample_rate: int, center_freq: float, gain: float, Q: float = 0.707) → torch.Tensor[source]

设计双二阶峰值均衡器滤波器并执行滤波操作。实现方式与 SoX 类似。

Parameters
  • waveform (Tensor) – 维度为 (…, time) 的音频波形

  • sample_rate (int) – 波形的采样率,例如 44100 (Hz)

  • center_freq (float) – 滤波器的中心频率

  • 增益 (float) – 在提升(或衰减)时所需的增益(以dB为单位)

  • Q (float, 可选) – https://zh.wikipedia.org/wiki/Q因子 (默认: 0.707)

Returns

维度为 (…, time) 的波形

Return type

张量

bandpass_biquad

torchaudio.functional.bandpass_biquad(waveform: torch.Tensor, sample_rate: int, central_freq: float, Q: float = 0.707, const_skirt_gain: bool = False) → torch.Tensor[source]

设计二极点带通滤波器。实现方式与 SoX 类似。

Parameters
  • waveform (Tensor) – 维度为 (…, time) 的音频波形

  • sample_rate (int) – 波形的采样率,例如 44100 (Hz)

  • central_freq (float) – 中心频率(以赫兹为单位)

  • Q (float, 可选) – https://zh.wikipedia.org/wiki/Q因子 (默认: 0.707)

  • const_skirt_gain (bool, optional) – 如果为 True,则使用恒定裙边增益(峰值增益 = Q)。 如果为 False,则使用恒定的 0dB 峰值增益。(默认值:False

Returns

维度为 (…, time) 的波形

Return type

张量

参考文献

http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF

bandreject_biquad

torchaudio.functional.bandreject_biquad(waveform: torch.Tensor, sample_rate: int, central_freq: float, Q: float = 0.707) → torch.Tensor[source]

设计二阶带阻滤波器。实现方式与 SoX 类似。

Parameters
  • waveform (Tensor) – 维度为 (…, time) 的音频波形

  • sample_rate (int) – 波形的采样率,例如 44100 (Hz)

  • central_freq (float) – 中心频率(以赫兹为单位)

  • Q (float, 可选) – https://zh.wikipedia.org/wiki/Q因子 (默认: 0.707)

Returns

维度为 (…, time) 的波形

Return type

张量

参考文献

http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF

band_biquad

torchaudio.functional.band_biquad(waveform: torch.Tensor, sample_rate: int, central_freq: float, Q: float = 0.707, noise: bool = False) → torch.Tensor[source]

设计二极点带通滤波器。实现方式与 SoX 类似。

Parameters
  • waveform (Tensor) – 维度为 (…, time) 的音频波形

  • sample_rate (int) – 波形的采样率,例如 44100 (Hz)

  • central_freq (float) – 中心频率(以赫兹为单位)

  • Q (浮点数, 可选) – https://zh.wikipedia.org/wiki/Q值 (默认: 0.707)。

  • noise (bool, optional) – 如果为 True,则使用非音高音频(例如打击乐)的替代模式。 如果为 False,则使用面向音高音频的模式,即人声、歌唱或器乐音乐(默认值:False)。

Returns

维度为 (…, time) 的波形

Return type

张量

参考文献

http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF

treble_biquad

torchaudio.functional.treble_biquad(waveform: torch.Tensor, sample_rate: int, gain: float, central_freq: float = 3000, Q: float = 0.707) → torch.Tensor[source]

设计一个三波段音调控制效果。类似于 SoX 的实现。

Parameters
  • waveform (Tensor) – 维度为 (…, time) 的音频波形

  • sample_rate (int) – 波形的采样率,例如 44100 (Hz)

  • 增益 (float) – 在提升(或衰减)时所需的增益(以dB为单位)。

  • central_freq (float, 可选) – 中心频率(以 Hz 为单位)。(默认值: 3000)

  • Q (浮点数, 可选) – https://zh.wikipedia.org/wiki/Q值 (默认: 0.707)。

Returns

维度为 (…, time) 的波形

Return type

张量

参考文献

http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF

bass_biquad

torchaudio.functional.bass_biquad(waveform: torch.Tensor, sample_rate: int, gain: float, central_freq: float = 100, Q: float = 0.707) → torch.Tensor[source]

设计一个低音音调控制效果。类似于 SoX 的实现。

Parameters
  • waveform (Tensor) – 维度为 (…, time) 的音频波形

  • sample_rate (int) – 波形的采样率,例如 44100 (Hz)

  • 增益 (float) – 在提升(或衰减)时所需的增益(以dB为单位)。

  • central_freq (float, 可选) – 中心频率(以 Hz 为单位)。(默认值: 100)

  • Q (浮点数, 可选) – https://zh.wikipedia.org/wiki/Q值 (默认: 0.707)。

Returns

维度为 (…, time) 的波形

Return type

张量

参考文献

http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF

deemph_biquad

torchaudio.functional.deemph_biquad(waveform: torch.Tensor, sample_rate: int) → torch.Tensor[source]

应用 ISO 908 CD 去加重(搁架)IIR 滤波器。实现方式与 SoX 类似。

Parameters
  • waveform (Tensor) – 维度为 (…, time) 的音频波形

  • sample_rate (int) – 波形的采样率,允许的采样率为 4410048000

Returns

维度为 (…, time) 的波形

Return type

张量

参考文献

http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF

riaa_biquad

torchaudio.functional.riaa_biquad(waveform: torch.Tensor, sample_rate: int) → torch.Tensor[source]

应用RIAA黑胶播放均衡化。与SoX实现类似。

Parameters
  • waveform (Tensor) – 维度为 (…, time) 的音频波形

  • sample_rate (int) – 波形的采样率,例如 44100 (Hz)。 允许的采样率(单位:Hz):44100,``48000``,``88200``,``96000``

Returns

维度为 (…, time) 的波形

Return type

张量

参考文献

http://sox.sourceforge.net/sox.html https://www.w3.org/2011/audio/audio-eq-cookbook.html#APF

对比度

torchaudio.functional.contrast(waveform: torch.Tensor, enhancement_amount: float = 75.0) → torch.Tensor[source]

应用对比效果。与 SoX 实现类似。该效果类似于压缩,可修改音频信号使其听起来更响亮。

Parameters
  • waveform (Tensor) – 维度为 (…, time) 的音频波形

  • 增强量 (float) – 控制增强量 允许的enhancement_amount范围:0-100 请注意,当enhancement_amount = 0时仍然会显著增强对比度

Returns

维度为 (…, time) 的波形

Return type

张量

参考文献

http://sox.sourceforge.net/sox.html

直流偏移

torchaudio.functional.dcshift(waveform: torch.Tensor, shift: float, limiter_gain: Optional[float] = None) → torch.Tensor[source]

对音频应用直流偏移。实现方式与 SoX 类似。 此功能可用于从音频中去除直流偏移(该偏移可能由录音链中的硬件问题引起)。

Parameters
  • waveform (Tensor) – 维度为 (…, time) 的音频波形

  • shift (float) – 指示音频的移位量 shift 允许的值范围:-2.0 到 +2.0

  • limiter_gain (float) – 它仅用于峰值以防止削波 它应该有一个远小于1的值(例如0.05或0.02)

Returns

维度为 (…, time) 的波形

Return type

张量

参考文献

http://sox.sourceforge.net/sox.html

超频

torchaudio.functional.overdrive(waveform: torch.Tensor, gain: float = 20, colour: float = 20) → torch.Tensor[source]

对音频应用过载效果。类似于 SoX 的实现。 此效果会对音频信号施加非线性失真。

Parameters
  • waveform (Tensor) – 维度为 (…, time) 的音频波形

  • 增益 (float) – 在提升(或衰减)时所需的增益值(以dB为单位) 允许的值范围是从 0 到 100

  • 颜色 (float) – 控制过载输出中偶次谐波含量的量 允许的值范围是从 0 到 100

Returns

维度为 (…, time) 的波形

Return type

张量

参考文献

http://sox.sourceforge.net/sox.html

相位器

torchaudio.functional.phaser(waveform: torch.Tensor, sample_rate: int, gain_in: float = 0.4, gain_out: float = 0.74, delay_ms: float = 3.0, decay: float = 0.4, mod_speed: float = 0.5, sinusoidal: bool = True) → torch.Tensor[source]

对音频应用相位效果。类似于 SoX 的实现。

Parameters
  • 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

  • 衰减 (float) – 相对于增益的期望衰减 允许的值范围是从 0 到 0.99

  • mod_speed (float) – 调制速度(Hz) 允许的值范围为 0.1 到 2

  • 正弦波 (bool) – 如果为 True,使用正弦波调制(适合多种乐器) 如果为 False,使用三角波调制(使单个乐器产生更尖锐的相位效果) (默认值: True)

Returns

维度为 (…, time) 的波形

Return type

张量

参考文献

http://sox.sourceforge.net/sox.html Scott Lehman, 效果详解, http://harmony-central.com/Effects/effects-explained.html

镶边器

torchaudio.functional.flanger(waveform: torch.Tensor, sample_rate: int, delay: float = 0.0, depth: float = 2.0, regen: float = 0.0, width: float = 71.0, speed: float = 0.5, phase: float = 25.0, modulation: str = 'sinusoidal', interpolation: str = 'linear') → torch.Tensor[source]

对音频应用镶边效果。实现方式类似于 SoX。

Parameters
  • waveform (Tensor) – 维度为 (…, channel, time) 的音频波形。 最多允许 4 个通道

  • sample_rate (int) – 波形的采样率,例如 44100 (Hz)

  • 延迟 (浮点数) – 所需的延迟时间,单位为毫秒(ms) 允许的值范围是 0 到 30

  • 深度 (float) – 希望的延迟深度(毫秒) 允许的值范围是从 0 到 10

  • regen (float) – 所需的再生(反馈增益)值,单位为 dB 允许的取值范围是 -95 到 95

  • 宽度 (浮点数) – 期望的宽度(延迟增益),单位为dB 允许的值范围是0到100

  • 速度 (浮点数) – 调制速度,单位为赫兹 (Hz) 允许的取值范围是 0.1 到 10

  • phase (float) – 多通道的百分比相移 允许的值范围是从 0 到 100

  • 调制 (str) – 使用“正弦”或“三角形”调制。 (默认: sinusoidal)

  • 插值 (str) – 使用“linear”或“quadratic”进行延迟线插值。 (默认: linear)

Returns

维度为 (…, channel, time) 的波形

Return type

张量

参考文献

http://sox.sourceforge.net/sox.html

Scott Lehman, 效果详解, https://web.archive.org/web/20051125072557/http://www.harmony-central.com/Effects/effects-explained.html

mask_along_axis

torchaudio.functional.mask_along_axis(specgram: torch.Tensor, mask_param: int, mask_value: float, axis: int) → torch.Tensor[source]

沿 axis 应用掩码。掩码将从索引 [v_0, v_0 + v) 开始应用,其中 vuniform(0, mask_param) 中采样,而 v_0uniform(0, max_v - v) 中采样。 所有示例将具有相同的掩码区间。

Parameters
  • specgram (张量) – 实际频谱图(通道,频率,时间)

  • mask_param (int) – 要屏蔽的列数将从 [0, mask_param] 中均匀采样

  • mask_value (float) – 要分配给被屏蔽列的值

  • axis (int) – 应用掩码的轴(1 -> 频率,2 -> 时间)

Returns

维度为 (通道, 频率, 时间) 的掩码频谱图

Return type

张量

mask_along_axis_iid

torchaudio.functional.mask_along_axis_iid(specgrams: torch.Tensor, mask_param: int, mask_value: float, axis: int) → torch.Tensor[source]

沿 axis 应用掩码。掩码将从索引 [v_0, v_0 + v) 开始应用,其中 vuniform(0, mask_param) 中采样,而 v_0uniform(0, max_v - v) 中采样。

Parameters
  • 频谱图 (张量) – 实际频谱图(批次,通道,频率,时间)

  • mask_param (int) – 要屏蔽的列数将从 [0, mask_param] 中均匀采样

  • mask_value (float) – 要分配给被屏蔽列的值

  • axis (int) – 应用掩码的轴(2 -> 频率,3 -> 时间)

Returns

维度为(批次,通道,频率,时间)的掩码频谱图

Return type

张量

compute_deltas

torchaudio.functional.compute_deltas(specgram: torch.Tensor, win_length: int = 5, mode: str = 'replicate') → torch.Tensor[source]

计算张量(通常是频谱图)的差分系数:

\[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

Parameters
  • 频谱图 (张量) – 维度为 (…, 频率, 时间) 的音频张量

  • win_length (int, optional) – 用于计算 delta 的窗口长度(默认值:5

  • mode (str, optional) – 传递给填充的模式参数(默认值:"replicate"

Returns

维度为 (…, 频率, 时间) 的张量的差分

Return type

张量

Example
>>> specgram = torch.randn(1, 40, 1000)
>>> delta = compute_deltas(specgram)
>>> delta2 = compute_deltas(delta)

detect_pitch_frequency

torchaudio.functional.detect_pitch_frequency(waveform: torch.Tensor, sample_rate: int, frame_time: float = 0.01, win_length: int = 30, freq_low: int = 85, freq_high: int = 3400) → torch.Tensor[source]

检测音高频率。

该实现采用归一化互相关函数和中值平滑。

Parameters
  • 波形图 (张量) – 维度为 (…, 频率, 时间) 的音频张量

  • sample_rate (int) – 波形的采样率(Hz)

  • frame_time (float, optional) – 帧的持续时间(默认值:10 ** (-2))。

  • win_length (int, optional) – 中值平滑的窗口长度(以帧数为单位)(默认:30)。

  • freq_low (int, optional) – 可检测的最低频率(Hz)(默认值:85)。

  • freq_high (int, optional) – 可检测的最高频率(Hz)(默认值:3400)。

Returns

频率张量,维度为 (…, 帧)

Return type

张量

sliding_window_cmn

torchaudio.functional.sliding_window_cmn(waveform: torch.Tensor, cmn_window: int = 600, min_cmn_window: int = 100, center: bool = False, norm_vars: bool = False) → torch.Tensor[source]

对每个语音片段应用滑动窗口倒谱均值(以及可选的方差)归一化。

Parameters
  • 波形图 (张量) – 维度为 (…, 频率, 时间) 的音频张量

  • cmn_window (int, optional) – 用于计算运行平均CMN的帧数窗口(int,默认值 = 600)

  • min_cmn_window (int, optional) – 解码开始时使用的最小 CMN 窗口(仅在开始时增加延迟)。 仅当 center == false 时适用,如果 center==true 则被忽略(int,默认值 = 100)

  • center (bool, optional) – 如果为 true,则使用以当前帧为中心的窗口(在可能的情况下,模去端点效应)。如果为 false,则窗口位于左侧。(bool,默认值 = false)

  • norm_vars (bool, optional) – 如果为 true,则将方差归一化为 1。(bool,默认值 = false)

Returns

频率张量,维度为 (…, 帧)

Return type

张量

语音活动检测

torchaudio.functional.vad(waveform: torch.Tensor, sample_rate: int, trigger_level: float = 7.0, trigger_time: float = 0.25, search_time: float = 1.0, allowed_gap: float = 0.25, pre_trigger_time: float = 0.0, boot_time: float = 0.35, noise_up_time: float = 0.1, noise_down_time: float = 0.01, noise_reduction_amount: float = 1.35, measure_freq: float = 20.0, measure_duration: Optional[float] = None, measure_smooth_time: float = 0.4, hp_filter_freq: float = 50.0, lp_filter_freq: float = 6000.0, hp_lifter_freq: float = 150.0, lp_lifter_freq: float = 2000.0) → torch.Tensor[source]

语音活动检测器。实现方式与 SoX 类似。 旨在从语音录音的开头和结尾处修剪静音及安静的背景声音。 该算法目前使用简单的倒谱功率测量来检测语音, 因此可能会被其他声音(尤其是音乐)所误导。

该效果仅能从音频前端进行修剪,因此若要从后端修剪,还必须使用反向效果。

Parameters
  • 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, 可选) – 处理/测量。(默认值:20.0)

  • measure_duration – (float, 可选) 测量持续时间。 (默认值:测量周期的两倍;即存在重叠。)

  • measure_smooth_time (float, 可选) – 频谱测量。(默认值:0.4)

  • hp_filter_freq (float, optional) – 在检测算法的输入端。(默认值:50.0)

  • lp_filter_freq (float, optional) – 在检测算法的输入端。 (默认值: 6000.0)

  • hp_lifter_freq (float, 可选) – 在检测器算法中。(默认值:150.0)

  • lp_lifter_freq (float, 可选) – 在检测器算法中。(默认值:2000.0)

Returns

音频张量,维度为 (…, 时间)。

Return type

张量

参考文献

http://sox.sourceforge.net/sox.html

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并解答您的问题

查看资源