主要内容

音频特征提取器

简化音频特征提取

描述

音频特征提取器将多个音频功能提取器封装到一个简化的模块化实现中。

创造

描述

aFE=音频特征提取程序()使用默认属性值创建音频功能提取器。

实例

aFE= audioFeatureExtractor (名称,值)指定的非默认属性aFE使用一个或多个名称-值对参数。

性质

全部展开

主要性能

分析窗口,指定为实向量。

数据类型:仅有一个的|双重的

相邻分析窗口的重叠长度,指定为[0]范围内的整数,元素个数()).

数据类型:仅有一个的|双重的

FFT长度,指定为整数。默认的,[],表示FFT长度等于窗口长度,(元素个数()).

数据类型:仅有一个的|双重的

输入采样率(Hz),指定为非负标量。

数据类型:仅有一个的|双重的

光谱描述符的输入,指定为“线性光谱”,“光谱”,“巴克谱”“erbSpectrum”

受此特性影响的谱描述符有:

光谱描述符的光谱输入与相应特征的输出相同:

例如,如果设置“光谱描述输入”“巴克谱”,“光谱阵”真正的然后aFE返回默认树皮光谱的质心。

[audioIn, fs] = audioread (“计数-16-44p1-mono-15秒波形”);aFE=音频特征提取程序(“采样器”fs,...“光谱描述输入”,“巴克谱”,...“光谱阵”,真正的);audioIn barkSpectralCentroid =提取(aFE);
如果指定非默认值巴克谱使用setExtractorParams,则非缺省树皮谱是谱描述符的输入。例如,如果你打电话setExtractorParams (aFE“barkSpectrum”、“NumBands”,40)然后aFE返回40波段树皮光谱的质心。

setExtractorParams(aFE,“巴克谱”,“麻木人”,40)BARK40光谱色阶=提取物(aFE,audioIn);

数据类型:烧焦|一串

此属性是只读的。

从中输出的要素总数摘录对于当前对象配置,指定为正整数。特征向量长度等于摘录函数。

数据类型:仅有一个的|双重的

特征提取

提取单侧线性光谱,指定为真正的

要设置线性光谱提取的参数,请使用setExtractorParams:

setExtractorParams(aFE,“线性光谱”,“名称”,价值)
线性光谱提取的可设置参数为:

  • “频率范围”——提取的频谱的频率范围,以Hz为单位,由逗号分隔的对组成“频率范围”和一个在[0]范围内递增的两元素向量,取样频率/2] 。如未指明,频响默认为[0,取样频率/2]

  • “频谱类型”–光谱类型,指定为逗号分隔对,由“频谱类型”“权力”“震级”。如未指明,谱型默认为“权力”

  • “WindowNormalization”–应用窗口规范化,指定为逗号分隔对,包括“WindowNormalization”真正的。如未指明,窗口规范化默认为真正的

数据类型:必然的

提取单侧mel光谱,指定为真正的

要设置mel光谱提取的参数,请使用setExtractorParams:

setExtractorParams(aFE,“光谱”,“名称”,价值)
mel光谱提取的可设置参数为:

  • “频率范围”——提取的频谱的频率范围,以Hz为单位,由逗号分隔的对组成“频率范围”和一个在[0]范围内递增的两元素向量,取样频率/2] 。如未指明,频响默认为[0,取样频率/2]

  • “频谱类型”–光谱类型,指定为逗号分隔对,由“频谱类型”“权力”“震级”。如未指明,谱型默认为“权力”

  • “麻木人”–mel条带的数量,指定为逗号分隔对,包括“麻木人”和一个整数。如果未指定,NumBands默认为32

  • “过滤器组规范化”–标准化应用于带通滤波器,指定为逗号分隔对,由“过滤器组规范化”“带宽”,“区域”“没有”。如未指明,FilterBankNormalization默认为“带宽”

  • “WindowNormalization”–应用窗口规范化,指定为逗号分隔对,包括“WindowNormalization”真正的。如未指明,窗口规范化默认为真正的

  • “FilterBankDesignDomain”–设计过滤器组的域,指定为逗号分隔对,由滤波器组设计域或者“线性”“扭曲的”。如未指明,滤波器组设计域默认为“线性”

数据类型:必然的

提取单侧树皮光谱,具体如下:真正的

要设置树皮光谱提取的参数,请使用setExtractorParams:

