speechbrain.lobes.downsampling 模块

实现下采样方法的处理算法组合。

作者
  • Salah Zaiem

概要

Conv1DDownsampler

使用学习到的卷积进行 1D 卷积下采样

Downsampler

下采样技术的包装器

PoolingDownsampler

1D 池化下采样(非学习)

SignalDownsampler

信号下采样(抽取)

参考

class speechbrain.lobes.downsampling.Downsampler(*args, **kwargs)[source]

基类:Module

下采样技术的包装器

forward(x)[source]

下采样函数

参数:

x (tensor) – 形状为 [B, n_samples] 的语音样本,其中 B 为 batch size

返回类型:

下采样后的输出。

class speechbrain.lobes.downsampling.SignalDownsampler(downsampling_factor, initial_sampling_rate)[source]

基类:Downsampler

信号下采样(抽取)

参数:
  • downsampling_factor (int) – 下采样因子(即比例(下采样前的长度 / 下采样后的长度))

  • initial_sampling_rate (int) – 输入音频的采样率

示例

>>> sd = SignalDownsampler(2,16000)
>>> a = torch.rand([8,28000])
>>> a = sd(a)
>>> print(a.shape)
torch.Size([8, 14000])
class speechbrain.lobes.downsampling.Conv1DDownsampler(downsampling_factor, kernel_size)[source]

基类:Downsampler

使用学习到的卷积进行 1D 卷积下采样

参数:
  • downsampling_factor (int) – 下采样因子(即比例(下采样前的长度 / 下采样后的长度))

  • kernel_size (int) – 1D 滤波器的核大小(必须是奇数)

示例

>>> sd = Conv1DDownsampler(3,161)
>>> a = torch.rand([8,33000])
>>> a = sd(a)
>>> print(a.shape)
torch.Size([8, 10947])
class speechbrain.lobes.downsampling.PoolingDownsampler(downsampling_factor, kernel_size, padding=0, pool_type='avg')[source]

基类:Downsampler

1D 池化下采样(非学习)

参数:
  • downsampling_factor (int) – 下采样因子(即比例(下采样前的长度 / 下采样后的长度))

  • kernel_size (int) – 1D 滤波器的核大小(必须是奇数)

  • padding (int) – 应用的 padding 元素数量。

  • pool_type (string) – 池化方法,必须在 [“avg”,”max”] 范围内

示例

>>> sd = PoolingDownsampler(3,41)
>>> a = torch.rand([8,33000])
>>> a = sd(a)
>>> print(a.shape)
torch.Size([8, 10987])