简化音频特征提取
音频特征提取器
将多个音频功能提取器封装到一个简化的模块化实现中。
使用默认属性值创建音频功能提取器。aFE
=音频特征提取程序()
指定的非默认属性aFE
= audioFeatureExtractor (名称,值
)aFE
使用一个或多个名称-值对参数。
窗
—分析窗口哈明(1024,“周期性”)
(默认)|真正的向量分析窗口,指定为实向量。
数据类型:仅有一个的
|双重的
重叠长度
—相邻分析窗口的重叠长度512
(默认)|范围为[0]的整数,元素个数(窗
)
)相邻分析窗口的重叠长度,指定为[0]范围内的整数,元素个数(窗)
).
数据类型:仅有一个的
|双重的
FFT长度
—FFT长度[]
(默认)|正整数FFT长度,指定为整数。默认的,[]
,表示FFT长度等于窗口长度,(元素个数(窗)
).
数据类型:仅有一个的
|双重的
取样频率
—输入采样率(Hz)44100
(默认)|负的标量输入采样率(Hz),指定为非负标量。
数据类型:仅有一个的
|双重的
光谱描述输入
—光谱描述符的输入“线性光谱”
(默认)|“光谱”
|“巴克谱”
|“erbSpectrum”
光谱描述符的输入,指定为“线性光谱”
,“光谱”
,“巴克谱”
或“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光谱,指定为真正的
或假
.
要设置mel光谱提取的参数,请使用setExtractorParams
:
setExtractorParams(aFE,“光谱”,“名称”,价值)
“频率范围”
——提取的频谱的频率范围,以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”
–设计过滤器组的域,指定为逗号分隔对,由滤波器组设计域
或者“线性”
或“扭曲的”
。如未指明,滤波器组设计域
默认为“线性”
.
数据类型:必然的
erbSpectrum
—ERB谱的提取假
(默认)|真正的
提取单侧ERB光谱,具体如下真正的
或假
.
要设置ERB频谱提取的参数,请使用setExtractorParams
:
setExtractorParams(aFE,“erbSpectrum”,“名称”,价值)
“频率范围”
——提取的频谱的频率范围,以Hz为单位,由逗号分隔的对组成“频率范围”
和一个在[0]范围内递增的两元素向量,取样频率/2] 。如未指明,频响
默认为[0,
.取样频率
/2]
“频谱类型”
–光谱类型,指定为逗号分隔对,由“频谱类型”
和“权力”
或“震级”
。如未指明,谱型
默认为“权力”
.
“麻木人”
–ERB带的数量,指定为逗号分隔对,由“麻木人”
和一个整数。如果未指定,NumBands
默认为细胞(
.hz2erb
(FrequencyRange (2))hz2erb
(频率范围(1)))
“过滤器组规范化”
–标准化应用于带通滤波器,指定为逗号分隔对,由“过滤器组规范化”
和“带宽”
,“区域”
或“没有”
。如未指明,FilterBankNormalization
默认为“带宽”
.
“WindowNormalization”
–应用窗口规范化,指定为逗号分隔对,包括“WindowNormalization”
和真正的
或假
。如未指明,窗口规范化
默认为真正的
.
数据类型:必然的
mfcc
—提取梅尔频率倒频谱系数(MFCC)假
(默认)|真正的
提取mel频率倒谱系数(MFCC),指定为真正的
或假
.
要设置MFCC提取的参数,请使用setExtractorParams
:
setExtractorParams(aFE,“mfcc”,“名称”,价值)
“NumCoeffs”
–为每个窗口返回的系数数,指定为逗号分隔对,由“NumCoeffs”
和正整数。如果未指定,努姆科夫斯
默认为13
.
“DeltaWindowLength”
–Delta窗口长度,指定为逗号分隔对,由“DeltaWindowLength”
和大于2的奇数整数。如果未指定,三角窗长度
默认为9
。此参数影响mfccDelta
和mfccDeltaDelta
特性。
“纠正”
——非线性整流的类型,指定为逗号分隔对,由“纠正”
和“日志”
或“立方根”
.
计算了梅尔频率倒频谱系数熔化光谱.
数据类型:必然的
mfccDelta
—MFCC的delta提取假
(默认)|真正的
提取MFCC的增量,指定为真正的
或假
.
增量MFCC是基于提取的MFCC计算的。参数设置为mfcc
影响mfccDelta
.
数据类型:必然的
mfccDeltaDelta
—提取MFCC的delta-delta假
(默认)|真正的
提取MFCC的增量,指定为真正的
或假
.
增量MFCC是基于提取的MFCC计算的。参数设置为mfcc
影响mfccDeltaDelta
.
数据类型:必然的
gtcc
—提取伽马通倒谱系数(GTCC)假
(默认)|真正的
提取gammatone倒谱系数(GTCC),具体如下真正的
或假
.
设置GTCC提取的参数,请使用setExtractorParams
:
setExtractorParams(aFE,“gtcc”,“名称”,价值)
“NumCoeffs”
–为每个窗口返回的系数数,指定为逗号分隔对,由“NumCoeffs”
和正整数。如果未指定,努姆科夫斯
默认为13
.
“DeltaWindowLength”
–Delta窗口长度,指定为逗号分隔对,由“DeltaWindowLength”
和大于2的奇数整数。如果未指定,三角窗长度
默认为9
。此参数影响gtccDelta
和gtccDeltaDelta
特性。
“纠正”
——非线性整流的类型,指定为逗号分隔对,由“纠正”
和“日志”
或“立方根”
.
gammatone倒谱系数是使用erbSpectrum.
数据类型:必然的
gtccDelta
—提取GTCC的delta假
(默认)|真正的
提取GTCC的delta,指定为真正的
或假
.
根据提取的GTCC计算增量GTCC。设置的参数gtcc
影响gtccDelta
.
数据类型:必然的
gtccDeltaDelta
—提取GTCC的delta假
(默认)|真正的
提取GTCC的增量,指定为真正的
或假
.
增量GTCC根据提取的GTCC计算。参数设置为gtcc
影响gtccDeltaDelta
.
数据类型:必然的
光谱熵
—提取光谱质心假
(默认)|真正的
光谱休息
—提取光谱波峰假
(默认)|真正的
spectralDecrease
—提取光谱衰减假
(默认)|真正的
光谱性
—提取谱熵假
(默认)|真正的
光谱平坦度
—提取光谱平坦度假
(默认)|真正的
spectralFlux
—提取光谱通量假
(默认)|真正的
提取光谱通量,指定为真正的
或假
.
根据以下光谱表示之一计算光谱通量,如光谱描述输入财产:
要设置光谱通量提取的参数,请使用setExtractorParams
:
setExtractorParams(aFE,“光谱通量”,“名称”,价值)
“NormType”
–用于计算光谱通量的范数类型,指定为逗号分隔对,包括“NormType”
和1.
或2.
。如未指明,标准型
默认为2.
.
数据类型:必然的
幽灵性荨麻疹
—提取光谱峰度假
(默认)|真正的
spectralRolloffPoint
—提取光谱衰减点假
(默认)|真正的
提取光谱衰减点,指定为真正的
或假
.
根据以下光谱表示之一计算光谱衰减点,如光谱描述输入财产:
要设置光谱衰减点提取的参数,请使用setExtractorParams
:
setExtractorParams(aFE,“光谱衰减点”,“名称”,价值)
“阈值”
–滚动点的阈值,指定为逗号分隔对,包括“阈值”
和范围(0,1)中的标量。如果未指定,门槛
默认为0.95
.
数据类型:必然的
光谱亮度
—提取光谱偏度假
(默认)|真正的
光谱坡度
—提取光谱斜率假
(默认)|真正的
spectralSpread
—提取频谱扩展假
(默认)|真正的
球场
—提取沥青假
(默认)|真正的
提取节距,指定为真正的
或假
.
要设置基音提取的参数,请使用setExtractorParams
:
setExtractorParams(aFE,“音高”,“名称”,价值)
“方法”
——用于计算音高的方法,指定为由逗号分隔的对组成“方法”
和“产品环境足迹”
,“NCF”
,“CEP”
,“LHS”
或“SRH”
。如未指明,方法
默认为“NCF”
.有关可用的音高提取方法的描述,请参见球场
.
“范围”
–搜索以Hz为单位的基音的范围,指定为逗号分隔的对,包括“范围”
和一个两元素行向量,其值递增。如果没有说明,范围
默认为[50,400]
.
“MedianFilterLength”
——中值滤波器长度,用于随时间平滑的基音估计,指定为逗号分隔对组成“MedianFilterLength”
和正整数。如果未指定,中间过滤器长度
默认为1.
(无中值滤波)。
数据类型:必然的
harmonicRatio
—提取谐波比假
(默认)|真正的
提取谐波比率,指定为真正的
或假
.
数据类型:必然的
摘录 |
提取音频特征 |
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 (的频率(赫兹))
创建指向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添加到已启用特征的列表中。
笔记
因为音频特征提取器
重用中介表示,从音频特征提取器
可能与相应的单个特征提取器输出的特征的默认配置不一致。
使用说明和限制:
您不能直接从音频特征提取器
.通过返回的函数可以生成C/ c++代码generateMATLABFunction
.
与MATLAB公司通信的客户:
在介绍MATLAB公司的情况下,纳维加多尔网站并不赞赏MATLAB公司。
你也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区站点不适合您所在位置的访问。