3
我有一個很大的波形文件,我想在它的末尾添加一些聲音。並且因爲我在循環中添加它,所以每次讀取它並添加一個短部分並關閉它是不明智的(以這種方式,該算法非常慢)。 有沒有更好的方法來在matlab(波形文件)中添加另一個聲音文件?在matlab中添加波形文件末尾的聲音
我有一個很大的波形文件,我想在它的末尾添加一些聲音。並且因爲我在循環中添加它,所以每次讀取它並添加一個短部分並關閉它是不明智的(以這種方式,該算法非常慢)。 有沒有更好的方法來在matlab(波形文件)中添加另一個聲音文件?在matlab中添加波形文件末尾的聲音
如何在追加時將其保存在內存中?
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
矢量它的速度更快,如果你預先分配所需的空間。
我使用這個程序,但它也很慢我不想讀BIG文件,它真的很大! – Hossein 2012-08-06 18:17:52
'wavwrite'不支持添加,所以你只需要使用'fread' /'fwrite',但是在處理wav頭文件時可能會變得複雜,所以也許在無頭文件狀態下處理數據。如何使用外部程序? ['sox'](http://sox.sf.net)可以很容易地做到這一點,連接兩個文件:'sox long.wav short.wav -t wavpcm longer.wav'。 – Thor 2012-08-07 10:28:31