我有一个长度为10秒的WAV文件,我想在MATLAB中将文件分割为10个文件中的10秒



我已经阅读了一个长度为10秒的WAV文件。我想将音频文件分为10个相等长度的文件。我该怎么办?

这将完成工作:

[y,Fs] = audioread('orig.wav');
OUTPUT_FOLDER='z:/';
OUTPUT_FILE_PREFIX='wave';
N_SPLIT=10;
y(end+1:end+N_SPLIT-mod(length(y),N_SPLIT),:)=0;%need to be divisible by N_SPLIT, so pad some zeros at end. 
y_parts=reshape(y,[],1,N_SPLIT);%split signal
for i=1:N_SPLIT
    filename=sprintf('%s%02d.wav',OUTPUT_FILE_PREFIX,i);
    filepath=fullfile(OUTPUT_FOLDER,filename);
    y_to_write=y_parts(:,:,i);
    audiowrite(filepath,y_to_write,Fs); %save
end

最新更新