如何加倍音频数据集?

数据挖掘 神经网络 数据集 机器学习模型 音频识别 语音转文本
2022-02-11 20:54:38

我正在尝试为英语语音开发一个错误发音检测模型。我使用 TIMIT 数据集,这是音素标记的音频数据集。

音素是任何感知上不同的声音单位。因此,我的数据集看起来像一个音频文件和对应于该音频的音素字符串。前任:

SX141.wav -> pl eh zh tcl t ax-h pcl p axr tcl t ih s pcl p ey dx ih n ax v aa dx ix z ix kcl kw aa dx ix kcl k ah m pcl p tcl t ih sh ix n

数据集

所以,问题是过拟合。我的模型非常擅长训练,但在测试方面很差。所以正因为如此,我想尝试综合增加我的数据集。也许改变音频的速度或添加一些背景噪音等。

是否有任何现成的解决方案可以将音频数据集加倍?或者,如何改变速度并在音频文件上添加一些噪音?会有帮助吗?

1个回答

我没有找到现成的解决方案。我自己解决了这个任务。

  1. 增速。

     from scipy.io.wavfile import read, write
    
     Fs, data = read(filename)
     write(destination, int(Fs*1.25), data)
    

我保存文件并将其频率提高 1.25。

  1. 添加噪音。

     import numpy as np
     from scipy.io.wavfile import read, write
    
     Fs, data = read(filename)
     data_noise = np.random.normal(0, .2, data.shape)
     write(destination, int(Fs), data+data_noise) 
    

在这里,我生成噪声数组并将其添加到原始 wav 信号中。