目录

torchaudio.functional

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

效用

amplitude_to_DB

torchaudio.functional.amplitude_to_DB(xTorch。张量乘数floataminfloatdb_multiplierfloattop_db:可选[float] = Nonetorch。张量[来源]

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript

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

参数
  • 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(xTorch。Tensorref floatpower floattorch 的 Tensor 中。张量[来源]

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:TorchScript
参数
  • xTensor) - 转换为功率/振幅刻度之前的输入张量。

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

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

返回

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

返回类型

张肌

melscale_fbanks

torchaudio.functional.melscale_fbanks(n_freqsintf_min:floatf_max:floatn_mels:intsample_rate intnorm 可选[str] = Nonemel_scale str = 'htk'torch。张量[来源]

创建频次 bin 转换矩阵。

此功能支持以下设备:CPU 此 API 支持以下属性:TorchScript

注意

为了与 librosa 的数值兼容性,并非所有系数 在结果滤波器组中,其幅值为 1。

生成的滤波器组的可视化
参数
  • n_freqsint) – 要突出显示/应用的频率数

  • f_minfloat) – 最小频率 (Hz)

  • f_maxfloat) – 最大频率 (Hz)

  • n_melsint) – mel filterbank 的数量

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

  • normstrNone可选) – 如果为 'slaney',则将三角形 mel 权重除以 mel 带的宽度 (区域标准化)。(默认:None)

  • mel_scalestroptional) – 要使用的缩放:或 .(默认:htkslaneyhtk)

返回

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

返回类型

张肌

教程使用:melscale_fbanks

linear_fbanks

torchaudio.functional.linear_fbanks(n_freqsintf_min:floatf_max:floatn_filter:intsample_rate inttorch 的 intent 中。张量[来源]

创建线性三角形过滤器组。

此功能支持以下设备:CPU 此 API 支持以下属性:TorchScript

注意

为了与 librosa 的数值兼容性,并非所有系数 在结果滤波器组中,其幅值为 1。

生成的滤波器组的可视化
参数
  • n_freqsint) – 要突出显示/应用的频率数

  • f_minfloat) – 最小频率 (Hz)

  • f_maxfloat) – 最大频率 (Hz)

  • n_filterint) – (线性)三角滤波器的数量

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

返回

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

返回类型

张肌

create_dct

torchaudio.functional.create_dct(n_mfcc: intn_mels: intnorm Optional[str]torch。张量[来源]

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

此功能支持以下设备:CPU 此 API 支持以下属性:TorchScript
参数
  • n_mfccint) – 要保留的 mfc 系数数

  • n_melsint) – mel filterbank 的数量

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

返回

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

返回类型

张肌

mask_along_axis

torchaudio.functional.mask_along_axis(specgramTorch。张量mask_param:int,mask_value:浮点int,p浮点 = 1,0割torch。张量[来源]

沿 应用蒙版。axis

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript

掩码将从 indices 中应用, where 采样自 和 from ,使用 when 和其他方式。 所有示例将具有相同的掩码间隔。[v_0, v_0 + v)vuniform(0, max_v)v_0uniform(0, specgrams.size(axis) - v)max_v = mask_paramp = 1.0max_v = min(mask_param, floor(specgrams.size(axis) * p))

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

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

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

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

  • pfloatoptional) – 可以屏蔽的列的最大比例。(默认值:1.0)

返回

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

返回类型

张肌

mask_along_axis_iid

torchaudio.functional.mask_along_axis_iid(specgramsTorch。张量mask_param:int,mask_value:浮点int,p浮点 = 1,0割torch。张量[来源]

沿 应用蒙版。axis

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript

掩码将从 indices 中应用, 其中采样自 和 采样自 , 与 when 和 otherwise 一起。[v_0, v_0 + v)vuniform(0, max_v)v_0uniform(0, specgrams.size(axis) - v)max_v = mask_paramp = 1.0max_v = min(mask_param, floor(specgrams.size(axis) * p))

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

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

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

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

  • pfloatoptional) – 可以屏蔽的列的最大比例。(默认值:1.0)

返回

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

返回类型

张肌

mu_law_encoding

