目录

torchaudio.transforms

转换是常见的音频转换。它们可以使用

光谱图

class n_fft: int = 400, win_length: Optional[int] = None, hop_length: Optional[int] = None, pad: int = 0, window_fn: Callable[[...], torch.张量] = < object> 类型的内置方法hann_window,幂:可选[浮点] = 2.0,归一化:bool = False,wkwargs:可选[dict] = 无,中心:bool = True,pad_mode:str = 'reflect',单面:bool = True,return_complex:bool = False[来源]torchaudio.transforms.Spectrogram

从音频信号创建频谱图。

参数
  • n_fftintoptional) - FFT 的大小,创建 bin。(默认:n_fft // 2 + 1400)

  • win_lengthintNone可选) – 窗口大小。(默认:n_fft)

  • hop_lengthintNone可选) – STFT 窗口之间的跃点长度。(默认:win_length // 2)

  • padintoptional) - 信号的两侧填充。(默认:0)

  • window_fnCallable[..Tensor]optional) – 用于创建窗口张量的函数 应用/乘以每个框架/窗口。(默认:torch.hann_window)

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

  • normalizedbooloptional) - 是否在 stft 之后按量级进行标准化。(默认:False)

  • wkwargsdictNone可选) – 窗口函数的参数。(默认:None)

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

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

  • onesidedbooloptional) – 控制是否将一半的结果返回给 避免冗余(默认值:True)

  • return_complexbooloptional) – 指示是否应使用生成的复值 Tensor 表示 原生复杂 DTYPE,例如 torch.cfloattorch.cdouble,或真实 DTYPE 模拟复数值,并为实部和虚部提供额外的维度。 此参数仅在 时有效。 另请参阅 。power=Nonetorch.view_as_real

forward(波形:手电筒。Tensor) → torch 的 Tensor 中。张量[来源]
参数

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

返回

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

返回类型

张肌

格里芬林

n_fft: int = 400, n_iter: int = 32, win_length: 可选[int] = 无, hop_length: 可选[int] = 无, window_fn: 可调用[[...], Torch.张量] = < object> 类型的内置方法hann_window,功率:浮点 = 2.0,wkwargs:可选[dict] = 无,动量:浮点 = 0.99,长度:可选[int] = 无,rand_init:bool = True[来源]torchaudio.transforms.GriffinLim

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

123 移植的实现。

参数
  • n_fftintoptional) - FFT 的大小,创建 bin。(默认:n_fft // 2 + 1400)

  • n_iterintoptional) – 阶段恢复过程的迭代次数。(默认:32)

  • win_lengthintNone可选) – 窗口大小。(默认:n_fft)

  • hop_lengthintNone可选) – STFT 窗口之间的跃点长度。(默认:win_length // 2)

  • window_fnCallable[..Tensor]optional) – 用于创建窗口张量的函数 应用/乘以每个框架/窗口。(默认:torch.hann_window)

  • powerfloatoptional) – 幅度频谱图的指数, (必须> 0) 例如,1 表示能量,2 表示功率,等等。(默认值:2)

  • wkwargsdictNone可选) – 窗口函数的参数。(默认:None)

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

  • lengthintoptional) – 预期输出的数组长度。(默认:None)

  • rand_initbooloptional) – 如果为 True,则随机初始化阶段,否则为零。(默认:True)

forward(specgram:Torch。Tensor) → torch 的 Tensor 中。张量[来源]
参数

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

返回

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

返回类型

张肌

AmplitudeToDB

class stype: str = 'power'top_db: Optional[float] = None[来源]torchaudio.transforms.AmplitudeToDB

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

此输出取决于输入张量中的最大值,因此 可能会为拆分为片段的音频剪辑返回不同的值,而不是 一个完整的剪辑。

参数
  • stypestroptional) - 输入张量的比例 ('power' 或 'magnitude')。这 power 是 magnitude 的元素平方。(默认:'power')

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

forward(x:Torch。Tensor) → torch 的 Tensor 中。张量[来源]

来自 Librosa 的数值稳定实现。

https://librosa.org/doc/latest/generated/librosa.amplitude_to_db.html

