我有一个大波形文件,我想在它的末尾添加一些声音。并且因为我在循环中添加它是不明智的每次读取并添加一个短的部分并关闭它(这样算法是如此慢)。 有没有更优化的方法只在matlab(波形文件)的另一端添加声音文件?
答案 0 :(得分:1)
在追加时如何将其保留在内存中?
big = wavread('big.wav');
flist = dir('*.wav');
for i=1:length(flist)
short = wavread(flist(i).name);
big = [big, short];
end
wavwrite(big, 'bigger.wav');
如果你知道要添加到big
矢量的样本数量,那么如果你预先分配所需的空间,它会更快。