目录
audioread函数的功能是读取音频文件。
语法
-
[
y,Fs] = audioread(filename)
-
[
y,Fs] = audioread(filename,samples)
-
[
y,Fs] = audioread(___,dataType)
说明
[y,Fs] = audioread(filename) 从名为 filename 的文件中读取数据,并返回样本数据 y 以及该数据的采样率 Fs。
[y,Fs] = audioread(filename,samples) 读取文件中所选范围的音频样本,其中 samples 是 [start,finish] 格式的向量。
[y,Fs] = audioread(___,dataType) 返回数据范围内与 dataType('native' 或 'double')对应的采样数据,可以包含先前语法中的任何输入参数。
示例
读取完整的音频文件
从示例文件 handel.mat 创建 WAVE 文件,并将此文件读回 MATLAB®。在当前文件夹中创建 WAVE (.wav) 文件。
-
load handel.mat
-
-
filename =
'handel.wav';
-
audiowrite(filename,y,Fs);
-
clear y Fs
使用 audioread 将数据读回 MATLAB。
[y,Fs] = audioread('handel.wav');
播放音频。
sound(y,Fs);
读取部分音频文件
从示例文件 handel.mat 创建 FLAC 文件,然后仅读取前 2 秒的内容。在当前文件夹中创建 FLAC (.flac) 文件。
-
load handel.mat
-
-
filename =
'handel.flac';
-
audiowrite(filename,y,Fs);
仅读取前 2 秒的内容。
-
samples = [
1,
2*Fs];
-
clear y Fs
-
[
y,Fs] = audioread(filename,samples);
播放样本。
sound(y,Fs);
返回原生整数格式的音频
创建一个 .flac 文件,读取文件的前 2 秒内容,然后返回原生整数格式的音频。在当前文件夹中创建 FLAC (.flac) 文件。
-
load handel.mat
-
filename =
'handel.flac';
-
audiowrite(filename,y,Fs);
仅读取前 2 秒内容,然后指定数据并查看采样数据 y 的数据类型。y 的数据类型为 double。
-
samples = [
1,
2*Fs];
-
clear y Fs
-
[
y,Fs] = audioread(filename,samples);
-
whos y
-
Name Size Bytes Class Attributes
-
-
y
16384x1
131072
double
请求文件原生格式的音频数据,然后查看采样数据 y 的数据类型。请注意 y 的新数据类型。
-
[
y,Fs] = audioread(filename,
'native');
-
whos y
-
Name Size Bytes Class Attributes
-
-
y
73113x1
146226 int16
根据文件的位置,filename可以采用下列形式之一:
·当前文件夹,即:'sample_audio.wav'
·其它文件夹,即:'C:\myFolder\myFile.sample_audio.wav'或者'myFolder\sample_audio.mp3'
·Internet URL,即:'http://hostname/path_to_file/sample_audio.mp3'
远程位置,即:scheme_name://path_to_file/my_file.ext
audioread函数支持以下文件格式:
平台支持 | 文件格式 |
---|---|
所有平台 | AIFC (.aifc) |
AIFF(.aiff、.aif) | |
AU (.au) | |
FLAC (.flac) | |
OGG (.ogg) | |
OPUS (.opus) | |
WAVE (.wav) | |
Windows® 7(或更高版本)、Macintosh 和 Linux® | MP3 (.mp3) |
MPEG-4 AAC(.m4a、.mp4) |
转载:https://blog.csdn.net/jk_101/article/details/128587610