目录

torchaudio.functional

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

效用

amplitude_to_DB

torchaudio.functional.amplitude_to_DB(x:Torch。张量乘数:floatamin:浮点db_multiplier:浮点、top_db:可选[float] = None)→ torch。张量[来源]

将频谱图从功率/振幅刻度转换为分贝刻度。

批处理中每个张量的输出取决于该张量的最大值 因此,对于拆分为片段的音频剪辑和完整剪辑,可能会返回不同的值。

参数
  • xTensor) - 在转换为分贝刻度之前输入频谱图。输入应采用 形式 (..., freq, time)。批处理输入应包括 channel 维度和 具有 (batch, channel, freq, time) 格式。

  • multiplierfloat) – 使用 10。用于功率和 20。用于振幅

  • aminfloat) – 要限制的数字x

  • db_multiplier浮点数) – Log10 (max(参考值和 amin))

  • top_dbfloatNone可选) – 最小负截止值(以分贝为单位)。合理的数字 80 岁。(默认:None)

返回

分贝刻度的输出张量

返回类型

张肌

DB_to_amplitude

torchaudio.functional.DB_to_amplitude(x:Torch。Tensorref: floatpower: float → torch。张量[来源]

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

参数
  • xTensor) - 转换为功率/振幅刻度之前的输入张量。

  • reffloat) - 输出将按其缩放的引用。

  • powerfloat) – 如果 power 等于 1,则计算 DB 的 power。如果为 0.5,则将计算 DB 到振幅。

返回

功率/振幅比例的输出张量。

返回类型

张肌

create_fb_matrix

torchaudio.functional.create_fb_matrix(n_freqs:intf_min:floatf_max:floatn_mels:intsample_rate:intnorm:Optional[str] = None→ torch。张量[来源]

创建频次 bin 转换矩阵。

参数
  • n_freqsint) – 要突出显示/应用的频率数

  • f_minfloat) – 最小频率 (Hz)

  • f_maxfloat) – 最大频率 (Hz)

  • n_melsint) – mel filterbank 的数量

  • sample_rateint) – 音频波形的采样率

  • normOptional[str]) - 如果为 'slaney',则将三角形梅尔权重除以梅尔带的宽度

  • normalization 的 Normalization)。(默认区域) –None)

返回

大小为 (, ) 的三角滤波器组 (fb 矩阵) 表示要高亮/应用于 x 的 Frequencys 数量 FilterBank 的数量。 每列都是一个 filterbank,因此假设有一个矩阵 A size (..., ) 时,应用的结果将为 。n_freqsn_melsn_freqsA * create_fb_matrix(A.size(-1), ...)

返回类型

张肌

create_dct

torchaudio.functional.create_dct(n_mfcc: int, n_mels: int, norm: Optional[str] → torch。张量[来源]

创建形状为 (、)、 根据 NORM 进行标准化。n_melsn_mfcc

参数
  • n_mfccint) – 要保留的 mfc 系数数

  • n_melsint) – mel filterbank 的数量

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

返回

变换矩阵,右乘 大小为 (, ) 的行数据。n_melsn_mfcc

返回类型

张肌

mask_along_axis

torchaudio.functional.mask_along_axis(specgram:Torch。Tensormask_param:intmask_value:floataxis: int→ torch。张量[来源]

沿 应用蒙版。掩码将从 indices 中应用,其中从 和 中采样。 所有示例将具有相同的掩码间隔。axis[v_0, v_0 + v)vuniform(0, mask_param)v_0uniform(0, max_v - v)

参数
  • specgramTensor) – 实频谱图 (channel, freq, time)

  • mask_paramint) – 要屏蔽的列数将从 [0, mask_param] 中统一采样

  • mask_valuefloat) – 要分配给掩码列的值

  • axisint) - 应用遮罩的轴(1 ->频率,2 -> 时间)

返回

维度的掩码频谱图 (channel, freq, time)

返回类型

张肌

mask_along_axis_iid