setExtractorParams(aFE,“巴克谱”,“名称”,价值)
树皮光谱提取的可设置参数为:

  • “频率范围”——提取的频谱的频率范围,以Hz为单位,由逗号分隔的对组成“频率范围”和一个在[0]范围内递增的两元素向量,取样频率/2] 。如未指明,频响默认为[0,取样频率/2]

  • “频谱类型”–光谱类型,指定为逗号分隔对,由“频谱类型”“权力”“震级”。如未指明,谱型默认为“权力”

  • “麻木人”–树皮带的数量,指定为逗号分隔对,包括“麻木人”和一个整数。如果未指定,NumBands默认为32

  • “过滤器组规范化”–标准化应用于带通滤波器,指定为逗号分隔对,由“过滤器组规范化”“带宽”,“区域”“没有”。如未指明,FilterBankNormalization默认为“带宽”

  • “WindowNormalization”–应用窗口规范化,指定为逗号分隔对,包括“WindowNormalization”真正的。如未指明,窗口规范化默认为真正的

  • “FilterBankDesignDomain”–设计过滤器组的域,指定为逗号分隔对,由滤波器组设计域或者“线性”“扭曲的”。如未指明,滤波器组设计域默认为“线性”

数据类型:必然的

提取单侧ERB光谱,具体如下真正的

要设置ERB频谱提取的参数,请使用setExtractorParams:

setExtractorParams(aFE,“erbSpectrum”,“名称”,价值)
ERB频谱提取的可设置参数如下:

  • “频率范围”——提取的频谱的频率范围,以Hz为单位,由逗号分隔的对组成“频率范围”和一个在[0]范围内递增的两元素向量,取样频率/2] 。如未指明,频响默认为[0,取样频率/2]

  • “频谱类型”–光谱类型,指定为逗号分隔对,由“频谱类型”“权力”“震级”。如未指明,谱型默认为“权力”

  • “麻木人”–ERB带的数量,指定为逗号分隔对,由“麻木人”和一个整数。如果未指定,NumBands默认为细胞(hz2erb(FrequencyRange (2))hz2erb(频率范围(1)))

  • “过滤器组规范化”–标准化应用于带通滤波器,指定为逗号分隔对,由“过滤器组规范化”“带宽”,“区域”“没有”。如未指明,FilterBankNormalization默认为“带宽”

  • “WindowNormalization”–应用窗口规范化,指定为逗号分隔对,包括“WindowNormalization”真正的。如未指明,窗口规范化默认为真正的

数据类型:必然的

提取mel频率倒谱系数(MFCC),指定为真正的

要设置MFCC提取的参数,请使用setExtractorParams:

setExtractorParams(aFE,“mfcc”,“名称”,价值)
MFCC提取的可设置参数为:

  • “NumCoeffs”–为每个窗口返回的系数数,指定为逗号分隔对,由“NumCoeffs”和正整数。如果未指定,努姆科夫斯默认为13

  • “DeltaWindowLength”–Delta窗口长度,指定为逗号分隔对,由“DeltaWindowLength”和大于2的奇数整数。如果未指定,三角窗长度默认为9。此参数影响mfccDeltamfccDeltaDelta特性。

  • “纠正”——非线性整流的类型,指定为逗号分隔对,由“纠正”“日志”“立方根”

计算了梅尔频率倒频谱系数熔化光谱

数据类型:必然的

提取MFCC的增量,指定为真正的

增量MFCC是基于提取的MFCC计算的。参数设置为mfcc影响mfccDelta

数据类型:必然的

提取MFCC的增量,指定为真正的

增量MFCC是基于提取的MFCC计算的。参数设置为mfcc影响mfccDeltaDelta

数据类型:必然的

提取gammatone倒谱系数(GTCC),具体如下真正的

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

setExtractorParams(aFE,“gtcc”,“名称”,价值)
GTCC提取的可设置参数为:

  • “NumCoeffs”–为每个窗口返回的系数数,指定为逗号分隔对,由“NumCoeffs”和正整数。如果未指定,努姆科夫斯默认为13

  • “DeltaWindowLength”–Delta窗口长度,指定为逗号分隔对,由“DeltaWindowLength”和大于2的奇数整数。如果未指定,三角窗长度默认为9。此参数影响gtccDeltagtccDeltaDelta特性。

  • “纠正”——非线性整流的类型,指定为逗号分隔对,由“纠正”“日志”“立方根”

