主要内容

dsp.AudioFileReader

从音频文件流

描述

dsp.AudioFileReader系统对象™读取音频样本一个音频文件。

阅读一个音频的音频样本文件:

  1. 创建dsp.AudioFileReader对象并设置其属性。

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

误判率= dsp.AudioFileReader返回一个音频文件阅读器系统对象,误判率从一个音频文件,读取音频。

例子

误判率= dsp.AudioFileReader (文件名称)返回一个音频文件读者对象,误判率,文件名属性设置为文件名称

例子

误判率= dsp.AudioFileReader (名称,值)返回一个音频文件阅读器系统对象,误判率,每个指定的属性设置为指定的值。在单引号附上每个属性的名字。未指定的属性有默认值。

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

一个音频文件的名称指定为一个特征向量或字符串标量。如果FilenameIsTunableInCodegen被设置为在MATLAB和文件®路径,那么你不需要指定文件的全名。如果FilenameIsTunableInCodegen被设置为真正的,那么文件名必须存在于当前目录,或者你必须指定完整的文件路径。文件名可以http web地址“http://audio.wgbh.org: 8004 /”。例如,看到的阅读和播放音频文件从http Web地址

文件名属性是可调在生成的代码。也就是说,您可以通过音频文件的名称作为输入从这个对象在运行生成的代码。文件属性,如音频格式,音频通道的数量,采样率和比特率不可调,必须匹配原型音频文件的属性指定的CodegenPrototypeFile财产。指定的原型音频文件的类型决定了属性和音频文件,可以读到生成的代码。例如,看到的在生成的代码可调音频文件的名字

下表列出了支持的音频文件格式。金宝app

平台 文件扩展名
窗户® . wav,.wma,.avi,aif,.aifc,.aiff,mp3,.au,. ogg,爱恋,mp4, .m4a .flac。mov
非windows .avi, mp3, mp4, .m4a, wav, .flac, . ogg, aif, .aifc, .aiff, .au,爱恋,。mov

一个正整数指定为播放文件的次数。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

指定音频帧的样本数量作为一个积极的,标量整数值。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

设置数据类型的音频数据的输出音频文件读者对象。指定数据类型“双”,“单一”,“int16”,或“uint8”

将该属性设置为true,使可调谐性文件名在生成的C / c++代码。指定的文件文件名必须存在于当前目录,或者您必须指定完整的文件路径。

如果FilenameIsTunableInCodegen被设置为真正的文件属性,如音频格式,音频通道的数量,采样率和比特率不可调,必须匹配原型的属性指定的音频文件CodegenPrototypeFile财产。指定的原型音频文件的类型决定了属性和音频文件,可以读到生成的代码。例如,如果指定的文件是一个原型. wav文件,然后生成的代码只能读. wav文件。如果指定的采样率为44100 Hz原型文件,然后生成的代码可以读取文件采样率为44100 Hz。

数据类型:逻辑

指定原型音频文件的名称中使用代码生成特征向量或一个字符串标量。指定完整路径的文件只有在MATLAB上的文件不是路径。文件名可以http web地址“http://audio.wgbh.org: 8004 /”

音频文件的属性中指定的文件名(如音频格式,音频通道的数量,采样率,和咬率)必须匹配的属性中指定的音频文件CodegenPrototypeFile。指定的原型音频文件的类型决定了属性和音频文件,可以读到生成的代码。例如,如果指定的文件是一个原型. wav文件,然后生成的代码只能读. wav文件。如果指定的采样率为44100 Hz原型文件,然后生成的代码可以读取文件采样率为44100 Hz。

下表列出了支持的音频文件格式:金宝app

平台 文件扩展名
窗户 . wav,.wma,.avi,aif,.aifc,.aiff,mp3,.au,. ogg,爱恋,mp4, .m4a .flac。mov
非windows .avi, mp3, mp4, .m4a, wav, .flac, . ogg, aif, .aifc, .aiff, .au,爱恋,。mov

依赖关系

这个属性只适用于当FilenameIsTunableInCodegen属性设置为真正的

这个属性是只读的。

这个属性显示采样率,赫兹的音频文件。

数据类型:

指定阅读的样本范围,作为一个向量的形式(StartSampleEndSample),StartSample的样例文件阅读开始,EndSample是阅读的示例文件停止。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

使用

描述

例子

音频=误判率()输出一帧音频样本,音频。您可以指定的次数使用的文件PlayCount财产。在打文件指定的次数,音频包含的沉默。

(音频,eof]=误判率()返回一个文件尾指标,eofeof是真的每次输出音频包含文件中最后一个音频样本。

输出参数

全部展开

一帧音频样本,返回一个列向量的长度等于中指定的值SamplesPerFrame财产。音频输出的数据类型被指定的OutputDataType财产。

数据类型:||int16|uint8

文件尾指标,作为一个返回1或者一个0。的值1输出时音频包含文件中最后一个音频样本。