torchaudio.functional.mask_along_axis_iid(specgrams:Torch。Tensormask_param:intmask_value:floataxis: int→ torch。张量[来源]

沿 应用蒙版。掩码将从 indices 中应用,其中从 和 中采样。axis[v_0, v_0 + v)vuniform(0, mask_param)v_0uniform(0, max_v - v)

参数
  • specgramsTensor) – 实数频谱图 (batch, channel, freq, time)

  • mask_paramint) – 要屏蔽的列数将从 [0, mask_param] 中统一采样

  • mask_valuefloat) – 要分配给掩码列的值

  • axisint) – 要应用遮罩的轴(频率为 2 ->,时间为 3 ->)

返回

维度的掩码频谱图(batch、channel、freq、time)

返回类型

张肌

mu_law_encoding

torchaudio.functional.mu_law_encoding(x:Torch。Tensor,quantization_channels: int → torch 的 Tensor 中。张量[来源]

基于 mu-law 压缩扩展对信号进行编码。有关更多信息,请参阅维基百科条目

此算法假设信号已缩放到 -1 和 1 之间,并且 返回使用 0 到 quantization_channels - 1 之间的值编码的信号。

参数
  • xTensor) - 输入张量

  • quantization_channelsint) – 通道数

返回

mu-law 编码后的输入

返回类型

张肌

mu_law_decoding

torchaudio.functional.mu_law_decoding(x_mu:Torch。Tensor,quantization_channels: int → torch 的 Tensor 中。张量[来源]

解码 mu-law 编码信号。有关更多信息,请参阅维基百科条目

这需要值介于 0 和 quantization_channels - 1 之间的输入 并返回缩放范围介于 -1 和 1 之间的信号。

参数
  • x_muTensor) – 输入张量

  • quantization_channelsint) – 通道数

返回

mu-law 解码后的输入

返回类型

张肌

apply_codec

torchaudio.functional.apply_codec(波形:手电筒。张量sample_rate:int格式:strchannels_first:bool = True压缩:可选[浮点] = 无编码:可选[str] = 无bits_per_sample:可选[int] = 无)→ torch。张量[来源]

将编解码器作为增强的一种形式。

参数
  • waveformTensor) - 音频数据。必须是 2 维的。另请参阅 。`channels_first`

  • sample_rateint) – 音频波形的采样率。

  • formatstr) – 文件格式。

  • channels_firstbool) – 当 True 时,输入和输出 Tensor 的维度均为 。 否则,它们的维度为 。[channel, time][time, channel]

  • compressionfloat) (压缩 (浮点) ) – 用于 WAV 以外的格式。 有关详细信息,请参阅

  • encodingstroptional) – 更改受支持格式的编码。 有关更多详细信息,请参阅

  • bits_per_sampleintoptional) – 更改受支持格式的位深度。 有关更多详细信息,请参阅

返回

结果 Tensor。 如果 ,则它有 else 。channels_first=True[channel, time][time, channel]

返回类型

torch.Tensor

复杂实用程序

伪复张量的实用程序。这不适用于原生复杂 dtype,例如 cfloat64,而是适用于具有实值类型的张量,并且在实部和虚部的末尾具有额外的维度。

角度

torchaudio.functional.angle(complex_tensor:Torch。Tensor) → torch 的 Tensor 中。张量[来源]

计算复张量输入的角度。

参数

complex_tensorTensor) - 张量形状 (..., complex=2)

返回

复张量的角度。形状 (..., )

返回类型

张肌

complex_norm

torchaudio.functional.complex_norm(complex_tensor:Torch。Tensor功率:float = 1.0→ torch。张量[来源]

计算复张量输入的范数。

参数
  • complex_tensorTensor) - 张量形状 (..., complex=2)

  • powerfloat) - 标准功率(默认值:1.0)。

返回

标准化输入张量的幂。形状 (..., )

返回类型

张肌

磁相

torchaudio.functional.magphase(complex_tensor:Torch。张量幂:float = 1.0) → Tuple[torch.Tensor、torch 的 Tensor 和 Torch 的 T张量][来源]

将形状为 (..., 2) 的复值频谱图分离为其大小和相位。

参数
  • complex_tensorTensor) - 张量形状 (..., complex=2)

  • powerfloat) - 标准功率。(默认值:1.0)

返回

复张量的大小和相位

返回类型

(张量、张量)

滤波

allpass_biquad

torchaudio.functional.allpass_biquad(波形:手电筒。Tensorsample_rate: intcentral_freq: floatQ: float = 0.707) → torch。张量[来源]