torchaudio.functional.mu_law_encoding(xTorch。Tensor,quantization_channels inttorch 的 Tensor 中。张量[来源]

基于 mu-law 压缩扩展对信号进行编码。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:TorchScript

有关更多信息,请参阅维基百科条目

该算法期望信号已缩放到 -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 inttorch 的 Tensor 中。张量[来源]

解码 mu-law 编码信号。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:TorchScript

有关更多信息,请参阅维基百科条目

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

参数
  • x_muTensor) – 输入张量

  • quantization_channelsint) – 通道数

返回

mu-law 解码后的输入

返回类型

张肌

apply_codec

torchaudio.functional.apply_codec(波形手电筒。张量sample_rate:int格式str,channels_first:bool = True压缩 可选[float] = 编码可选[str] = bits_per_sample: 可选[int] = Nonetorch。张量[来源]

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

此功能支持以下设备:CPU
参数
  • waveformTensor) - 音频数据。必须是 2 维的。另请参阅 。`channels_first`

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

  • formatstr) – 文件格式。

  • channels_firstbooloptional) – 当 True 时,输入和输出 Tensor 都具有维度 (channel, time)。 否则,它们具有维度 (time, channel)。

  • compressionfloatNone可选) – 用于 WAV 以外的格式。 有关更多详细信息,请参阅

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

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

返回

结果 Tensor。 如果 ,则它有 (channel, time) else (time, channel)。channels_first=True

返回类型

张肌

教程使用:apply_codec

重新采样

torchaudio.functional.resample(波形手电筒。张量orig_freq:int,new_freq:int,lowpass_filter_width:int = 6滚降 浮点= 0.99,resampling_methodstr = 'sinc_interpolation'测试版:可选[浮点数] = 没有割torch。张量[来源]

使用带限插值在新频率处对波形进行重采样。[1]。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript

注意

transforms.Resampleprecalculates 并重用 resampling 内核,因此使用它将导致 如果使用相同的 resampling 参数对多个波形进行重采样,则计算效率更高。

参数
  • waveformTensor) - 维度 (..., time) 的输入信号

  • orig_freqint) – 信号的原始频率

  • new_freqint) – 所需的频率

  • lowpass_filter_widthintoptional) – 控制滤镜的锐度,更多 == 更锐利 但效率较低。(默认:6)

  • roll offfloat optional) (滚动频率,浮点数,可选) – 滤波器的滚降频率,以奈奎斯特频率的分数表示。 较低的值会减少抗锯齿,但也会降低一些最高频率。(默认:0.99)

  • resampling_methodstroptional) – 要使用的重采样方法。 选项:[、](默认值:sinc_interpolationkaiser_window'sinc_interpolation')

  • betafloatNone可选) – 用于 Kaiser 窗口的形状参数。

返回

新维度频率 (..., time) 的波形。

返回类型

张肌

教程使用:resample

滤波

allpass_biquad

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

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
返回

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

返回类型

张肌

参考:

band_biquad

torchaudio.functional.band_biquad(波形手电筒。张量sample_rate:int,central_freq:浮点Q浮点 = 0.707噪声 布尔 = False) → 割torch。张量[来源]

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

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

  • central_freqfloattorch.Tensor) – 中心频率(以 Hz 为单位)

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

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

返回

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

返回类型

张肌

参考:

bandpass_biquad

torchaudio.functional.bandpass_biquad(波形手电筒。张量sample_rate:int,central_freq浮点数Q浮点= 0.707,const_skirt_gain bool = Falsetorch 的 Shell。张量[来源]

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

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

  • central_freqfloattorch.Tensor) – 中心频率(以 Hz 为单位)

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

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

返回

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

返回类型

张肌

参考:

bandreject_biquad

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

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
返回

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

返回类型

张肌

参考:

bass_biquad

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

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
返回

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

返回类型

张肌

参考:

双二阶

torchaudio.functional.biquad(波形手电筒。张量b0浮点数b1浮点数b2浮点数a0浮点数a1 浮点型,A2 浮点型)手电筒。张量[来源]

执行输入张量的双二阶滤波器。初始条件设置为 0。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
返回

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

返回类型

张肌

参考:

反差

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

应用对比效果。类似于 SoX 实现。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript

与压缩类似,此效果会修改音频信号以使其听起来更响亮

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

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

返回

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

返回类型

张肌

参考:

直流移位

