我是 Matlab 编码的初学者。我正在阅读从网上获得的有关语音识别的代码。加载音频波的 .m 文件具有如下代码
clc;
name=['S5T0','S5T1','S6T0','S6T1','S7T0','S7T1','S8T0','S8T1','S9T0','S9T1']; %
digit=['0123456789']; %
for d=1:length(digit)
eval(['x=wavread(''ti_0',digit(d),'apple01.wav.wav'');']);
for k=1:4:length(name)
[x1 x2]=vadnew(x);
eval(['ti_0',digit(d),'F3',name(k:k+3),'=x(100*x1:100*x2);']);
%ti_00F3S0T0=wavread('x(1).wav');
x=x(x2*100:length(x));
end
end
save ('F3new.mat', 'ti*');
有人可以告诉我这条线在做什么吗?:
eval(['x=wavread(''ti_0',digit(d),'apple01.wav.wav'');']);
最佳答案
eval
函数将给定字符串计算为 MATLAB 表达式;所以,例如
eval('x=1')
将变量x
设置为1
。在本例中,它用于在不同的输入上调用 wavread
。 wavread
是一个读取 WAV 音频文件的函数,例如语句:
x=wavread('ti_00apple01.wav.wav');
将 WAV 文件“ti_00apple01.wav.wav”读入变量 x
。
关于matlab - Matlab 中的 eval() 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15050437/