主要内容

信息

输出映射和单独的特征提取器参数

描述

例子

idx=信息(aFE返回具有与启用的特征提取器相对应的字段名称的结构。字段值对应于提取的特征在输出中所占的列索引提取

例子

idx=信息(aFE“所有的”)返回一个具有与所有可用的特征提取器相对应的字段名称的结构。如果特征提取器被禁用,该字段值为空。

例子

idx参数个数= info(___返回第二个结构体,参数个数.的字段名参数个数与具有可设置参数的特征提取器对应。如果“所有”指定了Flag,参数个数包含所有具有可设置参数的特征提取器。如果“所有”Flag未指定,参数个数仅包含启用的具有可设置参数的特征提取器。可以使用setExtractorParameters

例子

全部折叠

从拼接的白色和粉色噪声中提取mel谱、mel谱质心和mel谱偏度。

Fs = 48e3;aFE = audioFeatureExtractor(“SampleRate”fs,...“melSpectrum”,真的,...“SpectralDescriptorInput”“melSpectrum”...“spectralCentroid”,真的,...“spectralSkewness”,真正的);features = extract(aFE,[2*rand(fs,1)-1;pinknoise(fs,1)]);

使用信息来确定输出的哪些列对应于哪个特征。分别绘制特征图。

idx = info(aFE);冲浪(log10(特性(:,idx.melSpectrum)),“EdgeColor”“没有”);视图((90、-90))轴标题(“梅尔谱”) ylabel (“分析框号”

图中包含一个轴对象。标题为Mel Spectrum的axis对象包含一个类型为surface的对象。

情节(特性(:,idx.spectralCentroid))轴标题(“梅尔光谱质心”)包含(“分析框号”

图中包含一个轴对象。标题为Mel Spectral Centroid的axis对象包含一个类型为line的对象。

情节(特性(:,idx.spectralSkewness))轴标题(“梅尔光谱偏度”)包含(“分析框号”

图中包含一个轴对象。标题为Mel Spectral Skewness的axis对象包含一个类型为line的对象。

创建默认值audioFeatureExtractor对象。默认情况下,所有特征提取器都是禁用的。

aFE = audioFeatureExtractor
aFE = audioFeatureExtractor with properties: properties Window: [1024x1 double] OverlapLength: 512 SampleRate: 44100 FFTLength: [] SpectralDescriptorInput: 'linearSpectrum' FeatureVectorLength:0启用特性无禁用特性linearSpectrum, melSpectrum, barkSpectrum, erbSpectrum, mfcc, mfccDelta mfccDeltaDelta, gtcc, gtccDelta, gtccDeltaDelta, spectralCentroid, spectralCrest spectralreduce, spectralEntropy, spectralFlatness, spectralFlux, spectralKurtosis, spectralRolloffPoint spectralSkewness, spectralSlope, spectralSpread, pitch, harmonicRatio, zerocrossrate shortTimeEnergy提取一个特征,将相应的属性设置为true。例如,obj。MFCC = true,将MFCC添加到启用的特性列表中。

信息函数返回有关已启用的特征提取器的信息。要查看有关所有特征提取器的信息,请调用信息使用“所有”国旗。

[idx,params] = info(aFE,“所有”
idx =带字段的结构:linearSpectrum: [1x0 double] melSpectrum: [1x0 double] barkSpectrum: [1x0 double] erbSpectrum: [1x0 double] mfcc: [1x0 double] mfccDelta: [1x0 double] gtcc: [1x0 double] gtccDelta: [1x0 double] spectralCentroid: [1x0 double] spectralCrest: [1x0 double] spectralreduce: [1x0 double] spectralEntropy: [1x0 double] spectralFlatness: [1x0 double] spectralFlux: [1x0 double] spectralKurtosis: [1x0 double] spectralRolloffPoint: [1x0 double][1x0 double] spectralSkewness: [1x0 double] spectralSlope: [1x0 double] spectralSpread: [1x0 double] pitch: [1x0 double] harmonicRatio: [1x0 double] zerocrossrate: [1x0 double] shortTimeEnergy: [1x0 double]
params =带字段的结构:linearSpectrum: [1x1 struct] melSpectrum: [1x1 struct] barkSpectrum: [1x1 struct] erbSpectrum: [1x1 struct] mfcc: [1x1 struct] gtcc: [1x1 struct] spectralFlux: [1x1 struct] spectralRolloffPoint: [1x1 struct] pitch: [1x1 struct] zerocrossrate: [1x1 struct]

使用idx结构上启用所有特征提取器audioFeatureExtractor对象。

Features = fieldnames(idx);1: aFE.(features{i}) = true;结束aFE
aFE = audioFeatureExtractor with properties: properties Window: [1024x1 double] OverlapLength: 512 SampleRate: 44100 FFTLength: [] SpectralDescriptorInput: 'linearSpectrum' FeatureVectorLength:713 Enabled Features linearSpectrum, melSpectrum, barkSpectrum, erbSpectrum, mfcc, mfccDelta mfccDeltaDelta, gtcc, gtccDelta, gtccDeltaDelta, spectralCentroid, spectralCrest spectralreduce, spectralEntropy, spectralFlatness, spectralFlux, spectralKurtosis, spectralRolloffPoint spectralSkewness, spectralSlope, spectralSpread, pitch, harmonicRatio, zerocrossrate shortTimeEnergy禁用特征无要提取一个特征,将相应的属性设置为true。例如,obj。MFCC = true,将MFCC添加到启用的特性列表中。

创建一个audioFeatureExtractor来提取ERB光谱。

aFE = audioFeatureExtractor(erbSpectrum=true)
aFE = audioFeatureExtractor with properties: properties Window: [1024x1 double] OverlapLength: 512 SampleRate: 44100 FFTLength: [] SpectralDescriptorInput: 'linearSpectrum' FeatureVectorLength:43 Enabled Features erbocrossrate Disabled Features linearSpectrum, melSpectrum, barkSpectrum, mfcc, mfccDelta, mfccDeltaDelta gtcc, gtccDelta, gtccDeltaDelta, spectralCentroid, spectralCrest, spectralreduce spectralEntropy, spectralFlatness, spectralFlux, spectralKurtosis, spectralRolloffPoint, spectralSkewness spectralSlope, spectralSpread, pitch, harmonicRatio, zerocrossrate, shortTimeEnergy提取一个特征,将相应的属性设置为true。例如,obj。MFCC = true,将MFCC添加到启用的特性列表中。

的第二个输出参数信息是一个结构体包含各个特征提取器的可设置参数及其当前值。

[~,params] = info(aFE)
params =带字段的结构:erbSpectrum: [1x1 struct]
params.erbSpectrum
ans =带字段的结构:NumBands: 43 FrequencyRange: [0 22050] FilterBankNormalization: "bandwidth" WindowNormalization: 1 SpectrumType: "power"

如果使用默认参数值,则参数是动态的,并在更新它们所依赖的属性时更新参数。例如,ERB滤波器组的默认频率范围和ERB滤波器组的默认带通滤波器数量取决于采样率。降低采样率audioFeatureExtractor对象,然后调用信息一次。

aFE。SampleRate = 16e3;[~,params] = info(aFE);params.erbSpectrum
ans =带字段的结构:NumBands: 34 FrequencyRange: [0 8000] FilterBankNormalization: "bandwidth" WindowNormalization: 1 SpectrumType: "power"

您可以使用以下命令修改各个特征提取器参数setExtractorParameters.设置条带数为40频谱类型“级”.调用信息以确认参数已更新。

params.erbSpectrum.NumBands = 40;params.erbSpectrum.SpectrumType =“级”;setExtractorParameters(aFE,erbSpectrum=params.erbSpectrum) [~,params] = info(aFE);params.erbSpectrum
ans =带字段的结构:NumBands: 40 FrequencyRange: [0 8000] FilterBankNormalization: "bandwidth" WindowNormalization: 1 SpectrumType: "magnitude"

当您设置单个特征提取器参数时,它们将保持在设定值,直到您将它们设置为另一个值或将它们返回为默认值。的采样率audioFeatureExtractor对象的初始值,然后调用信息.参数保持其设定值。

aFE。SampleRate = 44.1e3;[~,params] = info(aFE);params.erbSpectrum
ans =带字段的结构:NumBands: 40 FrequencyRange: [0 8000] FilterBankNormalization: "bandwidth" WindowNormalization: 1 SpectrumType: "magnitude"

要将参数返回为默认值,请调用setExtractorParameters并且不指定参数。

setExtractorParameters (aFE“erbSpectrum”) [~,params] = info(aFE);params.erbSpectrum
ans =带字段的结构:NumBands: 43 FrequencyRange: [0 22050] FilterBankNormalization: "bandwidth" WindowNormalization: 1 SpectrumType: "power"

输入参数

全部折叠

输出参数

全部折叠

请求的特性与输出的映射提取,作为结构返回,其中字段名对应于各个特征提取器,字段值对应于列索引。

单个特征提取器的可设置参数,以结构形式返回,其中字段名对应于单个特征提取器,字段值包含参数规范结构。参数规范结构具有对应于可设置参数名称的字段名和对应于当前参数设置的字段值。

版本历史

R2019b引入

另请参阅