MATLAB读取wav文件

%读一个文件夹中的多个wav文件,然后拼接在一起
clc;
clear all;
folder = 'D:/FFOutput/xiami/';
files = dir([folder '*.wav']);%读取文件夹下的所有wav文件
%files = dir(folder);
%length(files)
for i=1:length(files)
file = [folder files(i).name];
    try
        [Y,Fs,bits] = wavread(file);%返回值分别为Y读取片段,Fs采样率默认为44100,bits编码位数一般为16位
    catch
        warning(['读取文件 ' file ' 出错,可能不支持该文件格式。']);
    end
    try
        sec1=10;
        sec2=15;
        sec3=20;
        sec4=25;    
        %addPoint=2*Fs;
        Y_cut1=Y(((Fs*sec1+1):Fs*sec2),:); %数组的形式读取
        Y_cut2=Y(((Fs*sec3+1):Fs*sec4),:);
        Y_cutall=[Y_cut1;Y_cut2];%数组的形式拼接主要是列拼接
        wavwrite(Y_cutall,Fs,bits,['D:/FFOutput/xiami/' 'newname' num2str(i) '.wav']);
    catch
        warning(['写出文件 ' file ' 出错,写出地址错误。']);
    end
end

你可能感兴趣的:(MATLAB)