参数

xTensor) - 转换为分贝刻度之前的输入张量。

返回

分贝刻度的输出张量。

返回类型

张肌

梅尔斯卡尔

n_mels: int = 128sample_rate: int = 16000f_min: float = 0.0f_max: 可选[float] = 无n_stft: 可选[int] = 无规范: 可选[str] = 无mel_scale: str = 'htk'[源代码]torchaudio.transforms.MelScale

使用转换将普通 STFT 转换为 mel 频率 STFT 矩阵。这使用三角滤波器组。

用户可以控制滤波器组 (fb) 是哪个设备(例如 fb.to(spec_f.device))。

参数
  • n_melsintoptional) – mel filterbanks 的数量。(默认:128)

  • sample_rateintoptional) – 音频信号的采样率。(默认:16000)

  • f_minfloatoptional) (最小频率)。(默认:0.)

  • f_maxfloatNone可选) – 最大频率。(默认:sample_rate // 2)

  • n_stftintoptional) – STFT 中的 bin 数量。从第一次输入开始计算 如果给出 None。请参阅 。(默认:n_fftNone)

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

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

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

forward(specgram:Torch。Tensor) → torch 的 Tensor 中。张量[来源]
参数

specgramTensor) - 维度为 (..., freq, time) 的频谱图 STFT。

返回

大小的梅尔频率频谱图 (..., , time)。n_mels

返回类型

张肌

InverseMelScale

class n_stft: intn_mels: int = 128sample_rate: int = 16000f_min: float = 0.0f_max: 可选[float] = 无max_iter: int = 100000tolerance_loss: float = 1e-05tolerance_change: float = 1e-08sgdargs: 可选[dict] = 无规范: 可选[str] = 无mel_scale: str = 'htk'[源代码]torchaudio.transforms.InverseMelScale

使用转换从 mel 频率 STFT 求解法向 STFT 的法向 STFT 矩阵。这使用三角滤波器组。

它最小化了输入梅尔频谱图与两者之间的乘积之间的欧几里得范数 使用 SGD 的估计频谱图和滤波器组。

参数
  • n_stftint) – STFT 中的箱数。请参阅 。n_fft

  • n_melsintoptional) – mel filterbanks 的数量。(默认:128)

  • sample_rateintoptional) – 音频信号的采样率。(默认:16000)

  • f_minfloatoptional) (最小频率)。(默认:0.)

  • f_maxfloatNone可选) – 最大频率。(默认:sample_rate // 2)

  • max_iterintoptional) – 最大优化迭代次数。(默认:100000)

  • tolerance_lossfloatoptional) – 停止优化的损失值。(默认:1e-5)

  • tolerance_changefloatoptional) – 停止优化的损失差异。(默认:1e-8)

  • sgdargsdictNone可选) – SGD 优化器的参数。(默认:None)

  • normOptional[str]) - 如果为 'slaney',则将三角形梅尔权重除以梅尔带的宽度 (区域标准化)。(默认:None)

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

forward(melspec:Torch。Tensor) → torch 的 Tensor 中。张量[来源]
参数

melspecTensor) - 维数 (..., , time) 的 Mel 频率频谱图n_mels

返回

大小 (..., freq, time) 的线性标度频谱图

返回类型

张肌

MelSpectrogram 梅尔频谱图

sample_rate: int = 16000, n_fft: int = 400, win_length: 可选[int] = 无, hop_length: 可选[int] = 无, f_min: 浮点数 = 0.0, f_max: 可选[浮点数] = 无, pad: int = 0, n_mels: int = 128, window_fn: Callable[[...], torch.张量] = < object> 类型的内置方法hann_window,power: 可选[float] = 2.0,归一化: bool = False, wkwargs: 可选[dict] = 无, 中心: bool = True, pad_mode: str = 'reflect', 单面: bool = True, 规范: 可选[str] = 无, mel_scale: str = 'htk'[来源]torchaudio.transforms.MelSpectrogram

为原始音频信号创建 MelSpectrogram。这是 Spectrogram 的组合 和 MelScale。

