嘿,我是完整的Layman,以防音频处理,所以我的问题将是非常基本的。 我有来自2组X和Y的音频和.wav音频样本,我需要制作正确分类的模型是声音X或Y. 我创建了如何将数据加载到列表中,而不是将其转换为Dataframe我有2列(在第二行中每行有8000个元素)。
0 1
0 2000 [0.1329449, 0.14544961, 0.19810106, 0.21718721...
1 2000 [-0.30273795, -0.6065889, -0.4967722, -0.47117...
2 2000 [-0.07037315, -0.6685449, -0.48479277, -0.4535...
到目前为止,我从python_speech_features模块创建了这些有用的功能:
rate,signal = sw.read(i)
features = psf.base.mfcc(signal)
features = psf.base.fbank(features)
features = psf.base.logfbank(features[1])
features = psf.base.lifter(features,L=22)
features = psf.base.delta(features,N=13)
features = pd.DataFrame(features)
我将感激各种帮助 我们也非常欢迎额外的自学资源。
答案 0 :(得分:1)
我在将音频文件转换为melspectrograms并使用基本CNN对图像进行分类方面取得了巨大成功。以下函数需要librosa
库:
def audio_to_image(path, height=192, width=192):
signal, sr = lr.load(path, res_type='kaiser_fast')
hl = signal.shape[0]//(width*1.1)
spec = lr.feature.melspectrogram(signal, n_mels=height, hop_length=int(hl))
img = lr.logamplitude(spec)**2
start = (img.shape[1] - width) // 2
return img[:, start:start+width]
结果将如下所示:
虽然这些图像背后几乎没有人类的直觉,但CNN可以很好地对它们进行分类。玩一点不同的分辨率和设置。让我知道这对你有用。
编辑:Here是我自己的项目的完整代码,将语音的音频样本分类为他们的口语。