设计双极点全通滤波器。类似于 SoX 实现。

参数
返回

(..., 时间) 的维度波形

返回类型

张肌

引用

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:intcentral_freq:浮点Q:浮点 = 0.707噪声:bool = False→ torch。张量[来源]

设计双极带滤波器。类似于 SoX 实现。

参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

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

  • central_freqfloat) – 中心频率 (以 Hz 为单位)

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

  • noisebooloptional) – 如果 ,则对未音调的音频(例如打击乐)使用备用模式。 如果 ,则使用面向音高音频的模式,即语音、歌唱、 或器乐 (默认值: )。TrueFalseFalse

返回

(..., 时间) 的维度波形

返回类型

张肌

引用

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

bandpass_biquad

torchaudio.functional.bandpass_biquad(波形:手电筒。Tensorsample_rate: intcentral_freq: floatQ: float = 0.707const_skirt_gain: bool = False → torch。张量[来源]

设计 2 极点带通滤波器。类似于 SoX 实现。

参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

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

  • central_freqfloat) – 中心频率 (以 Hz 为单位)

  • Q浮点可选) – https://en.wikipedia.org/wiki/Q_factor (默认:0.707)

  • const_skirt_gainbooloptional) – 如果 ,则使用恒定的裙边增益 (峰值增益 = Q)。 如果 ,则使用恒定的 0dB 峰值增益。(默认:TrueFalseFalse)

返回

(..., 时间) 的维度波形

返回类型

张肌

引用

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

bandreject_biquad

torchaudio.functional.bandreject_biquad(波形:手电筒。Tensorsample_rate: intcentral_freq: floatQ: float = 0.707) → torch。张量[来源]

设计 2 极点带阻滤波器。类似于 SoX 实现。

参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

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

  • central_freqfloat) – 中心频率 (以 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

bass_biquad

torchaudio.functional.bass_biquad(波形:手电筒。张量sample_rate:int增益:浮点数central_freq:浮点数 = 100,Q:浮点数 = 0.707→torch。张量[来源]

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

参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

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

  • gainfloat) - 提升(或衰减)所需的增益,以 dB 为单位。

  • central_freqfloatoptional) – 中心频率 (以 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

双二阶

torchaudio.functional.biquad(波形:手电筒。张量b0:浮点、b1:浮点、b2:浮点、a0:浮点、a1:浮点a2:浮点→ torch。张量[来源]

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

参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

  • b0float) – 电流输入的分子系数,x[n]

  • b1float) – 一步前输入的分子系数 x[n-1]

  • b2float) – 两个时间步前输入的分子系数 x[n-2]

  • A0float) – 电流输出 Y[n] 的分母系数,通常为 1

  • A1float) – 电流输出的分母系数 Y[n-1]

  • A2float) – 电流输出的分母系数 Y[n-2]

返回

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

返回类型

张肌

反差

torchaudio.functional.contrast(波形:手电筒。Tensor,enhancement_amount:float = 75.0→ torch。张量[来源]

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

参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

  • enhancement_amountfloat) – 控制增强的数量 enhancement_amount 允许的值范围:0-100 请注意,enhancement_amount = 0 仍会显著增强对比度

返回

(..., 时间) 的维度波形

返回类型

张肌

引用

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

直流移位

torchaudio.functional.dcshift(波形:手电筒。Tensorshift: floatlimiter_gain: 可选[float] = None) → torch。张量[来源]

对音频应用 DC Shift 键。类似于 SoX 实现。 这对于消除 DC 偏移很有用 (可能是由录音链中的硬件问题引起的)从 Audio

参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

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

  • limiter_gainfloat) – 它仅用于峰值以防止削波 它的值应远小于 1(例如 0.05 或 0.02)

返回

(..., 时间) 的维度波形

返回类型

张肌

引用

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

deemph_biquad

torchaudio.functional.deemph_biquad(波形:手电筒。Tensor,sample_rate: int → torch。张量[来源]

应用 ISO 908 CD 去加重(搁架)IIR 滤镜。类似于 SoX 实现。

参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

  • sample_rateint) – 波形的采样率、允许的采样率或4410048000

返回

(..., 时间) 的维度波形