来源
参数
  • sample_rateintoptional) – 音频信号的采样率。(默认:16000)

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

  • win_lengthintNone可选) – 窗口大小。(默认:n_fft)

  • hop_lengthintNone可选) – STFT 窗口之间的跃点长度。(默认:win_length // 2)

  • f_minfloatoptional) (最小频率)。(默认:0.)

  • f_maxfloatNone可选) – 最大频率。(默认:None)

  • padintoptional) - 信号的两侧填充。(默认:0)

  • n_melsintoptional) – mel filterbanks 的数量。(默认:128)

  • window_fnCallable[..Tensor]optional) – 用于创建窗口张量的函数 应用/乘以每个框架/窗口。(默认:torch.hann_window)

  • powerfloatoptional) – 幅度频谱图的指数, (必须> 0) 例如,1 表示能量,2 表示功率,等等。(默认值:2)

  • normalizedbooloptional) - 是否在 stft 之后按量级进行标准化。(默认:False)

  • wkwargsDict[....] 或 Noneoptional) – 窗口函数的参数。(默认:None)

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

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

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

  • normOptional[str]) - 如果为 'slaney',则将三角形梅尔权重除以梅尔带的宽度 (区域标准化)。(默认:None)

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

>>> waveform, sample_rate = torchaudio.load('test.wav', normalization=True)
>>> mel_specgram = transforms.MelSpectrogram(sample_rate)(waveform)  # (channel, n_mels, time)
forward(波形:手电筒。Tensor) → torch 的 Tensor 中。张量[来源]
参数

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

返回

大小的梅尔频率频谱图 (..., , time)。n_mels

返回类型

张肌

MFCC

sample_rate:int = 16000,n_mfcc:int = 40,dct_type:int = 2范数:str = 'ortho'log_mels:bool = False,melkwargs:可选[dict] = None[源]torchaudio.transforms.MFCC

从音频信号创建 Mel 频率倒谱系数。

默认情况下,这将计算 DB 缩放的 Mel 频谱图上的 MFCC。 这不是教科书上的实现,但在这里实现是为了 与 librosa 保持一致。

此输出取决于输入频谱图中的最大值,因此 可能会为拆分为片段的音频剪辑返回不同的值,而不是 一个完整的剪辑。

参数
  • sample_rateintoptional) – 音频信号的采样率。(默认:16000)

  • n_mfccintoptional) – 要保留的 mfc 系数的数量。(默认:40)

  • dct_typeintoptional) - 要使用的 DCT (离散余弦变换) 的类型。(默认:2)

  • normstroptional) - 要使用的范数。(默认:'ortho')

  • log_melsbooloptional) – 是否使用 log-mel 频谱图而不是 dB 缩放。(默认:False)

  • melkwargsdictNone可选) - MelSpectrogram 的参数。(默认:None)

forward(波形:手电筒。Tensor) → torch 的 Tensor 中。张量[来源]
参数

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

返回

大小为 (..., , time) 的 specgram_mel_db。n_mfcc

返回类型

张肌

MuLaw编码

quantization_channels:int = 256[来源]torchaudio.transforms.MuLawEncoding

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

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

参数

quantization_channelsintoptional) – 通道数。(默认:256)

forward(x:Torch。Tensor) → torch 的 Tensor 中。张量[来源]
参数

xTensor) - 要编码的信号。

返回

编码信号。

返回类型

x_mu (张量)

MuLaw解码

quantization_channels:int = 256[来源]torchaudio.transforms.MuLawDecoding

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

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

参数

quantization_channelsintoptional) – 通道数。(默认:256)

forward(x_mu:Torch。Tensor) → torch 的 Tensor 中。张量[来源]
参数

x_muTensor) - 需要解码的 mu-law 编码信号。

返回

信号解码。

返回类型

张肌

重新采样

class orig_freq: float = 16000new_freq: float = 16000resampling_method: str = 'sinc_interpolation'lowpass_filter_width: int = 6rolloff: float = 0.99beta: 可选[float] = None*dtype: 可选[torch.dtype] = None[源]torchaudio.transforms.Resample

将信号从一个频率重新采样到另一个频率。可以给出重采样方法。