torchaudio.functional.dcshift(波形手电筒。Tensorshift floatlimiter_gain 可选[float] = Nonetorch。张量[来源]

对音频应用 DC Shift 键。类似于 SoX 实现。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:TorchScript

这对于消除 DC 偏移很有用 (可能是由录音链中的硬件问题引起的)从 Audio

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

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

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

返回

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

返回类型

张肌

参考:

deemph_biquad

torchaudio.functional.deemph_biquad(波形手电筒。Tensor,sample_rateinttorch。张量[来源]

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

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

返回

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

返回类型

张肌

参考:

抖动

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

Apply dither (应用抖动)

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:TorchScript

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

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

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

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

返回

波形抖动

返回类型

张肌

equalizer_biquad

torchaudio.functional.equalizer_biquad(波形手电筒。张量sample_rateint,center_freq:浮点增益浮点Q浮点 = 0.707torch。张量[来源]

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
返回

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

返回类型

张肌

filtfilt

torchaudio.functional.filtfilt(波形手电筒。Tensor,a_coeffs:torch。Tensor,b_coeffs:torch。Tensor,clamp bool = Truetorch 的 Tensor 中。张量[来源]

将 IIR 滤波器向前和向后应用于波形。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript

灵感来自 https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.filtfilt.html

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

  • a_coeffsTensor) – 任一维度的差分方程的分母系数 具有形状 (num_order + 1) 的 1D 或具有形状 (num_filters, num_order + 1) 的 2D。 较低的延迟系数在前,例如 . 必须与 b_coeffs 相同(必要时填充 0)。[a0, a1, a2, ...]

  • b_coeffsTensor) – 任一维数的分子差分方程 具有形状 (num_order + 1) 的 1D 或具有形状 (num_filters, num_order + 1) 的 2D。 较低的延迟系数在前,例如 . 必须与 a_coeffs 相同(必要时用 0 填充)。[b0, b1, b2, ...]

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

返回

维度为 (..., num_filters, time) 的波形,如果 和 是 2D 张量,否则为 (..., time)。a_coeffsb_coeffs

返回类型

张肌

镶边

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

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
  • waveformTensor) – 维度为 (..., channel, time) 的音频波形。 最多允许 4 个通道

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

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

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

  • 再生floatoptional) – 所需的再生 (反馈增益) (以 dB 为单位) 允许的值范围为 -95 到 95

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

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

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

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

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

返回

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

返回类型

张肌

参考:

获得

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

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
  • waveformTensor) - 维度 (..., time) 的音频张量。

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

返回

整个波形被 gain_db 放大。

返回类型

张肌

highpass_biquad

torchaudio.functional.highpass_biquad(波形手电筒。张量sample_rateint,cutoff_freq浮点数Q浮点= 0.707)→ torch。张量[来源]

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
返回

波形维度 (..., time)

返回类型

张肌

过滤器

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

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript

注意

为避免数值问题,最好使用较小的滤波器阶数。 使用双精度还可以最大限度地减少数值精度误差。

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

  • a_coeffsTensor) – 任一维度的差分方程的分母系数 具有形状 (num_order + 1) 的 1D 或具有形状 (num_filters, num_order + 1) 的 2D。 较低的延迟系数在前,例如 . 必须与 b_coeffs 相同(必要时填充 0)。[a0, a1, a2, ...]

  • b_coeffsTensor) – 任一维数的分子差分方程 具有形状 (num_order + 1) 的 1D 或具有形状 (num_filters, num_order + 1) 的 2D。 较低的延迟系数在前,例如 . 必须与 a_coeffs 相同(必要时用 0 填充)。[b0, b1, b2, ...]

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

  • batchingbooloptional) – 仅当系数为 2D 时有效。如果 ,则 waveform 应为 最小为 2D,并且从最后一个轴开始的第二个轴的大小应等于 。 输出可以表示为 。(默认:Truenum_filtersoutput[..., i, :] = lfilter(waveform[..., i, :], a_coeffs[i], b_coeffs[i], clamp=clamp, batching=False)True)

返回

维度为 (..., num_filters, time) 的波形,如果 和 是 2D 张量,否则为 (..., time)。a_coeffsb_coeffs

返回类型

张肌

lowpass_biquad

torchaudio.functional.lowpass_biquad(波形手电筒。张量sample_rateint,cutoff_freq浮点数Q浮点= 0.707)→ torch。张量[来源]

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
返回

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

返回类型

张肌

超速

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

