Matlab读取音频数据

  项目需要,读出识别的车牌,对着图片看看是否识别正确。

  有了0到9和A到Z,32个省份的音频,但是如何用matlab读出来,老版本有wavread直接读出,然后waveplay读入的即可。但是现在的是audioplayer了,对应的audiorecorder是录音用的,他是waveread的前身,然而功能却不一样。新的用法

load chirp
p=audioplayer(y,44100)
play(p)

  注意chirp是系统自带声音,加载后包括y文件是个double的行向量,fs是播放频率或者采样频率之类的。

  问题是我不知道如何把现在的wav读取成double文件,我原来一直在搞audioplayer到底怎么用,运行现在的例子,发现audioplayer播放的是double文件,那么我就百度,发现matlab里面直接双击wav文件后会出现如下图,发现美,double文件和频率,然后我就想把所有的音频文件这样处理成2个mat分别用,但是太麻烦了

 

  我偶然看到下面有个“生成matlab代码”,代码如下

function importfile(fileToRead1)
%IMPORTFILE(FILETOREAD1)
%  从指定文件中导入数据
%  FILETOREAD1:  要读取的文件

%  由 MATLAB 于 15-Apr-2016 19:50:36 自动生成

% 导入文件
newData1 = importdata(fileToRead1);

% 在基础工作区中从这些字段创建新变量。
vars = fieldnames(newData1);
for i = 1:length(vars)
    assignin('base', vars{i}, newData1.(vars{i}));
end

  只需输入文件名即可,哈哈....

  观察代码发现直接importdata就好了,返回ans的结构体,里面包括data和fs。如果用上面的importfile来做的话发现读不出来data,可能是因为,报错data未定义,所以我就直接用importdata,然后

 

play(audioplayer(ans.data,22000));

 

  但是没声音........系统自带的可以。

 

posted @ 2016-04-15 20:06  加拿大小哥哥  阅读(11020)  评论(0编辑  收藏  举报