speechbrain.dataio.preprocess 模块

音频预处理器

摘要

AudioNormalizer

将音频标准化为标准格式

参考

class speechbrain.dataio.preprocess.AudioNormalizer(sample_rate=16000, mix='avg-to-mono')[source]

基类:object

将音频标准化为标准格式

参数:
  • sample_rate (int) – 输入信号应转换到的采样率。

  • mix ({"avg-to-mono", "keep"}) – “avg-to-mono” - 将所有通道相加并按通道数进行归一化。这也会移除通道维度,得到 [time] 格式张量。“keep” - 不归一化通道信息

示例

>>> import torchaudio
>>> example_file = 'tests/samples/multi-mic/speech_-0.82918_0.55279_-0.082918.flac'
>>> signal, sr = torchaudio.load(example_file, channels_first = False)
>>> normalizer = AudioNormalizer(sample_rate=8000)
>>> normalized = normalizer(signal, sr)
>>> signal.shape
torch.Size([160000, 4])
>>> normalized.shape
torch.Size([80000])

注意

这也会对音频进行上采样。然而,上采样无法在新增带宽中产生有意义的信息。一般来说,如果模型没有专门针对上采样数据进行训练,则对上采样数据的效果不会很好。

__call__(audio, sample_rate)[source]

执行归一化

参数:
  • audio (torch.Tensor) – 输入波形 torch 张量。假设格式为 [时间, 通道] 或 [时间]。

  • sample_rate (int) – 音频采样率。

返回值:

audio – 经过通道和采样率归一化的音频。

返回类型:

torch.Tensor