gammatone倒谱系数是使用erbSpectrum

数据类型:必然的

提取GTCC的delta,指定为真正的

根据提取的GTCC计算增量GTCC。设置的参数gtcc影响gtccDelta

数据类型:必然的

提取GTCC的增量,指定为真正的

增量GTCC根据提取的GTCC计算。参数设置为gtcc影响gtccDeltaDelta

数据类型:必然的

提取光谱质心,指定为真正的

方法指定的下列光谱表示之一计算谱心光谱描述输入财产:

数据类型:必然的

提取光谱波峰,指定为真正的

根据以下光谱表示之一计算光谱波峰,如光谱描述输入财产:

数据类型:必然的

提取光谱衰减,指定为真正的

根据以下光谱表示之一计算光谱减少,如光谱描述输入财产:

数据类型:必然的

提取光谱熵,记为真正的

根据下列光谱表示之一计算光谱熵:光谱描述输入财产:

数据类型:必然的

提取光谱平坦度,指定为真正的

谱平坦度是根据下列的谱表示之一计算的,如光谱描述输入财产:

数据类型:必然的

提取光谱通量,指定为真正的

根据以下光谱表示之一计算光谱通量,如光谱描述输入财产:

要设置光谱通量提取的参数,请使用setExtractorParams:

setExtractorParams(aFE,“光谱通量”,“名称”,价值)
光谱通量提取的可设置参数为:

  • “NormType”–用于计算光谱通量的范数类型,指定为逗号分隔对,包括“NormType”1.2.。如未指明,标准型默认为2.

数据类型:必然的

提取光谱峰度,指定为真正的

根据以下光谱表示之一计算光谱峰度,如光谱描述输入财产:

数据类型:必然的

提取光谱衰减点,指定为真正的

根据以下光谱表示之一计算光谱衰减点,如光谱描述输入财产:

要设置光谱衰减点提取的参数,请使用setExtractorParams:

setExtractorParams(aFE,“光谱衰减点”,“名称”,价值)
光谱通量提取的可设置参数为:

  • “阈值”–滚动点的阈值,指定为逗号分隔对,包括“阈值”和范围(0,1)中的标量。如果未指定,门槛默认为0.95

数据类型:必然的

提取光谱偏度,指定为真正的

根据下列光谱表示之一计算光谱偏度,如光谱描述输入财产:

数据类型:必然的

提取光谱斜率,指定为真正的

根据下列光谱表示之一计算光谱斜率,如光谱描述输入财产:

数据类型:必然的

提取光谱扩展,指定为真正的

根据以下光谱表示之一计算光谱扩展,如光谱描述输入财产:

数据类型:必然的

提取节距,指定为真正的

要设置基音提取的参数,请使用setExtractorParams:

setExtractorParams(aFE,“音高”,“名称”,价值)
俯仰提取的可设置参数为:

  • “方法”——用于计算音高的方法,指定为由逗号分隔的对组成“方法”“产品环境足迹”,“NCF”,“CEP”,“LHS”“SRH”。如未指明,方法默认为“NCF”.有关可用的音高提取方法的描述,请参见球场

  • “范围”–搜索以Hz为单位的基音的范围,指定为逗号分隔的对,包括“范围”和一个两元素行向量,其值递增。如果没有说明,范围默认为[50,400]

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

数据类型:必然的

提取谐波比率,指定为真正的

数据类型:必然的

对象的功能

摘录 提取音频特征
setExtractorParams 为单个要素提取器设置非默认参数值
信息 输出映射和单个特征提取器参数
generateMATLABFunction 创造MATLAB与C/C++代码生成兼容的函数

例子

全部折叠

读入音频信号。

[audioIn, fs] = audioread (“Counting-16-44p1-mono-15secs.wav”);

创建一个音频特征提取器对象,该对象提取音频信号的MFCC、增量MFCC、增量MFCC、基音和频谱质心。使用重叠20毫秒的30毫秒分析窗口。

aFE=音频特征提取程序(...“采样器”fs,...“窗口”,汉明(圆形(0.03*fs),“定期”),...“重叠长度”,圆形(0.02*fs),...“mfcc”符合事实的...“mfccDelta”符合事实的...“mfccDeltaDelta”符合事实的...“音高”符合事实的...“光谱阵”,真正的);

呼叫摘录从音频信号中提取音频特征。

