如何使用机器学习监督分类从声音/音频数据学习中获取特征?

数据挖掘 深度学习 时间序列 音频识别
2022-02-17 23:44:38

我对如何为 ML 分类模型处理音频文件中的数据感到有些困惑。我有几个 .wav 文件,其中包含狗吠和猫“喵喵叫”。管道如下:

  1. 加载数据
  2. 将数据转换为所需窗口的 F​​FT
  3. 应用 MFCC 过滤
  4. 使用 DCT 进行反向变换
  5. 为窗口创建“频谱图”
  6. 训练模型?

我不明白的是:

  1. 如果我有不同大小的 .wav 文件,比如说 1 秒和 0.8 秒,我将得到不同数量的窗口,如果窗口大小为 0.1 秒,那么第一个文件将有 10 个窗口,第二个文件将有 8 个窗口,那么我怎样才能始终如一地将这些信息提供给学习算法。

  2. 该算法是否从整个 .wav 文件或逐个窗口学习?

  3. 如果算法从每个窗口学习,每个窗口会有不同的预测值吗?

谢谢你。

1个回答

您的管道大致正确,但在下面澄清一下:

1. Load the audio
2. Convert the audio to a `spectrogram` using STFT
3. Apply mel-scale filtering to get `mel-spectrogram`
4. Transform using DCT to get `MFCC`

您现在有一个 MFCC的时间序列。分类器通常在此类帧的时间窗口上进行操作。窗口长度可以相对较小(例如 4-10 帧),或者是音频剪辑的整个长度。如果它们更小,则窗口通常会以一些重叠进行处理。

学习和输出整个文件的预测是最简单的标准分类问题。

如果标签仅在整个文件上可用(“弱标签”),但想要为每个窗口输出一个预测,这通常通过多实例学习来完成。