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));

 

  但是沒聲音........系統自帶的可以。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM