我已经阅读了一个长度为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