- 打开TIMIT数据集发现提示无法打开文件,上网搜索发现文件虽然后缀是WAV,但是其实是sph格式,是无法打开的,需要转换为wav。
- 找到一种python方法转换格式,但是不知道为什么sphfile库下载安装了就是无法引用
- 然后又找到了一个matlab代码,完美解决!这里需要注意一下我的数据集是把所有方言的都都放在一起了,而且只保留了wav文件,文件的格局如下:
- 代码如下(注意修改为自己文件夹的路径和布局哦):
% TIMIT数据集预处理,将sph格式转换为wav格式
path = 'D:/data/TIMIT/TRAIN';
file_list = dir(path);
for i = 3 : length(file_list) %因为我用的是osX系统电脑,因此前两个文件为隐藏,所以从第三个文件开始遍历。
sample_list = dir(strcat(path,'/',file_list(i).name)); %D:/data/TIMIT/overlap_test/IDname中的wav文件名
for j = 3 : length(sample_list)%因为我用的是osX系统电脑,因此前两个文件为隐藏,所以从第三个文件开始遍历。
needData = fopen(strcat(path,'/',file_list(i).name,'/',sample_list(j).name),'r'); % D:/data/TIMIT/overlap_test/IDname
junctionData = fread(needData, inf, 'int16');
wavData = junctionData./(2^15);
Fs = 16000;
fclose(needData);
audiowrite(strcat(path,'/',file_list(i).name,'/',sample_list(j).name), wavData, Fs);
end
end
代码是在这里找到的
https://zhuanlan.zhihu.com/p/270303531