数据类型:逻辑

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

信息 关于音频文件的具体信息
结束 文件尾状态(逻辑)
一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

阅读和播放音频文件使用标准的音频输出设备。

请注意:如果您使用的是R2016a或更早的版本中,用等效替换每个调用对象一步语法。例如,obj ()就变成了步骤(obj)

你可以选择或指定一个范围的数据读取整个数据阅读使用ReadRange财产。默认情况下,ReadRange将[1正],表示文件阅读器读取整个数据从源。在这个例子中,集ReadRange3 fs,指示文件阅读器读取数据的第一个3秒。

误判率= dsp.AudioFileReader (“speech_dft.mp3”,“ReadRange”(3 * 22050));adw = audioDeviceWriter (“SampleRate”,afr.SampleRate);~结束(误判率)音频=误判率();adw(音频);结束释放(误判率);释放(adw);

从一个http web地址读取音频数据使用dsp.AudioFileReader系统对象™。回放数据使用audioDeviceWriter系统对象。

初始化

创建一个音频文件阅读器读取数据http://audio.wgbh.org: 8004 /。设置采样率的音频设备作家一样的音频文件阅读器。

误判率= dsp.AudioFileReader (“http://audio.wgbh.org: 8004 /”)
误判率= dsp.AudioFileReaderwith properties: Filename: 'http://audio.wgbh.org:8004/' PlayCount: 1 SamplesPerFrame: 1024 OutputDataType: 'double' SampleRate: 44100 ReadRange: [1 Inf]
adw = audioDeviceWriter (afr.SampleRate)
adw = audioDeviceWriter属性:司机:“声音处理软件”装置:“违约”SampleRate: 44100显示所有属性

阅读和回放

读一个特定数量的数据直接从web地址和数据使用音频设备的作家。

我= 1:1000音频=误判率();adw(音频);结束

关闭输入文件和音频输出设备。

发布(误判率)发布(adw)

从函数生成一个墨西哥人文件命名writeAudio。该函数读取的音频信号funky-stereo.wav文件,使得信号的2倍,并将摧毁信号写入指定的输出文件。

dsp.AudioFileReader对象读取的音频信号funky-stereo.wav文件。的funky-stereo.wav文件有两个渠道,采样率为44100 Hz, 1411 kbps的比特率。的CodegenPrototypeFile设置对象的属性rock-stereo.wav文件。的rock-stereo.wav文件相同的文件属性,如音频频道的数量、采样率和比特率funky-stereo.wav文件。的dsp.FIRDecimator对象会毁坏输入音频信号的2倍。的dsp.AudioFileWriter对象将摧毁信号写入输出文件myoutput.wav。由于大量毁灭的过程,输出文件的采样率为22050 Hz和2822 kbps的比特率。

类型writeAudio.m
writeAudio (readfile函数,writefile)误判率= dsp.AudioFileReader (FilenameIsTunableInCodegen,真的,…“CodegenPrototypeFile”、“rock-stereo.wav”);误判率。文件名= readfile;% funky-stereo文件名。wav和CodegenPrototypeFile % rock-stereo.wav。firdec = dsp.FIRDecimator(2, '汽车');由2 afw = %毁掉dsp.AudioFileWriter (SampleRate, 22050);afw。文件名= writefile; while ~isDone(afr) audio = afr(); audiod = firdec(audio); afw(audiod); end release(afr); release(afw); end

对于生成代码,指定文件名特征向量长度可变的最大长度为500。

readfilename = coder.typeof (“一个”[500],[0 1]);writefilename = coder.typeof (“b”[500],[0 1]);

生成一个墨西哥人文件使用codegen函数。

codegenwriteAudioarg游戏{readfilename, writefilename}
代码生成成功。
writeAudio_mex (“funky-stereo.wav”,“myoutput.wav”);

限制

对MP3、mpeg - 4 AAC和AVI音频文件Windows 7或晚和Linux®平台,dsp.AudioFileReader对象可以阅读比预期的更少的样品。在Windows平台上,这是由于一个限制在底层媒体基础框架。在Linux平台上,这是由于一个限制在底层GStreamer框架。如果您需要sample-accurate阅读,WAV或FLAC文件一起工作。

算法

这个对象实现算法、输入和输出的描述从多媒体文件块引用页面。对象属性对应块的参数,除了:

  • 的对象没有相应的属性从文件继承采样时间块参数。对象总是继承了样本时间从文件。

  • 的对象没有相应的属性输出文件尾指示器参数。对象总是输出EOF最后输出。

  • 的对象没有相应的属性多媒体输出因为音频是唯一支持的输出参数。金宝app

  • 的对象没有相应的属性图像信号块参数。

  • 的对象没有相应的属性输出颜色格式参数。

  • 的对象没有相应的属性视频输出数据类型参数。

扩展功能

版本历史

介绍了R2012a