3

我有一个很大的波形文件,我想在它的末尾添加一些声音。并且因为我这样做是在一个循环中添加的,所以每次都阅读它并添加一小部分并关闭它是不明智的(这样算法是如此缓慢)。有没有更优化的方法可以在 matlab(wave 文件)的另一个末尾添加一个声音文件?

4

1 回答 1

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向量中的样本数量,则预先分配所需的空间会更快。

于 2012-08-05T17:12:15.117 回答