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');

bigvectorに追加するサンプルの数がわかっている場合は、必要なスペースを事前に割り当てておいた方が高速です。

于 2012-08-05T17:12:15.117 に答える