Machine learning 如何处理不同的音频格式进行音频分类?

Machine learning 如何处理不同的音频格式进行音频分类?,machine-learning,audio,deep-learning,signal-processing,librosa,Machine Learning,Audio,Deep Learning,Signal Processing,Librosa,我正在编写一个音频分类问题声明,以便在两个音频类之间进行分类。我从中收集了样本,他们提供了音频小部件来收集.wav音频,但事实证明该小部件将数据存储在: 在我的问题陈述中,分类类来自不同的格式: class A : all the 100 samples are in .mp3 format ( jot form collection ) class B : all the samples are in .wav format 我在这里添加了两种类型的类的示例: :它是.wav格式的 详情:

我正在编写一个音频分类问题声明,以便在两个音频类之间进行分类。我从中收集了样本,他们提供了音频小部件来收集.wav音频,但事实证明该小部件将数据存储在:

在我的问题陈述中,分类类来自不同的格式:

class A : all the 100 samples are in .mp3 format ( jot form collection )
class B : all the samples are in .wav format
我在这里添加了两种类型的类的示例:

:它是.wav格式的

详情:

General
Complete name                            : count.wav
Format                                   : MPEG Audio
File size                                : 183 KiB
Duration                                 : 9 s 360 ms
Overall bit rate mode                    : Constant
Overall bit rate                         : 160 kb/s
Writing library                          : LAME3.99.5
FileExtension_Invalid                    : m1a mpa mpa1 mp1 m2a mpa2 mp2 mp3

Audio
Format                                   : MPEG Audio
Format version                           : Version 1
Format profile                           : Layer 3
Format settings                          : Joint stereo / MS Stereo
Duration                                 : 9 s 360 ms
Bit rate mode                            : Constant
Bit rate                                 : 160 kb/s
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 kHz
Frame rate                               : 41.667 FPS (1152 SPF)
Compression mode                         : Lossy
Stream size                              : 183 KiB (100%)
Writing library                          : LAME3.99.5
Jotform说它是.wav格式,但只有扩展名是.wav,文件是.mp3格式

详情:

General
Complete name                            : count.wav
Format                                   : MPEG Audio
File size                                : 183 KiB
Duration                                 : 9 s 360 ms
Overall bit rate mode                    : Constant
Overall bit rate                         : 160 kb/s
Writing library                          : LAME3.99.5
FileExtension_Invalid                    : m1a mpa mpa1 mp1 m2a mpa2 mp2 mp3

Audio
Format                                   : MPEG Audio
Format version                           : Version 1
Format profile                           : Layer 3
Format settings                          : Joint stereo / MS Stereo
Duration                                 : 9 s 360 ms
Bit rate mode                            : Constant
Bit rate                                 : 160 kb/s
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 kHz
Frame rate                               : 41.667 FPS (1152 SPF)
Compression mode                         : Lossy
Stream size                              : 183 KiB (100%)
Writing library                          : LAME3.99.5
在将其输入到神经网络之前,我正在做什么:

  • 将采样降低到16kHz,信号电平被标准化
  • 通过消除信号中的静音,在音频段中进行分段
  • 高过滤(预加重过滤器)。然后播放音频片段 分为25ms的非重叠汉明窗口帧
  • 然后从每帧中提取各种特征,包括MFCC、过零率(ZCR)、共振峰(前4个)等,最后将所有这些特征输入简单的密集层神经网络或CNN(谱图格式)

    但问题是这两个类别的音频文件的格式不同,a类音频样本在.wav中,B类音频样本在.mp3中,网络很可能偏向于格式或音频编码

    解决方案我认为:

  • 将所有文件降级到16kHz频率(但仍存在格式问题)
  • 或者将所有文件转换为一种通用格式,例如,我将所有.mp3文件转换为.wav文件,那么所有文件都将具有相同的格式,我可以将一个文件转换为另一个文件,但我担心转换后的文件会失去质量
  • 我的疑问是,如果我将这两类音频样本(.wav和mp3)都降低到16kHz,我的神经网络是否仍然存在格式偏差


    当音频文件的格式不同时,对我来说,什么是音频分类的好策略?

    仅将MP3转换为线性PCM并不能消除可能由神经网络“学习”的编码伪影。由于MP3是有损格式,自然的方法是将相同的编解码器应用于您的WAVE 16位线性PCM文件,并使用MP3中编码的两个类


    但是,编解码器本身可能不是类的唯一意外鉴别器。除了从jotform中仔细检查音频捕获实现之外,您还可以应用项目中可用的数据增强技术。

    您是否考虑过将数据混合到FLAC之类的东西,然后将所有文件降级到较低的频率?这取决于您是在处理与语音相关的任务还是更广泛的音频分类问题。对于语音,几乎没有任何超过16kHz的信息,所以对音频进行下采样应该没有什么害处。对于其他任务,您可能希望将音频保持在原始采样率。请注意,这个选择与您的编解码器不匹配有些无关。两天前,AudioEmotation有一个MP3压缩转换。它可以用来干扰原来是(高质量)wav的音频文件,使其具有与从mp3加载的音频相同的“压缩”音频质量。披露:我是《听觉心理学》的作者