对音频应用过载效果。类似于 SoX 实现。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript

此效果将非线性失真应用于音频信号。

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

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

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

返回

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

返回类型

张肌

参考:

相位

torchaudio.functional.phaser(波形手电筒。张量sample_rate:int,gain_in:float = 0.4,gain_outfloat = 0.74delay_ms 浮点= 3.0衰减 浮点= 0.4mod_speed: 浮点= 0.5正弦曲线 bool = Truetorch。张量[来源]

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

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

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

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

  • delay_msfloatoptional) – 期望的延迟(以毫秒为单位) 允许的值范围为 0 到 5.0

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

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

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

返回

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

返回类型

张肌

参考:

riaa_biquad

torchaudio.functional.riaa_biquad(波形手电筒。Tensor,sample_rateinttorch。张量[来源]

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
  • waveformTensor) – 维度为 (..., time) 的音频波形

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

返回

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

返回类型

张肌

参考:

treble_biquad

torchaudio.functional.treble_biquad(波形手电筒。张量sample_rate:int增益浮点central_freq浮点 = 3000,Q = 0.707个火把。张量[来源]

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
返回

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

返回类型

张肌

参考:

特征提取

瓦德

torchaudio.functional.vad(波形手电筒。张量sample_rate:int,trigger_level:浮点= 7.0,trigger_time浮点= 0.25search_time:浮点= 1.0,allowed_gap浮点= 0.25,pre_trigger_time浮点= 0.0boot_time浮点= 0.35noise_up_time浮点= 0.1noise_down_time:浮点= 0.01noise_reduction_amount float = 1.35measure_freq: float = 20.0measure_duration: 可选[float] = measure_smooth_time:float = 0.4,hp_filter_freqfloat = 50.0lp_filter_freq浮点= 6000.0hp_lifter_freq浮点= 150.0lp_lifter_freq:浮点= 2000.0) → torch。张量[来源]

语音活动检测器。类似于 SoX 实现。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:TorchScript

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

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

参数
  • waveformTensor) – 维度 (channels, time)(time) 的音频张量形状 (channels, time) 的张量被视为多通道录音 的 Alpha S 的 Alpha S Package,并且生成的输出将被修剪到最早的 任何频道中的语音活动。

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

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

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

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

  • allowed_gapfloatoptional) – 两者之间允许的间隔 (以秒为单位) 更安静/更短的音频爆发,包括 Prior 拖动到检测到的触发点。(默认值: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) 的音频张量。

返回类型

张肌

参考:

光谱图

torchaudio.functional.spectrogram(波形手电筒。张量padintwindowtorch 的 intent 和。张量n_fft:inthop_lengthintwin_length:intpower可选[float]归一化bool居中bool = True,pad_modestr = 'reflect'onesided bool = Truereturn_complex: 可选[bool] = Nonetorch.张量[来源]

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
  • 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

  • return_complexbooloptional) – 已弃用且未使用。

返回

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

返回类型

张肌

inverse_spectrogram

torchaudio.functional.inverse_spectrogram(频谱图TORCH。张量长度Optional[int]padint窗口torch。张量n_fft:int,hop_lengthint,win_lengthint归一化bool中心 bool = Truepad_mode: str = 'reflect'单面 bool = Truetorch。张量[来源]

从提供的 复值频谱图。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
  • spectrogramTensor) - 维度为 (..., freq, time) 的音频的复张量。

  • lengthintNone) – 波形的输出长度。

  • padint) - 信号的两侧填充。只有在提供时才有效。length

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

  • n_fftint) – FFT 的大小

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

  • win_lengthint) – 窗口大小

  • normalizedbool) - stft 输出是否按幅度进行标准化

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

  • pad_modestringoptional) – 控制 is 时使用的填充方法。提供此参数是为了与 spectrogram 函数,并且未使用。违约:centerTrue"reflect"

  • onesidedbooloptional) – 控制是否在 onesided 模式下完成频谱图。 违约:True

返回

维度 (..., 时间)。原始信号的最小二乘估计。

返回类型

张肌

格里芬林