注意

如果对精度高于 float32 的波形进行重采样,则可能会有少量的精度损失 因为内核缓存一次为 float32。如果高精度重采样对您的应用很重要, 函数形式将保留更高的精度,但运行速度较慢,因为它不缓存内核。 或者,您可以重写缓存更高精度内核的转换。

参数
  • orig_freq (float, optional) (浮点数,可选) – 信号的原始频率。(默认:16000)

  • new_freq (float, optional) (浮点数,可选) – 所需的频率。(默认:16000)

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

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

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

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

  • dtypetorch.device可选) – Determ表示预计算和缓存重采样内核的精度。如果未提供,则 kernel 的计算方式,然后缓存为 。 如果需要更高的精度,请提供 ,然后计算预计算的内核,并且 缓存为 .如果您使用精度较低的 resample,则不要提供此 提供此参数,请使用 ,以便内核生成仍然是 执行于 .torch.float64torch.float32torch.float64torch.float64Resample.to(dtype)torch.float64

forward(波形:手电筒。Tensor) → torch 的 Tensor 中。张量[来源]
参数

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

返回

维度 (..., time) 的输出信号。

返回类型

张肌

复常数

功率:浮点数 = 1.0[来源]torchaudio.transforms.ComplexNorm

计算复张量输入的范数。

参数

powerfloatoptional) - 标准功率。(默认值:to1.0)

forward(complex_tensor:Torch。Tensor) → torch 的 Tensor 中。张量[来源]
参数

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

返回

输入张量的范数,形状为 (..., )。

返回类型

张肌

计算增量

win_length:int = 5模式:str = 'replicate'[来源]torchaudio.transforms.ComputeDeltas

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

有关详细信息,请参阅 torchaudio.functional.compute_deltas

参数
  • win_lengthint) – 用于计算增量的窗口长度。(默认:5)

  • - 传递给 padding 的 Mode 参数。(默认:'replicate')

forward(specgram:Torch。Tensor) → torch 的 Tensor 中。张量[来源]
参数

specgramTensor) - 维度为 (..., freq, time) 的音频张量。

返回

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

返回类型

张肌

时间拉伸

class hop_length: Optional[int] = Nonen_freq: int = 201fixed_rate: Optional[float] = None[来源]torchaudio.transforms.TimeStretch

在时间上拉伸 stft,而不修改给定速率的音高。

参数
  • hop_lengthintNone可选) – STFT 窗口之间的跃点长度。(默认:win_length // 2)

  • n_freqintoptional) - 来自 stft 的滤波器组数量。(默认:201)

  • fixed_ratefloatNone可选) – 用于加速或减速的速率。 如果提供 None,则必须将 rate 传递给 forward 方法。(默认:None)

forward(complex_specgrams:Torch。Tensor,overriding_rate:可选[float] = None→ torch。张量[来源]
参数
  • complex_specgramsTensor) – 维度为 的实张量或具有复杂 dtype 的维度张量。(..., freq, num_frame, complex=2)(..., freq, num_frame)

  • overriding_ratefloatNone可选) – 加快应用于此批次的速度。 如果未传递 rate,请使用 。(默认:self.fixed_rateNone)

返回

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

返回类型

张肌

褪色

fade_in_len:int = 0,fade_out_len:int = 0,fade_shape:str = 'linear'[来源]torchaudio.transforms.Fade

向波形添加淡入和/或淡出。

参数
  • fade_in_lenintoptional) – 淡入的长度(时间范围)。(默认:0)

  • fade_out_lenintoptional) – 淡出的长度 (时间范围)。(默认:0)

  • fade_shapestroptional) - 淡入淡出的形状。必须是以下之一:“quarter_sine”, “half_sine”、“线性”、“对数”、“指数”。(默认:"linear")

forward(波形:手电筒。Tensor) → torch 的 Tensor 中。张量[来源]
参数

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

返回

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

返回类型

张肌

频率掩码

class freq_mask_param: intiid_masks: bool = False[来源]torchaudio.transforms.FrequencyMasking

将掩码应用于频域中的频谱图。

