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));
但是没声音........系统自带的可以。
作者:火星十一郎
本文版权归作者火星十一郎所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.