流线型音频特征提取
audiofeatureextractor.
将多个音频特征提取器封装成简化和模块化实现。
使用默认属性值创建一个音频功能提取器。aFE
= audiofeatureextractor()
指定非默认属性aFE
=音频特征提取程序(名称、值
)aFE
使用一个或多个名称-值对参数。
窗户
-分析窗口汉明(1024,“定期”)
(默认)|实向量分析窗口,指定为真正的矢量。
数据类型:单身的
|双倍的
overtaplenth
-邻近分析窗口的重叠长度512
(默认)|范围内的整数[0,努梅尔(窗户
)
)相邻分析窗口的重叠长度,指定为范围内的整数[0,努梅尔(窗户)
).
数据类型:单身的
|双倍的
FFTLENG
-FFT长度[]
(默认)|正整数FFT长度,指定为整数。默认值为,[]
,表示FFT长度等于窗口长度(努梅尔(窗户)
).
数据类型:单身的
|双倍的
采样率
-输入采样率(Hz)44100
(默认)|非负标量以Hz为单位的输入采样率,指定为非负标量。
数据类型:单身的
|双倍的
SpectralDescriptorInput.
-输入到频谱描述符“线性光谱”
(默认)|“melspectrum”
|“Barkspectrum”
|“erbspectrum”
输入到光谱描述符,指定为“线性光谱”
那“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.
默认为“力量”
。
“窗口规范化”
- 应用窗口标准化,指定为逗号分隔对组成“窗口规范化”
和符合事实的
或者错误的
。如果未指定,风向正规化
默认为符合事实的
。
数据类型:逻辑
MELSPECTRUM
-提取MEL光谱错误的
(默认)|符合事实的
提取单面熔点,指定为符合事实的
或者错误的
。
设定MEL频谱提取的参数,使用setExtractorParams.
:
setExtractorParams(AFE,“melspectrum”那“姓名”,价值)
“频率范围”
–以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频谱,指定为符合事实的
或者错误的
。
设置ERB频谱提取的参数,使用setExtractorParams.
:
setExtractorParams(AFE,“erbspectrum”那“姓名”,价值)
“频率范围”
–以Hz为单位的提取频谱的频率范围,指定为逗号分隔对,包括“频率范围”
和一个增加数量的两个元素矢量[0,采样率/ 2]。如果未指定,频率范围
默认为[0,
。采样率
/ 2]
“spectrumtype”
- 频谱类型,指定为逗号分隔对“spectrumtype”
和“力量”
或者“震级”
。如果未指定,Spectrumtype.
默认为“力量”
。
“numbands”
- 被指定为逗号分隔对的ERB频段的数量“numbands”
和一个整数。如果未指定,numbands.
默认为CEIL(
。Hz2erb.
(频率范围(2))-Hz2erb.
(ForderRange(1))))
“筛选贩语”
- 标准化应用于带通滤波器,指定为逗号分隔的对组成“筛选贩语”
和“带宽”
那“区域”
, 或者“没有”
。如果未指定,滤波器组归一化
默认为“带宽”
。
“窗口规范化”
- 应用窗口标准化,指定为逗号分隔对组成“窗口规范化”
和符合事实的
或者错误的
。如果未指定,风向正规化
默认为符合事实的
。
数据类型:逻辑
MFCC.
-提取mel频率倒谱系数(MFCC)错误的
(默认)|符合事实的
提取熔融频率谱系数(MFCC),指定为符合事实的
或者错误的
。
设置MFCC提取的参数,使用setExtractorParams.
:
setExtractorParams(AFE,“mfcc”那“姓名”,价值)
“Numcoefs”
- 为每个窗口返回的系数数,指定为包含的逗号分隔对“Numcoefs”
和一个正整数。如果未指定,numcoeffs.
默认为13.
。
“deltawindowlength”
- Delta窗口长度,指定为逗号分隔对组成“deltawindowlength”
奇数大于2.如果未指定,deltawindowlength.
默认为9.
。此参数会影响mfccDelta
和mfccdeltadelta
特征。
“整改”
–非线性校正类型,指定为逗号分隔对,包括“整改”
和“日志”
或者“立方根”
。
mel频率倒谱系数使用MELSPECTRUM。
数据类型:逻辑
mfccDelta
-提取MFCC的Delta错误的
(默认)|符合事实的
提取MFCC的Delta,指定为符合事实的
或者错误的
。
ΔMFCC基于提取的MFCC计算。参数设置MFCC.
影响mfccDelta
。
数据类型:逻辑
mfccdeltadelta
-提取MFCC的delta错误的
(默认)|符合事实的
提取MFCC的Delta-Delta,指定为符合事实的
或者错误的
。
基于提取的MFCC计算Delta-Delta MFCC。参数设置MFCC.
影响mfccdeltadelta
。
数据类型:逻辑
GTCC.
-提取γ氨糖系数(GTCC)错误的
(默认)|符合事实的
提取γ氨糖糖系数(GTCC),指定为符合事实的
或者错误的
。
要设置GTCC提取的参数,请使用setExtractorParams.
:
setExtractorParams(AFE,“GTCC”那“姓名”,价值)
“Numcoefs”
- 为每个窗口返回的系数数,指定为包含的逗号分隔对“Numcoefs”
和一个正整数。如果未指定,numcoeffs.
默认为13.
。
“deltawindowlength”
- Delta窗口长度,指定为逗号分隔对组成“deltawindowlength”
奇数大于2.如果未指定,deltawindowlength.
默认为9.
。此参数会影响GTCCDelta
和gtccDeltaDelta
特征。
“整改”
–非线性校正类型,指定为逗号分隔对,包括“整改”
和“日志”
或者“立方根”
。
使用该计算γ抗糖糖系数铒波谱。
数据类型:逻辑
GTCCDelta
-提取GTCC的Delta错误的
(默认)|符合事实的
提取GTCC的增量,指定为符合事实的
或者错误的
。
基于提取的GTCC计算Delta GTCC。参数设置GTCC.
影响GTCCDelta
。
数据类型:逻辑
gtccDeltaDelta
-提取GTCC的Delta-Delta错误的
(默认)|符合事实的
提取GTCC的Delta-Delta,指定为符合事实的
或者错误的
。
基于提取的GTCC计算Delta-Delta GTCC。参数设置GTCC.
影响gtccDeltaDelta
。
数据类型:逻辑
Spectralcentroid.
-提取光谱质心错误的
(默认)|符合事实的
光谱
-提取波峰错误的
(默认)|符合事实的
光谱减退
-提取光谱减少错误的
(默认)|符合事实的
光谱产物
-提取光谱熵错误的
(默认)|符合事实的
光谱污点
-提取光谱平整度错误的
(默认)|符合事实的
光谱通量
-提取光谱通量错误的
(默认)|符合事实的
提取光谱通量,指定为符合事实的
或者错误的
。
光谱通量由以下光谱表示之一计算,如下所示SpectralDescriptorInput.财产:
设置光谱通量提取的参数,使用setExtractorParams.
:
setExtractorParams(AFE,“spectralflux”那“姓名”,价值)
“标准类型”
- 用于计算光谱通量的规范类型,指定为逗号分隔的对“标准类型”
和1
或者2
。如果未指定,丹型
默认为2
。
数据类型:逻辑
分谱塑化
-提取光谱峰氏症错误的
(默认)|符合事实的
光谱衰减点
-提取光谱折升点错误的
(默认)|符合事实的
提取光谱卷口点,指定为符合事实的
或者错误的
。
频谱升降点由以下光谱表示之一计算,如下所示SpectralDescriptorInput.财产:
设置频谱卷口点提取的参数,使用setExtractorParams.
:
setExtractorParams(AFE,“spectralrolloffpoint”那“姓名”,价值)
“临界点”
- 升降点的阈值,指定为逗号分隔的配对“临界点”
和范围(0,1)中的标量。如果未指定,临界点
默认为0.95
。
数据类型:逻辑
Spectralswess.
-提取光谱偏斜错误的
(默认)|符合事实的
光谱仪
-提取光谱斜率错误的
(默认)|符合事实的
光谱分布
-提取光谱涂抹错误的
(默认)|符合事实的
抛
-提取音高错误的
(默认)|符合事实的
提取间距,指定为符合事实的
或者错误的
。
设置音调提取的参数,使用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中的行为发生了变化
这audiodetta.
功能现在用于计算mfccDelta
那mfccdeltadelta
那GTCCDelta
和gtccDeltaDelta
。这audiodetta.
算法的启动行为与前一个算法不同。用于计算增量的默认窗口长度已从更改为2
到9.
.三角窗长度为2
不再支持。金宝app
使用说明和限制:
不能直接从生成代码audiofeatureextractor.
。您可以从返回的函数生成C/C++代码generateMATLABFunction
。
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。