返回类型

张肌

引用

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

抖动

torchaudio.functional.dither(波形:手电筒。张量density_function:str = 'TPDF'noise_shaping:bool = False→ torch。张量[来源]

抖动会增加存储在 通过消除非线性截断失真实现特定的位深度 (即添加最小感知的噪声来掩盖量化引起的失真)。

参数
  • waveformTensor) - 维度 (..., time) 的音频张量

  • density_functionstroptional) - 连续随机变量的密度函数。(三角概率密度函数)、(矩形概率密度函数) 或 (高斯概率密度函数) (默认值: ) 之一。"TPDF""RPDF""GPDF""TPDF"

  • noise_shapingbooloptional) – 塑造频谱的过滤过程 量化误差的能量(默认值:False)

返回

波形抖动

返回类型

张肌

equalizer_biquad

torchaudio.functional.equalizer_biquad(波形:手电筒。Tensorsample_rate: intcenter_freq: floatgain: floatQ: float = 0.707) → torch。张量[来源]

设计双二阶峰值均衡器滤波器并执行滤波。类似于 SoX 实现。

参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

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

  • center_freqfloat) – 滤波器的中心频率

  • 增益float) – 提升(或衰减)处的所需增益,单位为 dB

  • Q浮点可选) – https://en.wikipedia.org/wiki/Q_factor (默认:0.707)

返回

(..., 时间) 的维度波形

返回类型

张肌

镶边

torchaudio.functional.flanger(波形:手电筒。张量sample_rate:int延迟:float = 0.0深度:float = 2.0regen:float = 0.0宽度:float = 71.0速度:float = 0.5phase:float = 25.0调制:str = 'sinusoidal'插值:str = 'linear' →Torch。张量[来源]

将镶边效果应用于音频。类似于 SoX 实现。

参数
  • waveformTensor) – 维度为 (..., channel, time) 的音频波形。 最多允许 4 个通道

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

  • delayfloat) – 期望的延迟,以毫秒 (ms) 为单位 允许的值范围为 0 到 30

  • depthfloat) – 所需的延迟深度,以毫秒 (ms) 为单位 允许的值范围为 0 到 10

  • regenfloat) – 所需的 regen (Feeback Gain) (以 dB 为单位) 允许的值范围为 -95 到 95

  • widthfloat) – 所需的宽度 (延迟增益) ,单位为 dB 允许的值范围为 0 到 100

  • speedfloat) – 调制速度,单位为 Hz 允许的值范围为 0.1 到 10

  • phasefloat) – 多通道的相移百分比 允许的值范围为 0 到 100

  • modulationstr) – 使用 “sinusoidal” 或 “triangular” 调制。(默认:sinusoidal)

  • interpolationstr) – 使用 “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

获得

torchaudio.functional.gain(波形:手电筒。Tensor,gain_db:float = 1.0)→ torch。张量[来源]

对整个波形进行放大或衰减。

参数
  • waveformTensor) - 维度 (..., time) 的音频张量。

  • gain_dbfloatoptional以分贝dB) 为单位的增益调整 – )。1.0

返回

整个波形被 gain_db 放大。

返回类型

张肌

highpass_biquad

torchaudio.functional.highpass_biquad(波形:手电筒。Tensorsample_rate: intcutoff_freq: floatQ: float = 0.707) → torch。张量[来源]

设计双二阶高通滤波器并执行滤波。类似于 SoX 实现。

参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

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

  • cutoff_freqfloat) – 滤波器截止频率

  • Q浮点可选) – https://en.wikipedia.org/wiki/Q_factor (默认:0.707)

返回

波形维度 (..., time)

返回类型

张肌

过滤器

torchaudio.functional.lfilter(波形:手电筒。Tensor,a_coeffs:torch。Tensor,b_coeffs:torch。Tensor,clamp: bool = True) → torch。张量[来源]

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

参数
  • waveformTensor) - 维数为 的音频波形。必须规范化为 -1 到 1。(..., time)

  • a_coeffsTensor) – 维数 的差集方程的分母系数。 较低的延迟系数在前,例如 . 必须与 b_coeffs 相同(必要时填充 0)。(n_order + 1)[a0, a1, a2, ...]

  • b_coeffsTensor) – 维数的分子差分方程 。 较低的延迟系数在前,例如 . 必须与 a_coeffs 相同(必要时用 0 填充)。(n_order + 1)[b0, b1, b2, ...]

  • clampbooloptional) – 如果 ,则将输出信号限制在 [-1, 1] 范围内(默认:TrueTrue)