torchaudio.functional.griffinlim(specgramTorch。Tensor窗口torch。张量n_fftinthop_lengthintwin_lengthintfloatn_iter intmomentum floatlength Optional[int]rand_init: bool割torch。张量[来源]

使用 Griffin-Lim 变换从线性尺度幅度频谱图计算波形。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript

librosa 移植的实现 [2],一种快速的 Griffin-Lim 算法 [3] 以及来自改进的短时傅里叶变换的信号估计 [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 表示功率,等等。

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

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

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

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

返回

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

返回类型

张肌

phase_vocoder

torchaudio.functional.phase_vocoder(complex_specgramsTorch。张量速率浮点数phase_advancetorch。Tensortorch 的 Tensor 中。张量[来源]

给定一个 STFT 张量,在不修改音高系数 的情况下及时加速。rate

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
  • complex_specgramsTensor) - 具有复杂 dtype 的维度 (..., freq, num_frame) 的张量。

  • ratefloat) - 加速因子

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

返回

拉伸频谱图。生成的张量与输入具有相同的 dtype 频谱图,但帧数更改为 。ceil(num_frame / rate)

返回类型

张肌

>>> freq, hop_length = 1025, 512
>>> # (channel, freq, time)
>>> complex_specgrams = torch.randn(2, freq, 300, dtype=torch.cfloat)
>>> 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])

pitch_shift

torchaudio.functional.pitch_shift(波形手电筒。张量sample_rate:int,n_stepsint,bins_per_octave:int = 12,n_fft int = 512win_length 可选[int] = hop_length: 可选[int] = 窗口可选[torch.Tensor] = Nonetorch 的 Torch 中。张量[来源]

逐步移动波形的音高。n_steps

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:TorchScript
参数
  • waveformTensor) - 形状为 (..., time) 的输入波形。

  • sample_rateint) - 波形的采样率。

  • n_stepsint) - 移动波形的 (小数) 步长。

  • bins_per_octaveintoptional) – 每个八度音程的步数 (默认值: )。12

  • n_fftintoptional) – FFT 的大小,创建 bin (默认值: )。n_fft // 2 + 1512

  • win_lengthintNone可选) – 窗口大小。如果为 None,则使用 then 。(默认值:)。n_fftNone

  • hop_lengthintNone可选) – STFT 窗口之间的跃点长度。如果为 None,则使用 (Default: )。win_length // 4None

  • windowTensorNone可选) – 应用于/乘以每个帧/窗口的窗口张量。 如果为 None,则使用 (Default: )。torch.hann_window(win_length)None

返回

形状为 (..., time) 的音高偏移音频波形。

返回类型

张肌

compute_deltas

torchaudio.functional.compute_deltas(specgramTorch。Tensor,win_length:int = 5模式str = 'replicate'torch。张量[来源]

计算张量的 delta 系数,通常是频谱图:

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:TorchScript
\[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:int,frame_time:float = 0.01,win_lengthint = 30freq_low int = 85freq_high: int = 3400) → torch.张量[来源]

检测俯仰频率。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:TorchScript

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

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

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

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

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

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

  • freq_highintoptional) – 可检测到的最高频率 (Hz) (默认值: )。3400

返回

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

返回类型

张肌

教程使用:detect_pitch_frequency

sliding_window_cmn

torchaudio.functional.sliding_window_cmn(specgramTorch。张量cmn_window:int = 600,min_cmn_windowint = 100中心bool = False,norm_vars:bool = False)→ torch。张量[来源]

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:TorchScript
参数
  • specgramTensor) - 维度的频谱图的张量 (..., time, freq)

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

返回

张量匹配输入形状 (..., freq, time)

返回类型

张肌

compute_kaldi_pitch

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

根据 调整的音高提取算法中描述的方法提取音高 用于自动语音识别 [5]。

此功能支持以下设备:CPU 此 API 支持以下属性:TorchScript

此函数计算来自 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 功能。形状:(batch,帧 2),其中最后一个维度 对应于 pitch 和 NCCF。

返回类型

张肌

教程使用:compute_kaldi_pitch

spectral_centroid

torchaudio.functional.spectral_centroid(波形手电筒。张量sample_rateint,padint窗口torch。Tensorn_fft:inthop_length:intwin_length:inttorch。张量[来源]

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

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript

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

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

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

  • padint) - 信号的两侧填充

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

  • n_fftint) – FFT 的大小

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

  • win_lengthint) – 窗口大小

返回

维度 (..., 时间)

返回类型

张肌

多通道

PSD

torchaudio.functional.psd(specgramTorch。Tensor掩码可选[torch.Tensor] = None归一化bool = True,epsfloat = 1e-10)→torch。张量[来源]

