2014-11-16 2 views
1

Мне нужно объединить два файла .wav в новый .wav.Как сохранить .wav файлы вместе в MATLAB?

E.g. Мне нужно присоединиться к a.wav и b.wav, чтобы сделать ab.wav.

Но эти файлы не имеют одинаковую длину, которая создает эту ошибку:

Error using vertcat 
Dimensions of matrices being concatenated are not consistent. 

Error in twoSounds (line 21) 
samples = [snd ; snd2] 

А вот несколько битов из самого моего кода ...

s1 = 'a.wav'; 
s2 = 'b.wav'; 

[snd, fs, bits] = wavread(s1); 
[snd2, fs, bits] = wavread(s2); 

START = 1; 
END = size(snd); 
END2 = size(snd2); 

sample1 = snd(START:END); 
sample2 = snd2(START:END2); 
samples = [sample1 ; sample2] 
+2

Что 'размер (СНД) и' размер (snd2) 'сказать вам? – Jubobs

+0

Вы должны указать размеры. Попробуйте 'samples = [snd snd2];' – Rashid

+0

Различные длины не должны быть проблемой. Может быть, один файл стерео, а другой - моно? –

ответ

2

С snd моно с размер 598528x1,

и snd2 стерео с размером 324864x2,

Ваш лучший выбор

sample = [snd ; mean(snd2,2)]; 
+0

Хе-хе, ответ и мой комментарий были размещены на расстоянии 3 секунды! +1 для отправки его в качестве ответа =) –

Смежные вопросы