特征=提取(aFE、audioIn);

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

idx = info (aFE)
idx=结构体字段:mfcc: [1 23 4 5 6 7 8 9 10 11 12 13] mfccDelta: [14 15 16 17 18 19 20 21 22 23 24 25 26] mfccDeltaDelta: [27 28 29 30 31 32 33 34 35 36 37 38 39] spectralCentroid: 40 pitch: 41

绘制检测到的俯仰随时间的变化。

t = linspace(0,大小(audioIn 1) / fs,大小(功能,1));情节(t)特性(:,idx.pitch))标题(“投球”)xlabel(“时间(s)”) ylabel (的频率(赫兹))

图中包含一个轴对象。标题间距为的轴对象包含一个line类型的对象。

创建指向audio Toolbox®附带的音频样本的音频数据存储。

文件夹= fullfile (matlabroot,“工具箱”,“音频”,“样本”);ads=音频数据存储(文件夹);

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

keepFile=cellfun(@(x)包含(x,“44 p1”),ads.Files);ads=子集(ads,keepFile);

将数据转换为高的数组中。高的仅当使用显式请求数组时,才会对其求值聚集. MATLAB®通过最小化通过数据的次数自动优化排队计算。如果你有并行计算工具箱™, 您可以将计算分散到多台计算机上。音频数据表示为M-by-1高单元阵列,其中M是音频数据存储中的文件数。

adsTall=高(ads)
正在使用“本地”配置文件启动并行池(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 double}{3195904×2 double}::

创建一个音频特征提取器对象提取mel频谱,树皮频谱,ERB频谱,和线性频谱从每个音频文件。使用默认的分析窗口和重叠长度进行频谱提取。

aFE=音频特征提取程序(“采样器”,44.1e3,...“梅尔斯波谱”符合事实的...“barkSpectrum”符合事实的...“erbSpectrum”符合事实的...“线性光谱”,真正的);

定义一个赛尔芬函数,以便从阵列的每个单元提取音频特征。呼叫聚集以评估高阵列。

specsTall = cellfun (@ (x)提取(aFE x), adsTall,“统一输出”、假);规格=收集(specsTall);
使用并行池“local”计算tall表达式:-通过1/1:在12秒内完成计算在12秒内完成

这个规格从gather返回的变量是numFiles-by-1单元阵列,其中numFiles是数据存储中的文件数。单元格数组的每个元素都是numHops-借-NUM特征-借-数字通道数组,其中跳数和通道数取决于音频文件的长度和通道数,特征数是从音频数据请求的特征数。

numFiles=numel(规格)
numFiles = 12
[numHops1,numFeaturesFile1,numChanelsFile1]=大小(规格{1})
numHops1=1053
numFeaturesFile1 = 620
numChanelsFile1=1
[numHops2, numFeaturesFile2 numChanelsFile2] =大小(规格{2})
numHops2 = 443
numFeaturesFile2=620
numChanelsFile2=1

算法

这个音频特征提取器基于选定的要素创建要素提取管道。为了减少计算量,音频特征提取器重用中间表示。某些中间表示可以作为功能输出:

例如,要创建提取树皮光谱的质心、树皮光谱的流量、节距、谐波比率和MFCC的增量的对象,请指定音频特征提取器作为:

aFE=音频特征提取程序(...“光谱描述输入”,“巴克谱”,...“光谱阵”符合事实的...“光谱通量”符合事实的...“音高”符合事实的...“harmonicRatio”符合事实的...“mfccDeltaDelta”,对)
aFE=具有属性的audioFeatureExtractor:properties窗口:[1024×1双]重叠长度:512采样器:44100 FFT长度:[]光谱描述输入:“巴克斯谱”启用功能包括mfccDeltaDelta、光谱矩阵、光谱通量、音高、和声禁用功能包括线性光谱、melSpectrum、巴克斯谱、erbSpectrum、mfcc、mfccDelta gtcc、gtccDelta、gtccDeltaDelta、光谱REST、光谱衰减、光谱平面度、光谱荨麻疹、光谱滚动fPoint、spectralSkewness、spectralSlope、spectralSpread要提取特征,请将相应的属性设置为true。例如,obj.mfcc=true,将mfcc添加到已启用特征的列表中。
此配置对应于高亮显示的特征提取管道:

笔记

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

兼容性的考虑

全部展开

行为在R2020b中改变

扩展能力

在R2019b中引入