计算跨通道功率谱密度 (PSD) 矩阵。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
  • Specgramtorch.Tensor) - 多通道复值谱。 维度为 (..., channel, freq, time) 的 Tensor。

  • 遮罩Torch。TensorNone可选)– 用于归一化的时频掩码。 具有维度 (..., freq, time) 的 Tensor。(默认:None)

  • normalizebooloptional) – 如果 ,则沿时间维度对掩码进行标准化。(默认:TrueTrue)

  • eps (float, optional) (eps (floatoptional) (英语) - 在掩码标准化中添加到分母的值。(默认:1e-15)

返回

输入频谱的复值 PSD 矩阵。 具有维度的张量 (..., freq, channel, channel)

返回类型

torch.Tensor

mvdr_weights_souden

torchaudio.functional.mvdr_weights_souden(psd_s:Torch。Tensor,psd_n:torch。张量reference_channel:Union[int torch.张量]diagonal_loading:bool = True,diag_eps:float = 1e-07,eps浮点 = 1e-08) → torch。张量[来源]

计算最小方差无失真响应 (MVDR [6]) 波束成形权重 通过 Souden 等人 [7] 提出的方法。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript

给定目标语音 \(\bf{\Phi}_{\textbf{SS}}\) 的功率谱密度 (PSD) 矩阵, 噪声 \(\bf{\Phi}_{\textbf{NN}}\) 的 PSD 矩阵,以及一个表示 参考通道 \(\bf{u}\) ,该方法计算 MVDR 波束成形权重 martrix \(\textbf{w}_{\text{MVDR}}\)。公式定义为:

\[\textbf{w}_{\text{MVDR}}(f) = \frac{{{\bf{\Phi}_{\textbf{NN}}^{-1}}(f){\bf{\Phi}_{\textbf{SS}}}}(f)} {\text{Trace}({{{\bf{\Phi}_{\textbf{NN}}^{-1}}(f) \bf{\Phi}_{\textbf{SS}}}(f))}}\bm{u} \]
参数
  • psd_sTorch。Tensor) – 目标语音的复值功率谱密度 (PSD) 矩阵。 维度为 (..., freq, channel, channel) 的 Tensor。

  • psd_nTorch。Tensor) - 噪声的复值功率谱密度 (PSD) 矩阵。 维度为 (..., freq, channel, channel) 的 Tensor。

  • reference_channelinttorch.Tensor) – 指定参考通道。 如果 dtype 为 ,则表示引用通道索引。 如果 dtype 为 ,则其形状为 (..., channel),其中维度 是 one-hot。inttorch.Tensorchannel

  • diagonal_loadingbooloptional) – 如果 ,则允许对 应用对角线载荷。 (默认:Truepsd_nTrue)

  • diag_epsfloatoptional) - 对角线载荷的系数乘以单位矩阵。 仅当设置为 时,它才有效。(默认:diagonal_loadingTrue1e-7)

  • eps (float, optional) ((eps (float, optional) (浮点数,可选)) – 要添加到波束成形权重公式中的分母的值。 (默认:1e-8)

返回

具有维度 (..., freq, channel) 的复值 MVDR 波束成形权重矩阵。

返回类型

torch.Tensor

mvdr_weights_rtf

torchaudio.functional.mvdr_weights_rtf(RTF手电筒。Tensor,psd_n:torch。Tensor,reference_channel可选[Union[int torch.张量]] = diagonal_loading:bool = True,diag_eps:浮点 = 1e-07每股收益 float = 1e-08割torch。张量[来源]

计算最小方差无失真响应 (MVDR [6]) 波束成形权重 基于噪声的相对传递函数 (RTF) 和功率谱密度 (PSD) 矩阵。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript

给定相对传递函数 (RTF) 矩阵或目标语音的转向向量 \(\bm{v}\),则 噪声 \(\bf{\Phi}_{\textbf{NN}}\) 的 PSD 矩阵,以及一个表示 参考通道 \(\bf{u}\) ,该方法计算 MVDR 波束成形权重 martrix \(\textbf{w}_{\text{MVDR}}\)。公式定义为:

\[\textbf{w}_{\text{MVDR}}(f) = \frac{{{\bf{\Phi}_{\textbf{NN}}^{-1}}(f){\bm{v}}(f)}} {{\bm{v}^{\mathsf{H}}}(f){\bf{\Phi}_{\textbf{NN}}^{-1}}(f){\bm{v}}(f)} \]

其中 \((.)^{\mathsf{H}}\) 表示厄米特共轭操作。

参数
  • RTFTorch。Tensor) - 目标语音的复值 RTF 向量。 维度为 (..., freq, channel) 的 Tensor。

  • psd_nTorch。Tensor) - 噪声的复值功率谱密度 (PSD) 矩阵。 维度为 (..., freq, channel, channel) 的 Tensor。

  • reference_channelinttorch.Tensor) – 指定参考通道。 如果 dtype 为 ,则表示引用通道索引。 如果 dtype 为 ,则其形状为 (..., channel),其中维度 是 one-hot。inttorch.Tensorchannel

  • diagonal_loadingbooloptional) – 如果 ,则允许对 应用对角线载荷。 (默认:Truepsd_nTrue)

  • diag_epsfloatoptional) - 对角线载荷的系数乘以单位矩阵。 仅当设置为 时,它才有效。(默认:diagonal_loadingTrue1e-7)

  • eps (float, optional) ((eps (float, optional) (浮点数,可选)) – 要添加到波束成形权重公式中的分母的值。 (默认:1e-8)

返回

具有维度 (..., freq, channel) 的复值 MVDR 波束成形权重矩阵。

返回类型

torch.Tensor

rtf_evd

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

通过特征值分解估计相对传递函数 (RTF) 或转向向量。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:TorchScript
参数

psd_sTensor) – 目标语音的复值功率谱密度 (PSD) 矩阵。 维度的张量 (..., freq, channel, channel)

