这几天在学习使用caffe和tensorflow做深度学习,想要做古典音乐的风格鉴别,要用到大量的音乐片段来生成声谱图。因此多方参考,写了一个Matlab的批量处理程序,可以遍历整个文件夹中所有的wav音乐文件,然后不改变目录结构保存在其他地方。
我使用的是MATLAB2015b,windows系统,据说2015是可以支持mp3文件的读取的,但我没有试过,保险起见使用wav做文件输入,我使用的是qq音乐直接批量转换MP3到wav。
代码如下,我在注释里会详细解释:
function cut_wavs(file_dir,output_dir,t,t_overlap)
%输入有四个,源目录,输出目录,截取时长,不重叠时长
%解释一下不重叠时长,1个55秒的音乐文件,设置截取时长30s,不重叠时长为30s,就只能生成一
%段,0-30s;设置不重叠是15,生成2段,0-30s,15-30s,以此类推;
files=dir(file_dir);
for