参数
  • freq_mask_paramint) - 掩码的最大可能长度。 从 [0, freq_mask_param) 中统一采样的索引。

  • iid_masksbooloptional) – 是否对每个蒙版应用不同的蒙版 example/channel 中。(默认值:) 仅当输入张量为 4D 时,此选项才适用。False

forward(specgram:Torch。Tensor,mask_value:float = 0.0)→ torch。张肌
参数
  • specgramTensor) - 维度 (..., freq, time) 的张量。

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

返回

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

返回类型

张肌

时间掩码

class time_mask_param: intiid_masks: bool = False[来源]torchaudio.transforms.TimeMasking

在时域中对频谱图应用掩码。

参数
  • time_mask_paramint) – 掩码的最大可能长度。 从 [0, time_mask_param) 中均匀采样的索引。

  • iid_masksbooloptional) – 是否对每个蒙版应用不同的蒙版 example/channel 中。(默认值:) 仅当输入张量为 4D 时,此选项才适用。False

forward(specgram:Torch。Tensor,mask_value:float = 0.0)→ torch。张肌
参数
  • specgramTensor) - 维度 (..., freq, time) 的张量。

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

返回

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

返回类型

张肌

类别增益:浮点数gain_type:str = 'amplitude'[来源]torchaudio.transforms.Vol

向波形添加音量。

参数
  • gainfloat) – 根据给定的gain_type解释: 如果 = ,则为正振幅比。 如果 = ,则为功率(电压的平方)。 如果 = ,则以分贝为单位。gain_typeamplitudegaingain_typepowergaingain_typedbgain

  • gain_typestroptional) – 增益类型。以下之一: , , (默认值:amplitudepowerdbamplitude)

forward(波形:手电筒。Tensor) → torch 的 Tensor 中。张量[来源]
参数

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

返回

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

返回类型

张肌

滑动窗口 Cmn

cmn_window:int = 600,min_cmn_window:int = 100中心:bool = False,norm_vars:bool = False[来源]torchaudio.transforms.SlidingWindowCmn

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

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

forward(波形:手电筒。Tensor) → torch 的 Tensor 中。张量[来源]
参数

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

返回

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

返回类型

张肌

SpectralCentroid (光谱中心)

class sample_rate: int, n_fft: int = 400, win_length: Optional[int] = None, hop_length: Optional[int] = None, pad: int = 0, window_fn: Callable[[...], torch.Tensor] = < object> 类型的内置方法hann_window,wkwargs: Optional[dict] = None[来源]torchaudio.transforms.SpectralCentroid

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

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

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

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

  • win_lengthintNone可选) – 窗口大小。(默认:n_fft)

  • hop_lengthintNone可选) – STFT 窗口之间的跃点长度。(默认:win_length // 2)

  • padintoptional) - 信号的两侧填充。(默认:0)

  • window_fnCallable[..Tensor]optional) – 用于创建窗口张量的函数 应用/乘以每个框架/窗口。(默认:torch.hann_window)

  • wkwargsdictNone可选) – 窗口函数的参数。(默认:None)

>>> waveform, sample_rate = torchaudio.load('test.wav', normalization=True)
>>> spectral_centroid = transforms.SpectralCentroid(sample_rate)(waveform)  # (channel, time)
forward(波形:手电筒。Tensor) → torch 的 Tensor 中。张量[来源]
参数

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

返回

大小 (..., time) 的频谱质心。

返回类型

张肌

瓦德

sample_rate: inttrigger_level: float = 7.0trigger_time: float = 0.25search_time: float = 1.0allowed_gap: float = 0.25pre_trigger_time: float = 0.0boot_time: float = 0.35noise_up_time: float = 0.1noise_down_time: float = 0.01noise_reduction_amount: float = 1.35measure_freq: float = 20.0measure_duration:可选[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[来源]torchaudio.transforms.Vad

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

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

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

参考:
forward(波形:手电筒。Tensor) → torch 的 Tensor 中。张量[来源]
参数

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

引用

1

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

2

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

3

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

文档

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

查看文档

教程

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

查看教程

资源

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

查看资源