主要内容

audiofeatureextractor.

流线型音频特征提取

描述

audiofeatureextractor.将多个音频特征提取器封装成简化和模块化实现。

创建

描述

aFE= audiofeatureextractor()使用默认属性值创建一个音频功能提取器。

例子

aFE=音频特征提取程序(名称、值指定非默认属性aFE使用一个或多个名称-值对参数。

特性

展开全部

主要属性

分析窗口,指定为真正的矢量。

数据类型:单身的|双倍的

相邻分析窗口的重叠长度,指定为范围内的整数[0,努梅尔(窗户).

数据类型:单身的|双倍的

FFT长度,指定为整数。默认值为,[],表示FFT长度等于窗口长度(努梅尔(窗户).

数据类型:单身的|双倍的

以Hz为单位的输入采样率,指定为非负标量。

数据类型:单身的|双倍的

输入到光谱描述符,指定为“线性光谱”“melspectrum”“Barkspectrum”, 或者“erbspectrum”

受此属性影响的光谱描述符包括:

输入到光谱描述符的频谱与相应功能的输出相同:

例如,如果您设置“spectraldescriptorinput”“Barkspectrum”“Spectralcentroid”符合事实的, 然后aFE返回默认Bark频谱的质心。

[audioIn,fs]=音频读取('Counting-16-44p1-mono-15secs.wav');AFE = audiofeatureextractor(“采样率”,财政司司长,......“spectraldescriptorinput”“Barkspectrum”......“Spectralcentroid”,对);Barkspectrocalcentroid=提取物(aFE,audioIn);
如果指定一个非遗嘱吠声谱使用setExtractorParams.然后,非默认Bark谱是光谱描述符的输入。例如,如果你打电话setExtractorParams(aFE,“巴克光谱”,“麻木”,40), 然后aFE返回40带树皮谱的质心。

setExtractorParams(AFE,“Barkspectrum”“numbands”,40)Bark40Spectralcentroid =提取物(AFE,AUDION);

数据类型:char|细绳

要提取的特征

提取单面线性频谱,指定为符合事实的或者错误的

设置线性频谱提取的参数,使用setExtractorParams.

setExtractorParams(AFE,“线性光谱”“姓名”,价值)
线性频谱提取的可设置参数是:

  • “频率范围”–以Hz为单位的提取频谱的频率范围,指定为逗号分隔对,包括“频率范围”和一个增加数量的两个元素矢量[0,采样率/ 2]。如果未指定,频率范围默认为[0,采样率/ 2]

  • “spectrumtype”- 频谱类型,指定为逗号分隔对“spectrumtype”“力量”或者“震级”。如果未指定,Spectrumtype.默认为“力量”

  • “窗口规范化”- 应用窗口标准化,指定为逗号分隔对组成“窗口规范化”符合事实的或者错误的。如果未指定,风向正规化默认为符合事实的

数据类型:逻辑

提取单面熔点,指定为符合事实的或者错误的

设定MEL频谱提取的参数,使用setExtractorParams.

setExtractorParams(AFE,“melspectrum”“姓名”,价值)
MEL谱提取的可设置参数是:

  • “频率范围”–以Hz为单位的提取频谱的频率范围,指定为逗号分隔对,包括“频率范围”和一个增加数量的两个元素矢量[0,采样率/ 2]。如果未指定,频率范围默认为[0,采样率/ 2]

  • “spectrumtype”- 频谱类型,指定为逗号分隔对“spectrumtype”“力量”或者“震级”。如果未指定,Spectrumtype.默认为“力量”

  • “numbands”- MEL频段的数量,指定为逗号分隔的配对组成“numbands”和一个整数。如果未指定,numbands.默认为32.

  • “筛选贩语”- 标准化应用于带通滤波器,指定为逗号分隔的对组成“筛选贩语”“带宽”“区域”, 或者“没有”。如果未指定,滤波器组归一化默认为“带宽”

  • “窗口规范化”- 应用窗口标准化,指定为逗号分隔对组成“窗口规范化”符合事实的或者错误的。如果未指定,风向正规化默认为符合事实的

  • “FilterBankDesignDomain”- 设计了滤波器组的域,指定为逗号分隔对FilterBankDesignDomain.和任何一种“线性”或者“翘曲”。如果未指定,FilterBankDesignDomain.默认为“线性”

数据类型:逻辑

提取单面Bark谱,指定为符合事实的或者错误的

设定树皮谱提取的参数,使用setExtractorParams.

setExtractorParams(AFE,“Barkspectrum”“姓名”,价值)
树皮光谱提取的可设置参数为:

  • “频率范围”–以Hz为单位的提取频谱的频率范围,指定为逗号分隔对,包括“频率范围”和一个增加数量的两个元素矢量[0,采样率/ 2]。如果未指定,频率范围默认为[0,采样率/ 2]

  • “spectrumtype”- 频谱类型,指定为逗号分隔对“spectrumtype”“力量”或者“震级”。如果未指定,Spectrumtype.默认为“力量”

  • “numbands”- 指定为逗号分隔对的树皮带数“numbands”和一个整数。如果未指定,numbands.默认为32.

  • “筛选贩语”- 标准化应用于带通滤波器,指定为逗号分隔的对组成“筛选贩语”“带宽”“区域”, 或者“没有”。如果未指定,滤波器组归一化默认为“带宽”

  • “窗口规范化”- 应用窗口标准化,指定为逗号分隔对组成“窗口规范化”符合事实的或者错误的。如果未指定,风向正规化默认为符合事实的

  • “FilterBankDesignDomain”- 设计了滤波器组的域,指定为逗号分隔对FilterBankDesignDomain.和任何一种“线性”或者“翘曲”。如果未指定,FilterBankDesignDomain.默认为“线性”

数据类型:逻辑

提取单面ERB频谱,指定为符合事实的或者错误的

设置ERB频谱提取的参数,使用setExtractorParams.

setExtractorParams(AFE,“erbspectrum”“姓名”,价值)
ERB频谱提取的可设置参数为:

  • “频率范围”–以Hz为单位的提取频谱的频率范围,指定为逗号分隔对,包括“频率范围”和一个增加数量的两个元素矢量[0,采样率/ 2]。如果未指定,频率范围默认为[0,采样率/ 2]

  • “spectrumtype”- 频谱类型,指定为逗号分隔对“spectrumtype”“力量”或者“震级”。如果未指定,Spectrumtype.默认为“力量”

  • “numbands”- 被指定为逗号分隔对的ERB频段的数量“numbands”和一个整数。如果未指定,numbands.默认为CEIL(Hz2erb.(频率范围(2))-Hz2erb.(ForderRange(1))))

  • “筛选贩语”- 标准化应用于带通滤波器,指定为逗号分隔的对组成“筛选贩语”“带宽”“区域”, 或者“没有”。如果未指定,滤波器组归一化默认为“带宽”

  • “窗口规范化”- 应用窗口标准化,指定为逗号分隔对组成“窗口规范化”符合事实的或者错误的。如果未指定,风向正规化默认为符合事实的

数据类型:逻辑

提取熔融频率谱系数(MFCC),指定为符合事实的或者错误的

设置MFCC提取的参数,使用setExtractorParams.

setExtractorParams(AFE,“mfcc”“姓名”,价值)
MFCC提取的可设置参数是:

  • “Numcoefs”- 为每个窗口返回的系数数,指定为包含的逗号分隔对“Numcoefs”和一个正整数。如果未指定,numcoeffs.默认为13.

  • “deltawindowlength”- Delta窗口长度,指定为逗号分隔对组成“deltawindowlength”奇数大于2.如果未指定,deltawindowlength.默认为9.。此参数会影响mfccDeltamfccdeltadelta特征。

  • “整改”–非线性校正类型,指定为逗号分隔对,包括“整改”“日志”或者“立方根”

mel频率倒谱系数使用MELSPECTRUM

数据类型:逻辑

提取MFCC的Delta,指定为符合事实的或者错误的

ΔMFCC基于提取的MFCC计算。参数设置MFCC.影响mfccDelta

数据类型:逻辑

提取MFCC的Delta-Delta,指定为符合事实的或者错误的

基于提取的MFCC计算Delta-Delta MFCC。参数设置MFCC.影响mfccdeltadelta

数据类型:逻辑

提取γ氨糖糖系数(GTCC),指定为符合事实的或者错误的

要设置GTCC提取的参数,请使用setExtractorParams.

setExtractorParams(AFE,“GTCC”“姓名”,价值)
GTCC提取的可设置参数是:

  • “Numcoefs”- 为每个窗口返回的系数数,指定为包含的逗号分隔对“Numcoefs”和一个正整数。如果未指定,numcoeffs.默认为13.

  • “deltawindowlength”- Delta窗口长度,指定为逗号分隔对组成“deltawindowlength”奇数大于2.如果未指定,deltawindowlength.默认为9.。此参数会影响GTCCDeltagtccDeltaDelta特征。

  • “整改”–非线性校正类型,指定为逗号分隔对,包括“整改”“日志”或者“立方根”

使用该计算γ抗糖糖系数铒波谱

数据类型:逻辑

提取GTCC的增量,指定为符合事实的或者错误的

基于提取的GTCC计算Delta GTCC。参数设置GTCC.影响GTCCDelta

数据类型:逻辑

提取GTCC的Delta-Delta,指定为符合事实的或者错误的

基于提取的GTCC计算Delta-Delta GTCC。参数设置GTCC.影响gtccDeltaDelta

数据类型:逻辑

提取光谱质心,指定为符合事实的或者错误的

根据以下光谱表示之一计算光谱质心,如SpectralDescriptorInput.财产:

数据类型:逻辑

提取谱嵴,指定为符合事实的或者错误的

频谱CREST由以下光谱表示之一计算,如下所示SpectralDescriptorInput.财产:

数据类型:逻辑

提取光谱减少,指定为符合事实的或者错误的

频谱减小由以下光谱表示之一计算,如下所示SpectralDescriptorInput.财产:

数据类型:逻辑

提取光谱熵,指定为符合事实的或者错误的

频谱熵由以下光谱表示之一计算,如下所示SpectralDescriptorInput.财产:

数据类型:逻辑

提取光谱平整度,指定为符合事实的或者错误的

根据以下光谱表示之一计算光谱平坦度,如SpectralDescriptorInput.财产:

数据类型:逻辑

提取光谱通量,指定为符合事实的或者错误的

光谱通量由以下光谱表示之一计算,如下所示SpectralDescriptorInput.财产:

设置光谱通量提取的参数,使用setExtractorParams.

setExtractorParams(AFE,“spectralflux”“姓名”,价值)
光谱通量提取的可设置参数是:

  • “标准类型”- 用于计算光谱通量的规范类型,指定为逗号分隔的对“标准类型”1或者2。如果未指定,丹型默认为2

数据类型:逻辑

提取物光谱峰,指定为符合事实的或者错误的

如下所示,基于以下光谱表示之一计算光谱峰值。SpectralDescriptorInput.财产:

数据类型:逻辑

提取光谱卷口点,指定为符合事实的或者错误的

频谱升降点由以下光谱表示之一计算,如下所示SpectralDescriptorInput.财产:

设置频谱卷口点提取的参数,使用setExtractorParams.

setExtractorParams(AFE,“spectralrolloffpoint”“姓名”,价值)
光谱通量提取的可设置参数是:

  • “临界点”- 升降点的阈值,指定为逗号分隔的配对“临界点”和范围(0,1)中的标量。如果未指定,临界点默认为0.95

数据类型:逻辑

提取光谱偏斜,指定为符合事实的或者错误的

根据以下光谱表示之一计算光谱偏度,如SpectralDescriptorInput.财产:

数据类型:逻辑

提取光谱斜率,指定为符合事实的或者错误的

根据以下光谱表示之一计算光谱斜率,如SpectralDescriptorInput.财产:

数据类型:逻辑

提取频谱扩展,指定为符合事实的或者错误的

频谱扩展由以下光谱表示之一计算,如下所示SpectralDescriptorInput.财产:

数据类型:逻辑

提取间距,指定为符合事实的或者错误的

设置音调提取的参数,使用setExtractorParams.

setExtractorParams(AFE,“沥青”“姓名”,价值)
俯仰提取的可设置参数是:

  • “方法”–用于计算节距的方法,指定为逗号分隔对,包括“方法”“PEF”“NCF”“CEP”“LHS”, 或者“srh”。如果未指定,方法默认为“NCF”.有关可用基音提取方法的说明,请参阅

  • “范围”- 范围内的搜索Hz的音高,指定为包括的逗号分隔对“范围”和一个增加值的双元素行向量。如果未指定,范围默认为[50,400]

  • “MedianFilterLength”–用于随时间平滑基音估计的中值滤波器长度,指定为逗号分隔对,包括“MedianFilterLength”和一个正整数。如果未指定,MedianFilterLength.默认为1(没有中值过滤)。

数据类型:逻辑

提取谐波比,指定为符合事实的或者错误的

数据类型:逻辑

目标函数

提炼 提取音频功能
setExtractorParams. 设置单个要素提取器的非默认参数值
信息 输出映射和单个特征提取器参数
generateMATLABFunction 创建马铃薯函数与C / C ++代码生成兼容

例子

全部崩溃

读取音频信号。

[audioIn,fs]=音频读取(“计数-16-44p1-mono-15秒波形”);

创建一个audiofeatureextractor.提取MFCC,Delta MFCC,Delta-Delta MFCC,俯仰和音频信号的光谱质心的对象。使用30 ms分析窗口,重叠20毫秒。

AFE = audiofeatureextractor(......“采样率”,财政司司长,......“窗户”,汉明(圆形(0.03 * fs),“定期”),......“overlaplength”,圆形(0.02 * fs),......“mfcc”,真的,......“mfccdelta”,真的,......“mfccDeltaDelta”,真的,......“沥青”,真的,......“Spectralcentroid”,真的);

称呼提炼从音频信号中提取音频特征。

特点=提取物(AFE,AUDION);

使用信息确定特征提取矩阵的哪一列对应于所请求的音调提取。

idx=信息(aFE)
Idx =.带字段的结构:mfcc:[1 2 3 4 5 6 7 8 9 10 11 12 13]mfccDelta:[14 15 16 17 18 19 20 21 22 23 24 26]mfccDeltaDelta:[27 28 29 30 31 32 33 34 35 36 37 38 39]光谱色:40音高:41

绘制检测到的音高随着时间的推移。

t=linspace(0,大小(audioIn,1)/fs,大小(features,1));情节(t,特征(:,idx.pitch))标题('沥青')xlabel(‘时间’)伊拉贝尔(‘频率(Hz)’

图包含轴。具有标题间距的轴包含类型线的对象。

创建一个音频数据存储,指向AudioToolbox®包含的音频样本。

folder=fullfile(matlabroot,“工具箱”'声音的''样品');广告= audiodataStore(文件夹);

查找对应于44.1 kHz的采样率的所有文件子集数据存储。

KeepFile = Cellfun(@(x)包含(x,‘44p1’),ads.files);广告=子集(广告,Keepfile);

将数据转换为大堆只有在明确使用时才会评估数组收集。MATLAB®通过最小化通过数据的传递数来自动优化排队的计算。如果您有并行计算工具箱™,则可以在多台计算机上传播计算。音频数据表示为一个m-By-1高级电池阵列,在哪里m是音频数据存储中的文件数。

adstall = tall(广告)
使用“本地”配置文件启动并行池(Parpool)连接到并行池(工人数:6)。Adstall = M×1高级电池阵列{539648×1 double} {227497×1 double} {8000×1 double} {685056×1 double} {882688×2 double} {1115760×2 double} {505200×2双}{3195904×2双} ::::::::::::::::

创建一个audiofeatureextractor.目的从每个音频文件中提取mel谱、巴克谱、ERB谱和线性谱。使用默认分析窗口和重叠长度进行光谱提取。

AFE = audiofeatureextractor('采样率',44.1e3,......'melspectrum',真的,......“巴克光谱”,真的,......'erbspectrum',真的,......'linearspectrum',真的);

定义A.Cellfun.功能使音频特征从高阵列的每个单元中提取。称呼收集评估高阵列。

specsTall=cellfun(@(x)提取(aFE,x),adsTall,“统一输出”,false);等级库=聚集(等级库);
使用并行池“本地”评估高表达: - 第1条:1:12秒评估完成12秒内完成

眼镜从gather返回的变量是numfiles.- 1个单元格阵列,其中numfiles.是数据存储区中的文件数。单元阵列的每个元素是anumHops-经过-numfeatures.-经过-NumChannels.阵列,其中跳数和通道数取决于音频文件的通道的长度和数量,并且功能的数量是来自音频数据的所请求的特征数。

numfiles = numel(specs)
numFiles=12
[numhops1,numfeaturesfile1,numchanelsfile1] =大小(specs {1})
numhops1 = 1053.
numFeaturesFile1=620
numchanelsfile1 = 1
[numHops2,numFeaturesFile2,numChanelsFile2]=大小(规格{2})
numHops2=443
numfeaturesfile2 = 620.
numchanelsfile2 = 1

算法

audiofeatureextractor.根据所选功能创建功能提取管道。减少计算,audiofeatureextractor.重用中介陈述。一些中间表示可以作为特征输出:

例如,为了创建提取Bark谱的质心的对象,树皮谱的通量,音调,谐波比和MFCC的Delta-Delta指定了audiofeatureextractor.作为:

AFE = audiofeatureextractor(......“spectraldescriptorinput”“Barkspectrum”......“Spectralcentroid”,真的,......“spectralflux”,真的,......“沥青”,真的,......“口琴”,真的,......“mfccDeltaDelta”,真的)
AFE = AudioFeatureextractor具有属性:属性窗口:[1024×1双]俯视高分:512 Samplege:44100 FFTLINPUT:[] SpectralDescriptorInput:'Barkspectrum'启用功能MFCCDETTADELTA,Spectralcentroid,Spectralflux,俯仰,Handonicratio Disable Favice Linearspectrum,Melspectrum,Barkspectum,erbspectrum,MFCC,MFCCDelta GTCC,GTCCDelta,GTCCDeltadelta,Spectralcrest,SpectraleAfe,Spectralentropy Spectrallats,Spectarkurtisis,SpectralrolfoftPoint,SpectrangsWness,Spectralswlope,Spectralsprapread,将相应的属性设置为True。例如,obj.mfcc = true,将mfcc添加到启用功能列表中。
此配置对应于突出显示的特征提取管道:

笔记

因为audiofeatureextractor.重用中介表示,功能输出audiofeatureextractor.可能与相应的单个特征提取器输出的特征的默认配置不一致。

兼容性考虑

展开全部

R2020b中的行为发生了变化

扩展能力

在R2019B中介绍