【发布时间】:2015-09-22 08:55:27
【问题描述】:
我有两个立体声 wav 文件,我想将第一个音频文件的左声道和第二个音频文件的右声道合并到一个新的波形文件中。
这是我正在尝试做的图片。
我知道我可以将文件读入 matlab / octave 并使用以下代码获得单独的左右声道:
[imported_sig_1, fs_rate, nbitsraw] = wavread(strcat('/tmp/01a.wav'));
imported_sig_L=imported_sig_1(:,1)';
[imported_sig_2, fs_rate, nbitsraw] = wavread(strcat('/tmp/02a.wav'));
imported_sig_R=imported_sig_2(:,2)';
然后我可以使用代码编写我想要的新频道
wavwrite([(imported_sig_L)' (imported_sig_R)'] ,fs_rate,16,'newfile.wav'); %
我遇到的问题是导入文件所需的时间和波形文件占用的数组大小。我要导入的文件大约需要 1-4 小时,并且需要一段时间才能导入,并且在阵列中需要大量内存。导入完整文件然后导出它们是否存在?
我在 Ubuntu 14.04 上使用 octave 3.8.1,这类似于 matlab,但我也可以访问 sox
【问题讨论】: