我需要在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);
最佳答案
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
)
关于matlab - 将.mat转换为.wav,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21112664/