我需要在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);
答案 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
)