将.mat转换为.wav

时间:2014-01-14 11:41:01

标签: matlab audio signal-processing

我需要在Matlab中创建一个来自.mat文件的wav。我这样做了:

wavwrite('cap_triger.mat',44100,16,'telo.wav')

其中cap_trigger.mat是包含信息的文件。使用这些句子,matlab创建telo.wav但是为空。

这就是我创建文件的方式:

%captura 
frame_dur = 202e-3;
fs = 44.1e3; 
t_max = 100e-3;

%duración de la ventana de transmisión 
dur_trig = 1e-3;

%duración temporal del pulso de la señal de trigger 
t_samp = 1/fs;  %periodo de muestreo 

%duración del trigger en muestras 
trig_samples = floor(dur_trig/t_samp);
rec_obj = audiorecorder(fs,24,2);
recordblocking(rec_obj,frame_dur);
frame=getaudiodata(rec_obj); 

1 个答案:

答案 0 :(得分:0)

wavwrite需要一个变量,不能直接处理.mat文件。

load cap_triger.mat
X = dataarray;   % dataarray contained in .mat-file with all the information
                 % or use the variable X contained in the file directly, whatever
wavwrite( X,44100,16,'telo.wav' )

我不确定也无法测试,但也许这也有效:

wavwrite( load('cap_triger.mat'),44100,16,'telo.wav' )

还可以查看audiowrite,它提供了更多选项,并且将来也会提供。 (而不是wavwrite