返回

维数为 的波形。(..., time)

返回类型

张肌

lowpass_biquad

torchaudio.functional.lowpass_biquad(波形:手电筒。Tensorsample_rate: intcutoff_freq: floatQ: float = 0.707) → torch。张量[来源]

设计双二阶低通滤波器并执行滤波。类似于 SoX 实现。

参数
返回

(..., 时间) 的维度波形

返回类型

张肌

超速

torchaudio.functional.overdrive(波形:手电筒。张量增益:浮点数 = 20颜色:浮点数 = 20)→torch。张量[来源]

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

参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

  • 增益float) – 提升(或衰减)处的所需增益,单位为 dB 允许的值范围为 0 到 100

  • 颜色float) – 控制过驱动输出中均匀谐波含量的数量 允许的值范围为 0 到 100

返回

(..., 时间) 的维度波形

返回类型

张肌

引用

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

相位

torchaudio.functional.phaser(波形:手电筒。张量sample_rate:intgain_in:浮点数 = 0.4gain_out:浮点数 = 0.74delay_ms:浮点数 = 3.0衰减:浮点数 = 0.4mod_speed:浮点数 = 0.5正弦曲线:bool = True→Torch。张量[来源]

对音频应用阶段划分效果。类似于 SoX 实现。

参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

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

  • gain_infloat) – 提升(或衰减)时所需的输入增益,单位为 dB 允许的值范围为 0 到 1

  • gain_outfloat) – 提升(或衰减)时所需的输出增益,单位为 dB 允许的值范围为 0 到 1e9

  • delay_msfloat) – 所需的延迟(以毫秒为单位) 允许的值范围为 0 到 5.0

  • Decayfloat) – 相对于增益的期望衰减 允许的值范围为 0 到 0.99

  • mod_speedfloat) – 调制速度,单位为 Hz 允许的值范围为 0.1 到 2

  • sinusoidalbool) – 如果 ,则使用正弦调制(最好用于多个乐器) 如果 ,则使用三角调制(为单个乐器提供更清晰的移相效果) (默认:TrueFalseTrue)

返回

(..., 时间) 的维度波形

返回类型

张肌

引用

http://sox.sourceforge.net/sox.htmlScott Lehman,Effects Explained,https://web.archive.org/web/20051125072557/http://www.harmony-central.com/Effects/effects-explained.html

riaa_biquad

torchaudio.functional.riaa_biquad(波形:手电筒。Tensor,sample_rate: int → torch。张量[来源]

应用 RIAA 黑胶唱片播放均衡。类似于 SoX 实现。

参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

  • sample_rateint) – 波形的采样率,例如 44100 (Hz)。 允许的采样率(以 Hz 为单位):,''48000'',''88200'',''96000''44100

返回

(..., 时间) 的维度波形

返回类型

张肌

引用

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 实现。

参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

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

  • gainfloat) - 提升(或衰减)所需的增益,以 dB 为单位。

  • central_freqfloatoptional) – 中心频率 (以 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

瓦德

特征提取

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.4hp_filter_freq:浮点数 = 50.0lp_filter_freq:浮点数 = 6000.0hp_lifter_freq:浮点数 = 150.0lp_lifter_freq:浮点数 = 2000.0→手电筒。张量[来源]

语音活动检测器。类似于 SoX 实现。 尝试从语音录音的结尾修剪静音和安静的背景声音。 该算法目前使用简单的倒谱功率测量来检测语音, 所以可能会被其他事物所愚弄,尤其是音乐。

该效果只能从音频的前面进行修剪, 所以为了从后面修剪,还必须使用反向效果。

参数
  • waveformTensor) - 维度 (..., time) 的音频张量

  • sample_rateint) – 音频信号的采样率。

  • trigger_level (float, optional) (浮点数,可选) – 用于触发活动检测的测量级别。 这可能需要根据噪音水平、信号水平、 以及输入音频的其他特性。(默认值:7.0)

  • trigger_timefloatoptional) – 时间常数 (以秒为单位) 用于帮助忽略短促的声音。(默认值:0.25)

  • search_timefloatoptional) – 音频量 (以秒为单位) 搜索更安静/更短的音频突发以包含之前的音频 拖动到检测到的触发点。(默认值:1.0)

  • allowed_gapfloatoptional) – 两者之间允许的间隔 (以秒为单位) 要包含先前的音频的较长/更短的突发 拖动到检测到的触发点。(默认值:0.25)

  • pre_trigger_timefloatoptional) – 要保留的音频量 (以秒为单位) 在触发点之前以及找到的任何更安静/更短的突发。(默认值:0.0)

  • boot_timefloatoptional算法内部) – 估计/减少以检测所需音频的开始。 此选项设置初始噪声估计的时间。(默认值:0.35)

  • noise_up_timefloatoptional) – 当噪音水平增加时。(默认值:0.1)

  • noise_down_timefloatoptional) – 当噪音水平降低时。(默认值:0.01)

  • noise_reduction_amountfloatoptional) – 检测算法 (例如 0, 0.5, ...)。(默认:1.35)

  • measure_freqfloatoptional) – 处理/测量。(默认值:20.0)

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

  • measure_smooth_timefloatoptional) – 光谱测量。(默认值:0.4)

  • hp_filter_freqfloatoptional) – 在检测器算法的输入处。(默认值:50.0)

  • lp_filter_freqfloatoptional) – 在检测器算法的输入处。(默认值:6000.0)

  • hp_lifter_freqfloatoptional) – 在检测器算法中。(默认值:150.0)

  • lp_lifter_freqfloatoptional) – 在检测器算法中。(默认值:2000.0)

返回

维度 (..., time) 的音频张量。

返回类型

张肌

引用

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

光谱图

torchaudio.functional.spectrogram(波形:手电筒。张量、pad:int、window:torch 的 intent 和。张量、n_fft:int、hop_length:int、win_length:int、power:可选[float]、标准化:bool、center: bool = True、pad_mode:str = 'reflect'、单面:bool = True→ torch。张量[来源]

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

参数
  • waveformTensor) - 维度 (..., time) 的音频张量

  • padint) - 信号的两侧填充

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

  • n_fftint) – FFT 的大小

  • hop_lengthint) – STFT 窗口之间的跃点长度

  • win_lengthint) – 窗口大小

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

  • normalizedbool) - 是否在 stft 之后按幅度进行归一化

  • centerbooloptional) – 是否在两侧填充,以便 第 \(t\) 帧以时间 \(t \times \text{hop\_length}\) 为中心。 违约:waveformTrue

  • pad_modestringoptional) – 控制 is 时使用的填充方法。违约:centerTrue"reflect"

  • onesidedbooloptional) – 控制是否将一半的结果返回给 避免冗余。违约:True

返回

维度 (..., freq, time),freq 是 和 的编号 傅里叶分箱,时间是窗口跃点数 (n_frame)。n_fft // 2 + 1n_fft

返回类型

张肌

格里芬林

torchaudio.functional.griffinlim(specgram:Torch。Tensor,窗口:torch。张量、n_fft:int、hop_length:int、win_length:int、power:float、normalized: bool、n_iter:int、momentum:float、length: Optional[int], rand_init: bool → torch。张量[来源]
使用 Griffin-Lim 变换从线性尺度幅度频谱图计算波形。

librosa 移植的实现。

  • [1] McFee、Brian、Colin Raffel、Dawen Liang、Daniel PW Ellis、Matt McVicar、Eric Battenberg 和 Oriol Nieto。

    “librosa:python 中的音频和音乐信号分析。” 第 14 届蟒蛇科学会议论文集,第 18-25 页。2015.

  • [2] Perraudin, N., Balazs, P., & Søndergaard, P. L.

    “一种快速的 Griffin-Lim 算法,” IEEE 信号处理在音频和声学中的应用研讨会(第 1-4 页), 2013 年 10 月。

  • [3] D. W. Griffin 和 J. S. Lim,

    “来自改进的短时傅里叶变换的信号估计,” IEEE Trans. ASSP,第 32 卷,第 2 期,第 236-243 页,1984 年 4 月。

参数
  • specgramTensor) - 维度为 (..., freq, frames) 的仅幅度的 STFT 频谱图 其中 freq 是 。n_fft // 2 + 1

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

  • n_fftint) – FFT 的大小,创建 binn_fft // 2 + 1

  • hop_lengthint) – STFT 窗口之间的跃点长度。( 违约:win_length // 2)

  • win_lengthint) – 窗口大小。(默认:n_fft)

  • powerfloat) - 幅度频谱图的指数, (必须> 0) 例如,1 表示能量,2 表示功率,等等。

  • normalizedbool) - 是否在 stft 之后按量级进行归一化。

  • n_iterint) – 阶段恢复过程的迭代次数。

  • momentumfloat) - 快速 Griffin-Lim 的动量参数。 将此设置为 0 将恢复原始的 Griffin-Lim 方法。 接近 1 的值可以加快收敛速度,但高于 1 的值可能不会收敛。

  • lengthint or None) - 预期输出的数组长度。

  • rand_initbool) – 如果为 True,则随机初始化阶段,否则为零。

