zoukankan      html  css  js  c++  java
  • 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));
    

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

  • 相关阅读:
    Note/Solution 转置原理 & 多点求值
    Note/Solution 「洛谷 P5158」「模板」多项式快速插值
    Solution 「CTS 2019」「洛谷 P5404」氪金手游
    Solution 「CEOI 2017」「洛谷 P4654」Mousetrap
    Solution Set Border Theory
    Solution Set Stirling 数相关杂题
    Solution 「CEOI 2006」「洛谷 P5974」ANTENNA
    Solution 「ZJOI 2013」「洛谷 P3337」防守战线
    Solution 「CF 923E」Perpetual Subtraction
    KVM虚拟化
  • 原文地址:https://www.cnblogs.com/hxsyl/p/5396758.html
Copyright © 2011-2022 走看看