返回

目标语音的估计复值 RTF。 维度的张量 (..., freq, channel)

返回类型

张肌

教程使用:rtf_evd

rtf_power

torchaudio.functional.rtf_power(psd_s:Torch。Tensor,psd_n:torch。张量reference_channel:Union[int torch.Tensor]n_iter:int = 3,diagonal_loading:bool = True,diag_eps:浮点 = 1e-07) → torch。张量[来源]

通过幂法估计相对传递函数 (RTF) 或转向矢量。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
参数
  • psd_sTorch。Tensor) – 目标语音的复值功率谱密度 (PSD) 矩阵。 维度为 (..., freq, channel, channel) 的 Tensor。

  • psd_nTorch。Tensor) - 噪声的复值功率谱密度 (PSD) 矩阵。 维度为 (..., freq, channel, channel) 的 Tensor。

  • reference_channelinttorch.Tensor) – 指定参考通道。 如果 dtype 为 ,则表示引用通道索引。 如果 dtype 为 ,则其形状为 (..., channel),其中维度 是 one-hot。inttorch.Tensorchannel

  • diagonal_loadingbooloptional) – 如果 ,则允许对 应用对角线载荷。 (默认:Truepsd_nTrue)

  • diag_epsfloatoptional) - 对角线载荷的系数乘以单位矩阵。 仅当设置为 时,它才有效。(默认:diagonal_loadingTrue1e-7)

返回

目标语音的估计复值 RTF。 维度 (..., freq, channel) 的张量。

返回类型

torch.Tensor

教程使用:rtf_power

apply_beamforming

torchaudio.functional.apply_beamforming(beamform_weightsTorch。张量specgramtorch。Tensor) → torch 的 Tensor 中。张量[来源]

将波束成形权重应用于多通道噪声频谱,以获得单通道增强频谱。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript
\[\hat{\textbf{S}}(f) = \textbf{w}_{\text{bf}}(f)^{\mathsf{H}} \textbf{Y}(f) \]

其中\(\textbf{w}_{\text{bf}}(f)\)是第\(f\)个频率区间的波束成形权重,\(\textbf{Y}\)是\(f\)个频率区间的多通道频谱。

参数
  • beamform_weightsTensor) – 复值波束成形权重矩阵。 维度的张量 (..., freq, channel)

  • specgramTensor) - 多通道复值噪声频谱。 维度的张量 (..., channel, freq, time)

返回

单通道复值增强频谱。

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

返回类型

张肌

损失

rnnt_loss

torchaudio.functional.rnnt_loss(LogitsTorch。Tensor目标torch。Tensor,logit_lengths:torch。Tensor,target_lengthstorch。张量空白int = - 1,clampfloat = - 1减少str = 'mean'[来源]

使用循环神经网络计算序列转导的 RNN 传感器损失 [8]。

此功能支持以下设备:CPU、CUDA 此 API 支持以下属性:Autograd、TorchScript

RNN 传感器损耗通过定义输出上的分布来扩展 CTC 损耗 所有长度的序列,并通过联合建模输入-输出和输出-输出 依赖。

参数
  • logitsTensor) – 维度 (batch, max seq length, max target length + 1, class) 的张量,包含连接符的输出

  • targetsTensor) – 维度 (batch, max target length) 的张量,包含填充为零的目标

  • logit_lengthsTensor) – 维度 (batch) 的张量,包含编码器中每个序列的长度

  • target_lengthsTensor) – 维度 (batch) 的张量,包含每个序列的目标长度

  • blankintoptional) – 空白标签 (默认值:-1)

  • clampfloatoptional) – 渐变的 clamp (默认:-1)

  • reductionstringoptional) – 指定要应用于输出的 reduction : | | .(默认:'none''mean''sum''mean')

返回

应用了 reduction 选项的 loss。如果是 ,则大小 (批次), 否则为 scalar。reduction'none'

返回类型

张肌

度量

edit_distance

torchaudio.functional.edit_distance(seq1 collections.abc.Sequenceseq2 collections.abc.Sequenceint [来源]

计算两个序列之间的字级编辑 (Levenshtein) 距离。

此功能支持以下设备:CPU

该函数计算允许删除、插入和 替代。结果是一个整数。

对于大多数应用程序,两个 input 序列应为同一类型。如果 给出两个字符串,输出是两个字符串之间的编辑距离 字符串 (字符编辑距离)。如果给出了两个字符串列表,则 output 是句子之间的编辑距离 (word edit distance)。用户 可能希望通过引用序列的长度对输出进行归一化。

参数
  • seq1Sequence) – 要比较的第一个序列。

  • seq2Sequence) – 要比较的第二个序列。

返回

第一个序列和第二个序列之间的距离。

返回类型

int

教程使用:edit_distance

引用

1

朱利叶斯·史密斯。数字音频重采样主页“理想带宽插值理论”部分。2020 年 9 月。网址:https://ccrma.stanford.edu/~jos/resample/Theory_Ideal_Bandlimited_Interpolation.html

2

布莱恩·麦克菲、科林·拉菲尔、达文·梁、丹尼尔·埃利斯、马特·麦克维卡、埃里克·巴滕贝格和奥里奥尔·涅托。Librosa:Python 中的音频和音乐信号分析。Kathryn Huff 和 James Bergstra 主编,第 14 届 Python 科学会议论文集,第 18 – 24 页。2015. doi:10.25080/Majora-7b98e3ed-003.

3

Nathanaël Perraudin、Peter Balazs 和 Peter L. Søndergaard。一种快速的 griffin-lim 算法。2013 年 IEEE 信号处理在音频和声学中的应用研讨会,第 1-4 卷。2013. doi:10.1109/WASPAA.2013.6701851.

4

D. Griffin 和 Jae Lim. 来自改进的短时傅里叶变换的信号估计。在 ICASSP '83 中。IEEE 声学、语音和信号处理国际会议,第 8 卷,804-807。1983. doi:10.1109/ICASSP.1983.1172092.

5

Pegah Ghahremani、Bagher BabaAli、Daniel Povey、Korbinian Riedhammer、Jan Trmal 和 Sanjeev Khudanpur。针对自动语音识别进行了优化的音高提取算法。2014 年 IEEE 声学、语音和信号处理国际会议 (ICASSP),卷,2494–2498。2014. doi:10.1109/ICASSP.2014.6854049.

61,2

杰克·卡彭。高分辨率频率波数频谱分析。IEEE 会议记录,57(8):1408–1418,1969 年。

7

Mehrez Souden、Jacob Benesty 和 Sofiene Affes。在最佳频域多通道线性滤波上,用于降噪。在 IEEE 音频、语音和语言处理汇刊中,第 18 卷,260-276。IEEE,2009 年。

8

亚历克斯·格雷夫斯。使用递归神经网络进行序列转导。2012. arXiv:1211.3711.

文档

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

查看文档

教程

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

查看教程

资源

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

查看资源