返回

waveform of (..., time),其中 time 等于参数(如果给定)。length

返回类型

torch.Tensor

phase_vocoder

torchaudio.functional.phase_vocoder(complex_specgrams:Torch。Tensorrate:floatphase_advance:torch。Tensor → torch 的 Tensor 中。张量[来源]

给定一个 STFT 张量,在不修改音高的情况下通过 的因子 。rate

参数
  • complex_specgramsTensor) – 维度 (..., freq, time, complex=2)

  • ratefloat) - 加速因子

  • phase_advanceTensor) – 每个 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])

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

参数
  • specgramTensor) - 维度 (..., freq, time) 的音频张量

  • win_lengthintoptional) – 用于计算增量的窗口长度 (默认值:5)

  • modestroptional) – 传递给 padding 的 Mode 参数(默认值:"replicate")

返回

维度增量的张量 (..., 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:intframe_time:float = 0.01win_length:int = 30freq_low:int = 85freq_high:int = 3400→ torch。张量[来源]

检测俯仰频率。

它是使用归一化互相关函数和中位数平滑实现的。

参数
  • waveformTensor) - 维度为 (..., freq, time) 的音频张量

  • sample_rateint) – 波形的采样率 (Hz)

  • frame_timefloatoptional) – 帧的持续时间 (Default: )。10 ** (-2)

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

  • freq_lowintoptional) – 可检测到的最低频率 (Hz) (默认值: )。85

  • freq_highintoptional) – 可检测到的最高频率 (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。张量[来源]

对每个话语应用滑动窗口倒谱均值(和可选的方差)归一化。

参数
  • waveformTensor) - 维度为 (..., freq, time) 的音频张量

  • cmn_windowint 可选 ) – 用于运行平均 CMN 计算的帧中的窗口 ( int , 默认值 = 600)

  • min_cmn_windowint可选) – 解码开始时使用的最小 CMN 窗口 (仅在开始时添加延迟)。 仅在 center == false 时适用,如果 center==true (int, default = 100) 则忽略

  • centerbool可选) – 如果为 true,则使用以当前帧为中心的窗口 (在可能的情况下,模数末端效应)。如果为 false,则 window 位于左侧。(布尔值,默认值 = false)

  • norm_varsbooloptional) – 如果为 true,则将方差标准化为 1。(布尔值,默认值 = false)

返回

维度 (..., frame) 的 freq 张量

返回类型

张肌

compute_kaldi_pitch

