Matlab中对音频文件的读取操作
Matlab中对文件的读取操作
注意:本程序与2016b版本以前不兼容
读取整个音频文件
如果你需要读取整个音频文件并输出数组时,可以使用audioread函数
[y,Fs] = audioread('C:\Users\Hong\Desktop\matlab\城之内.mp3');
读取部分音频文件
如果需要读取部分音频,这是将前两秒的数据读取出来,相当于新建了一个2秒的文件,再读取。个人感觉这种方式虽然简单,但不好用。
filename = 'C:\Users\Hong\Desktop\matlab\城之内.mp3';
audiowrite(filename,y,Fs);
samples = [1,2*Fs];%2为读取两秒
clear y Fs
[y,Fs] = audioread(filename,samples);
按帧读取音频文件(力荐)
通过dsptoolbox里面的dsp.AudioFileReader函数来进行读取初始化操作,是数据流操作
%% RichardYang 2020/3/10 Ver1.0
%%Copyright © 2020 by RichardYang. All rights reserved.
afr = dsp.AudioFileReader;%通过建立类型来初始化文件输入格式
afr.Filename='C:\Users\Hong\Desktop\matlab\城之内.mp3';%读取文件
afr.SampleRate%文件采样率(只读)
afr.SamplesPerFrame