matlab之“audioread”函数帮助文档翻译
课 程 设 计 (1)
原文
audioread
Read audio file
Syntax
[y,Fs] = audioread(filename)
[y,Fs] = audioread(filename,samples)
[y,Fs] = audioread(___,dataType)Description
Examples
Read Complete Audio File
Create a WAVE file from the example file
handel.mat, and read the file back into MATLAB®.Create a WAVE (
.wav) file in the current folder.load handel.mat filename = 'handel.wav';
audiowrite(filename,y,Fs);
clear y FsRead the data back into MATLAB using
audioread.[y,Fs] = audioread('handel.wav');Play the audio.
sound(y,Fs);Read Portion of Audio File
Create a FLAC file from the example file
handel.mat, and then read only the first 2 seconds.Create a FLAC (
.flac) file in the current folder.load handel.mat filename = 'handel.flac';
audiowrite(filename,y,Fs);Read only the first 2 seconds.
samples = [1,2*Fs];
clear y Fs
[y,Fs] = audioread(filename,samples);Play the samples.
sound(y,Fs);Return Audio in Native Integer Format
Create a FLAC file and read the first 2 seconds according to the previous Example. Then, view the data type of the sampled data
y.whos yName Size Bytes Class Attributes y 16384x1 131072 doubleThe data type of
yisdouble.Request audio data in the native format of the file, and then view the data type of the sampled data
y.[y,Fs] = audioread(filename,'native');
whos yName Size Bytes Class Attributes y 16384x1 32768 int16The data type of
yis nowint16.Input Arguments
filename— Name of file to readstringName of file to read, specified as a string that includes the file extension. If a path is specified, it can be absolute, relative or partial.
Example:
'myFile.mp3'Example:
'../myFile.mp3'Example:
'C:\temp\myFile.mp3'
audioreadsupports the following file formats.
Platform Support File Format All platforms WAVE ( .wav)OGG ( .ogg)FLAC ( .flac)AU ( .au)AIFF ( .aiff,.aif)AIFC ( .aifc)Windows® 7 (or later), Macintosh, and Linux® MP3 ( .mp3)MPEG-4 AAC ( .m4a,.mp4)On Windows platforms prior to Windows 7,
audioreaddoes not read WAVE files with MP3 encoded data.On Windows 7 (or later) platforms,
audioreadmight also read any files supported by Windows Media® Foundation.On Linux platforms,
audioreadmight also read any files supported by GStreamer.
audioreadcan extract audio from MPEG-4 (.mp4,.m4v) video files on Windows 7 or later, Macintosh, and Linux, and from Windows Media Video (.wmv) and AVI (.avi) files on Windows 7 (or later) and Linux platforms.
samples— Audio samples to read[1,inf](default) | two-element vector of positive scalar integersAudio samples to read, specified as a two-element vector of the form
[start,finish], wherestartandfinishare the first and last samples to read, and are positive scalar integers.
startmust be less than or equal tofinish.
startandfinishmust be less than the number of audio samples in the file,You can use
infto indicate the last sample in the file.
Note: When reading a portion of some MP3 files on Windows 7 platforms,
audioreadmight read a shifted range of samples. This is due to a limitation in the underlying Windows Media Foundation framework.When reading a portion of MP3 and M4A files on Linux platforms,
audioreadmight read a shifted range of samples. This is due to a limitation in the underlying GStreamer framework.Example:
[1,100]Data Types:
double
dataType— Data format of audio data,y'double'(default) |'native'Data format of audio data,
y, specified as one of the following strings:
'double'Double-precision normalized samples. 'native'Samples in the native format found in the file. For compressed audio formats, such as MP3 and MPEG-4 AAC that do not store data in integer form,
'native'defaults to'single'.Output Arguments
y— Audio datamatrixAudio data in the file, returned as an
m-by-nmatrix, wheremis the number of audio samples read andnis the number of audio channels in the file.
If you do not specify
dataType, ordataTypeis'double', thenyis of typedouble, and matrix elements are normalized values between −1.0 and 1.0.If
dataTypeis'native', thenycan be one of several MATLAB data types, depending on the file format and theBitsPerSamplevalue of the input file. Callaudioinfoto determine theBitsPerSamplevalue of the file.
File Format BitsPerSample Data Type of y Data Range of y WAVE ( .wav)8 uint80 ≤ y≤ 25516 int16-32768 ≤ y≤ +3276724 int32-2^32 ≤ y≤ 2^32–132 int32-2^32 ≤ y≤ 2^32–132 single-1.0 ≤ y≤ +1.064 double-1.0 ≤ y≤ +1.0FLAC ( .flac)8 uint80 ≤ y≤ 25516 int16-32768 ≤ y≤ +3276724 int32-2^32 ≤ y≤ 2^32–1MP3 ( .mp3), MPEG-4 AAC (.m4a,.mp4), OGG (.ogg), and certain compressed WAVE filesN/A single-1.0 ≤ y≤ +1.0
Note: Where
yissingleordoubleand theBitsPerSampleis 32 or 64, values inymight exceed −1.0 or +1.0.
Fs— Sample ratepositive scalarSample rate, in hertz, of audio data
y, returned as a positive scalar.Limitations
For MP3, MPEG-4 AAC, and AVI audio files on Windows 7 or later and Linux platforms,
audioreadmight read fewer samples than expected. On Windows 7 platforms, this is due to a limitation in the underlying Media Foundation framework. On Linux platforms, this is due to a limitation in the underlying GStreamer framework. If you require sample-accurate reading, work with WAV or FLAC files.On Linux platforms,
audioreadreads MPEG-4 AAC files that contain single-channel data as stereo data.
翻译
调用结构&描述
[y, Fs] =audioread(filename)
从以“filename”为文件名的文件中读取数据,并返回抽样数据y和此数据的抽样率Fs 。
[y, Fs] =audioread(filename, samples)
以选定范围从文件中读取音频样本,其中 samples 是具有[start, finish]形式的向量。
[y, Fs] =audioread( ____, dataType)
返回数据域中与 dataType 相对应的采样数据,dataType 可选“native(本地类型)”或“double(双精度型)”。
例子
可以自己从本地音乐里面选择音乐来测试。但是建议适当缩减音频长度,不然计算量会比较大,有可能卡死电脑。剪辑音频可以使用“格式工厂”,它也能用来转换文件格式。
输入 1、对于输入文件,表中给的信息已经很详细了,".wav"格式的音频是一定支持的,通用的".mp3"格式在win7以上及Linux系统上都是可以读取的。
2、 对于输入参数 samples ,在第一种调用结构中其实是隐藏了 [1, inf] 的默认samples参数,意思是从文件头读到文件尾。在第二种调用格式里面我们可以指定读取的参数范围。要注意 start, finish 两个参数都是正整数,而且他们的大小不能超出抽样个数。这个很容易理解,超出了源文件的抽样范围就不可能有数据。在使用中,可以用 [start, inf] 表示从 start 读到文件尾。
注意:当在win7平台上读取MP3以及在Linux上读取MP3&M4A格式文件时,可能会出现读取范围转移的现象,这是由于底层Windows Media Foundation框架的局限性造成的。
3、dataType有两种取值,native 或 double 。默认情况下,native 为单精度类型 single 。
输出
y 为音频数据,是一个mxn 的矩阵,m是读取文件的抽样个数,n是读取文件的音频信道个数。
· 在未明确 dataType 和 dataType 取 double 时,y 的类型也是 double。y 的元素为值介于-1.0和1.0之间的规范化值。
· 如果 dataType 取 native,y 可以为matlab所允许的几种数据类型之一。至于为哪一种类型取决于输入文件的类型,这种对应关系在上面给出的表中。
注意:当 y 为单精度或双精度数, 且 BitPerSample 为32或64时,y 的值有可能超出 -1.0~1.0。
局限
· 对于 MP3, MPEG-4 AAC, AVI音频文件,在win7及更高版本和Linux平台上,有可能会出现抽样个数比预期要少的现象。
· 在Linux上读取MPEG-4 AAC文件时,即使是单声道数据文件,也会当成立体声文件来读。
matlab之“audioread”函数帮助文档翻译的更多相关文章
- matlab中patch函数的用法
http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...
- Matlab基本函数-conj函数
Matlab基本函数-conj函数 1.conj函数:用于计算复数的共轭值 2.用法说明:y=conj(x)函数计算复数x的共轭值.输出结果y的维数跟输入x的维数一致,返回值为:real(y)-i*i ...
- 【原创】Matlab.NET混合编程技巧之找出Matlab内置函数
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 Matlab与.N ...
- 【原创】Matlab.NET混合编程技巧之直接调用Matlab内置函数
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 在我的上一篇文章[ ...
- matlab画图形函数 semilogx
matlab画图形函数 semilogx loglog 主要是学习semilogx函数,其中常用的是semilogy函数,即后标为x的是在x轴取对数,为y的是y轴坐标取对数.loglog是x y轴都取 ...
- 【matlab】设定函数默认参数
C++/java/python系列的语言,函数可以有默认值,通常类似如下的形式: funtion_name (param1, param2=default_value, ...) 到了matlab下发 ...
- matlab中subplot函数的功能
转载自http://wenku.baidu.com/link?url=UkbSbQd3cxpT7sFrDw7_BO8zJDCUvPKrmsrbITk-7n7fP8g0Vhvq3QTC0DrwwrXfa ...
- Matlab:max函数
Matlab中max函数在矩阵中求函数大小的实例如下: C = max(A)返回一个数组各不同维中的最大元素.如果A是一个向量,max(A)返回A中的最大元素.如果A是一个矩阵,max(A)将A的每一 ...
- 【原创】Matlab中plot函数全功能解析
[原创]Matlab中plot函数全功能解析 该帖由Matlab技术论(http://www.matlabsky.com)坛原创,更多精彩内容参见http://www.matlabsky.com 功能 ...
随机推荐
- PE格式第九讲,资源表解析
PE格式第九讲,资源表解析 一丶熟悉Windows管理文件的方法 首先,为什么标题是这个,主要是为了下边讲解资源方便,因为资源结构体很乱.如果直接拿出来讲解,那么就会很晕. 1.windows管理文件 ...
- (转)spring事务管理几种方式
转自:http://blog.csdn.net/jeamking/article/details/43982435 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置 ...
- (转)UML类图与类的关系详解
转载自:http://www.uml.org.cn/oobject/201104212.asp 在画类图的时候,理清类和类之间的关系是重点.类的关系有泛化(Generalization).实现(Rea ...
- [SVN服务器搭建] 在myecplise下使用的 tortoise1.9 64位 跟 subversion1.9的服务器使用
由于在公司经常用到SVN服务器,所以自己也想搭建在本机上面搭建一个SVN服务器玩玩,废话不多说,下面直接贴出来如何搭建的. 一.tortoise1.9 64位下载 直接百度下载即可,百度时候需要显示 ...
- 【ASP.NET MVC 学习笔记】- 02 Attribute
本文参考:http://www.cnblogs.com/willick/p/3208427.html 1.特性(Attribute)对程序中的元素进行标注,比如类.字段.方法.属性等. 2.在.NET ...
- ip完整验证详情
不想跳坑就看一下 之前一直不太会写正则表达式,很多要用到正则表达式的都直接百度,像上次要用正则表达式验证是否是合法的ip地址,然后就上网找,结果就是没找到一个对的,今天就为大家贡献一下,写个对的,并做 ...
- Java基础-流程控制(04)
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我 ...
- 启动tomcat爆错 the JRE could not be found
启动报错,如下图: 之前更改了了一个较低的jdk的版本看了看一个项目的代码,不知所云,然后再改回来, 混乱之中只要启动Tomcat就出现这种错误,还是无法找到JRE,最后如此解决: 在Windows- ...
- C++中的endl
从开始接触C++到现在,一直以为语句 cout << "hello world!" << endl; 中的endl只是一个相当于C中的换行'\n':直到今天 ...
- Assigning Workstations
题目链接:http://vjudge.net/contest/127404#problem/A /* 给你n个数字,让你找出一个最小的数字,这个数字不在这些数字中出现的 ,注意:这个数字如果各个位上的 ...