torchaudio.functional.compute_kaldi_pitch(波形:手电筒。张量sample_rate:浮点数frame_length:浮点数 = 25.0,frame_shift:浮点数 = 10.0,min_f0:浮点数 = 50,max_f0:浮点数 = 400,soft_min_f0:浮点数 = 10.0,penalty_factor:浮点数 = 0.1,lowpass_cutoff:浮点数 = 1000,resample_frequency:浮点数 = 4000,delta_pitch:浮点数 = 0.005,nccf_ballast:浮点数 = 7000,lowpass_filter_width:int = 1upsample_filter_width:int = 5,max_frames_latency:int = 0,frames_per_chunk:int = 0,simulate_first_pass_online:bool = False,recompute_frame:int = 500,snip_edges:bool = True→ torch。张量[来源]

根据 [1] 中描述的方法提取音高。

此函数计算来自 Kaldi 的 compute-kaldi-pitch-feats 的等效值。

参数
  • waveformTensor) - 形状为 (..., time) 的输入波形。

  • sample_rate (float) (浮点) ) – 波形的采样率。

  • frame_length (float, optional) ( (floatoptional) (以毫秒为单位)) – 帧长度(以毫秒为单位)。(默认值:25.0)

  • frame_shiftfloatoptional) – 以毫秒为单位的移帧。(默认值:10.0)

  • min_f0floatoptional) – 要搜索的最小 F0 (Hz) (默认值:50.0)

  • max_f0floatoptional) – 要搜索的最大 F0 (Hz) (默认值:400.0)

  • soft_min_f0float (floatoptional) – 以软方式应用的最小 f0 不得超过 min-f0 (默认值:10.0)

  • penalty_factor (float, optional) ( (float, optional) (浮点可选) – FO 更改的成本因子。(默认值:0.1)

  • lowpass_cutofffloatoptional) – LowPass filter 的截止频率 (Hz) (默认值:1000)

  • resample_frequencyfloatoptional) – 我们将信号下采样到的频率。必须大于 low-pass-cutoff 的两倍。 (默认值:4000)

  • delta_pitchfloatoptional) – 我们的算法测量的音高的最小相对变化。(默认值:0.005)

  • nccf_ballastfloatoptional) – 增加此系数可降低静默帧的 NCCF (默认值:7000)

  • lowpass_filter_widthintoptional) - 确定低通滤波器宽度的整数,more提供更清晰的滤波器。 (默认值:1)

  • upsample_filter_widthintoptional) – 确定上采样 NCCF 时过滤器宽度的整数。(默认值:5)

  • max_frames_latencyintoptional) – 我们允许音高跟踪引入的最大延迟帧数 特征处理 (仅在 和 时影响输出) (默认值: 0)frames_per_chunk > 0simulate_first_pass_online=True

  • frames_per_chunkintoptional) – 用于能量标准化的帧数。(默认值:0)

  • simulate_first_pass_onlinebool可选) – 如果为 true,则该函数将输出与在线解码器相对应的特征 将在解码的第一轮中看到 - 而不是功能的最终版本, 这是默认设置。(默认值:False) 如果 .frames_per_chunk > 0

  • recompute_frameintoptional) – 仅与在线音高提取的兼容性相关。 非关键参数;我们重新计算一些正向指针的帧, 在修正了我们对信号能量的估计之后。 如果 .(默认值:500)frames_per_chunk > 0

  • snip_edgesbool可选) – 如果此项设置为 false,则不会截取结束边缘附近的不完整帧。 因此,帧数是文件大小除以 Frame-Shift。 这使得不同类型的特征提供相同的帧数。(默认值:True)

返回

Pitch 功能。形状:最后一个维度 对应于 pitch 和 NCCF。(batch, frames 2)

返回类型

张肌

参考:
  • 针对自动语音识别进行调整的音高提取算法

    1. Ghahremani、B. BabaAli、D. Povey、K. Riedhammer、J. Trmal 和 S. Khudanpur

    2014 IEEE声学、语音和信号处理国际会议(ICASSP),

    佛罗伦萨,2014 年,第 2494-2498 页,doi:10.1109/ICASSP.2014.6854049。

spectral_centroid

torchaudio.functional.spectral_centroid(波形:手电筒。张量sample_rate:intpad:intwindow:torch。Tensorn_fft:inthop_length:intwin_length:int → torch。张量[来源]

计算沿时间轴的每个通道的频谱质心。

谱质心定义为 frequency 值,按其量级加权。

参数
  • waveformTensor) - 维度 (..., time) 的音频张量

  • sample_rateint) – 音频波形的采样率

  • padint) - 信号的两侧填充

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

  • n_fftint) – FFT 的大小

  • hop_lengthint) – STFT 窗口之间的跃点长度

  • win_lengthint) – 窗口大小

返回

维度 (..., 时间)

返回类型

张肌

文档

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

查看文档

教程

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

查看教程

资源

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

查看资源