主要内容gydF4y2Ba

mfccgydF4y2Ba

提取MFCC,记录音频信号的能量、delta和delta-deltagydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

多项式系数gydF4y2Ba= mfcc (gydF4y2BaaudioIngydF4y2Ba,gydF4y2BafsgydF4y2Ba)gydF4y2Ba返回音频输入的梅尔频率倒谱系数(MFCCs),采样频率为gydF4y2BafsgydF4y2Ba赫兹。gydF4y2Ba

例子gydF4y2Ba

多项式系数gydF4y2Ba= mfcc (gydF4y2Ba___gydF4y2Ba,gydF4y2Ba名称=值gydF4y2Ba)gydF4y2Ba使用一个或多个名称-值参数指定选项。gydF4y2Ba

例子:gydF4y2Bacoeffs = mfcc(audioIn,fs, logenery ="replace")gydF4y2Ba返回采样的音频输入信号的梅尔频率倒谱系数gydF4y2BafsgydF4y2Ba赫兹。的第一个系数gydF4y2Ba多项式系数gydF4y2Ba向量替换为对数能量值。gydF4y2Ba

例子gydF4y2Ba

[gydF4y2Ba多项式系数gydF4y2Ba,gydF4y2BaδgydF4y2Ba,gydF4y2BadeltaDeltagydF4y2Ba,gydF4y2Ba疯狂的gydF4y2Ba= mfcc(gydF4y2Ba___gydF4y2Ba)gydF4y2Ba还返回与每个数据窗口对应的delta、delta-delta和样本的位置。您可以从前面的任何语法指定一个输入组合。gydF4y2Ba

例子gydF4y2Ba

mfcc (gydF4y2Ba___gydF4y2Ba)gydF4y2Ba在没有输出参数的情况下绘制梅尔频率倒谱系数。在绘图之前,系数被归一化为均值0和标准差1。gydF4y2Ba

  • 如果输入是在时域内,那么这些系数是根据时间绘制的。gydF4y2Ba

  • 如果输入在频域中,则系数根据帧数绘制。gydF4y2Ba

  • 如果提取了对数能量,那么它也被绘制出来。gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

计算语音信号的mel频率倒谱系数gydF4y2BamfccgydF4y2Ba函数。函数返回gydF4y2BaδgydF4y2Ba,系数变化量,和gydF4y2BadeltaDeltagydF4y2Ba的变化量。函数计算的对数能量值可以放在系数向量的前面,也可以替换系数向量的第一个元素。这是基于您是否设置gydF4y2BaLogEnergygydF4y2Ba参数为"gydF4y2Ba添加“gydF4y2Ba或“gydF4y2Ba取代“gydF4y2Ba.gydF4y2Ba

读取音频信号从gydF4y2BaCounting-16-44p1-mono-15secs.wavgydF4y2Ba文件使用gydF4y2BaaudioreadgydF4y2Ba函数。的gydF4y2BamfccgydF4y2Ba函数对整个语音数据进行批量处理。根据输入行数、窗口长度和重叠长度,gydF4y2BamfccgydF4y2Ba将语音划分为1551帧,并计算每帧的倒谱特征。中的每一行gydF4y2Ba多项式系数gydF4y2Ba矩阵对应于对数能量值,后面是语音文件对应帧的13个mel频率倒谱系数。这个函数也可以计算gydF4y2Ba疯狂的gydF4y2Ba,表示每个输入帧中最后一个样本的位置。gydF4y2Ba

[audioIn,fs] = audioread(gydF4y2Ba“Counting-16-44p1-mono-15secs.wav”gydF4y2Ba);[coeffs,delta,deltaDelta,loc] = mfcc(audioIn,fs);gydF4y2Ba

画出归一化系数。gydF4y2Ba

mfcc (audioIn fs)gydF4y2Ba

图中包含一个轴对象。axis对象包含一个image类型的对象。gydF4y2Ba

读入音频文件并将其转换为频率表示。gydF4y2Ba

[audioIn,fs] = audioread(gydF4y2Ba“彩虹- 16 - 8 mono - 114 - secs.wav”gydF4y2Ba);赢= hann(1024,gydF4y2Ba“周期”gydF4y2Ba);S = stft(audioIn,gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Ba, 512,gydF4y2Ba“中心”gydF4y2Ba、假);gydF4y2Ba

要提取梅尔频率倒谱系数,调用gydF4y2BamfccgydF4y2Ba用频域音频。忽略对数能量。gydF4y2Ba

coeffs = mfcc(S,fs,gydF4y2Ba“LogEnergy”gydF4y2Ba,gydF4y2Ba“忽略”gydF4y2Ba);gydF4y2Ba

在许多应用中,MFCC观测数据被转换为汇总统计数据,用于分类任务。绘制一个梅尔频率倒谱系数的概率密度函数,观察其分布。gydF4y2Ba

Nbins = 60;coefficientToAnalyze =gydF4y2Ba4gydF4y2Ba;直方图(多项式系数(:,coefficientToAnalyze + 1), nbins,gydF4y2Ba“归一化”gydF4y2Ba,gydF4y2Ba“pdf”gydF4y2Ba)标题(sprintf (gydF4y2Ba“系数% d”gydF4y2Ba, coefficientToAnalyze))gydF4y2Ba

图中包含一个轴对象。标题为系数4的坐标轴对象包含一个直方图类型的对象。gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

输入信号,指定为矢量、矩阵或3-D数组。gydF4y2Ba

  • 如果gydF4y2BaaudioIngydF4y2Ba是实数,它被解释为时域信号,必须是列向量或矩阵。矩阵的列被视为独立的音频通道。gydF4y2Ba

  • 如果gydF4y2BaaudioIngydF4y2Ba是复数,它被解释为频域信号。在这种情况下,gydF4y2BaaudioIngydF4y2Ba一定是gydF4y2BalgydF4y2Ba——- - - - - -gydF4y2Ba米gydF4y2Ba——- - - - - -gydF4y2BaNgydF4y2Ba数组,gydF4y2BalgydF4y2Ba为DFT点数,gydF4y2Ba米gydF4y2Ba单个光谱的数量,和gydF4y2BaNgydF4y2Ba是单个通道的数量。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba
复数支持:万博1manbetxgydF4y2Ba是的gydF4y2Ba

输入信号的采样率(以Hz为单位),指定为正标量。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

名称-值参数gydF4y2Ba

指定可选参数对为gydF4y2BaName1 = Value1,…,以=家gydF4y2Ba,在那里gydF4y2Ba的名字gydF4y2Ba参数名称和gydF4y2Ba价值gydF4y2Ba对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。gydF4y2Ba

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来gydF4y2Ba的名字gydF4y2Ba在报价。gydF4y2Ba

例子:gydF4y2Ba[coeffs,delta,delta,loc] = mfcc(audioIn,fs,LogEnergy="replace",DeltaWindowLength=5)gydF4y2Ba返回采样的音频输入信号的MEL频率倒谱系数gydF4y2BafsgydF4y2Ba赫兹。的第一个系数gydF4y2Ba多项式系数gydF4y2Ba向量替换为对数能量值。一组5个倒谱系数用于计算delta值和delta-delta值。gydF4y2Ba

窗口应用于时域,指定为实向量。向量中的元素个数必须在[1,gydF4y2Ba大小(gydF4y2BaaudioIngydF4y2Ba,1)gydF4y2Ba].向量中的元素个数也必须大于gydF4y2BaOverlapLengthgydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

相邻窗口之间重叠的样本数,指定为范围为[0,gydF4y2Ba元素个数(gydF4y2Ba窗口gydF4y2Ba)gydF4y2Ba)。如果未指定的,gydF4y2BaOverlapLengthgydF4y2Ba默认为gydF4y2Ba轮(0.02 *gydF4y2BafsgydF4y2Ba)gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

为每个数据窗口返回的系数数,指定为范围[2]内的整数gydF4y2BavgydF4y2Ba),gydF4y2BavgydF4y2Ba有效的通带数。gydF4y2Ba

有效通带的数量定义为gydF4y2Basum(BandEdges <= floor(fs/2))-2gydF4y2Ba.如果一个通带的边在下面,那么它就是有效的gydF4y2Bafs / 2gydF4y2Ba,在那里gydF4y2BafsgydF4y2Ba是输入音频信号的采样率,指定为第二个参数,gydF4y2BafsgydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

滤波器组的带边,以Hz为单位,指定为一个非负单调递增的行向量,范围为[0,gydF4y2BafsgydF4y2Ba/ 2)。带边数必须在[4,160]范围内。的gydF4y2BamfccgydF4y2Ba基于半重叠三角滤波器的功能设计gydF4y2BaBandEdgesgydF4y2Ba.这意味着除第一个和最后一个带边外,所有带边都是所设计的带通滤波器的中心频率。gydF4y2Ba

默认情况下,gydF4y2BaBandEdgesgydF4y2Ba是42个元素向量,这导致40带滤波器组的跨度约为133 Hz到6864 Hz。默认频带的间隔如中所述gydF4y2Ba[2]gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

用于计算加窗输入样本的离散傅里叶变换(DFT)的箱的数量。中的元素个数gydF4y2Ba窗口gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

在离散余弦变换之前应用的非线性整流类型,指定为gydF4y2Ba“日志”gydF4y2Ba或gydF4y2Ba“立方根”gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba字符串gydF4y2Ba

用于计算delta和delta-delta值的系数数,指定为大于2的奇数。如果未指定的,gydF4y2BaDeltaWindowLengthgydF4y2Ba默认为gydF4y2Ba9gydF4y2Ba.gydF4y2Ba

函数计算增量gydF4y2BaaudioDeltagydF4y2Ba函数。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

指定对数能量如何显示在系数矢量输出中,指定为:gydF4y2Ba

  • “添加”gydF4y2Ba——函数将对数能量前置于系数向量。系数向量的长度是1 +gydF4y2BaNumCoeffsgydF4y2Ba.gydF4y2Ba

  • “替换”gydF4y2Ba——该函数用信号的对数能量替换第一个系数。系数向量的长度是gydF4y2BaNumCoeffsgydF4y2Ba.gydF4y2Ba

  • “忽略”gydF4y2Ba—该对象不计算或返回log能量。gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba字符串gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

mel -频率倒谱系数,返回为angydF4y2BalgydF4y2Ba——- - - - - -gydF4y2Ba米gydF4y2Ba矩阵或gydF4y2BalgydF4y2Ba——- - - - - -gydF4y2Ba米gydF4y2Ba——- - - - - -gydF4y2BaNgydF4y2Ba数组,地点:gydF4y2Ba

  • lgydF4y2Ba——音频信号划分到的分析窗口数。输入大小,gydF4y2Ba窗口gydF4y2Ba,gydF4y2BaOverlapLengthgydF4y2Ba控制这个维度:gydF4y2BalgydF4y2Ba地板=((大小(gydF4y2BaaudioIngydF4y2Ba,1)−数(gydF4y2Ba窗口gydF4y2Ba))) / (gydF4y2Ba元素个数(窗口)gydF4y2Ba−gydF4y2BaOverlapLengthgydF4y2Ba) + 1gydF4y2Ba.gydF4y2Ba

  • 米gydF4y2Ba——每帧返回的系数数。该值由gydF4y2BaNumCoeffsgydF4y2Ba而且gydF4y2BaLogEnergygydF4y2Ba.gydF4y2Ba

    当gydF4y2BaLogEnergygydF4y2Ba设置为:gydF4y2Ba

    • “添加”gydF4y2Ba——该函数将对数能量值前置到系数向量。系数向量的长度是1 +gydF4y2BaNumCoeffsgydF4y2Ba.gydF4y2Ba

    • “替换”gydF4y2Ba——该函数用信号的对数能量替换第一个系数。系数向量的长度是gydF4y2BaNumCoeffsgydF4y2Ba.gydF4y2Ba

    • “忽略”gydF4y2Ba—该函数不计算或返回log能量。系数向量的长度是gydF4y2BaNumCoeffsgydF4y2Ba.gydF4y2Ba

  • NgydF4y2Ba——输入通道数(列)。这个值是gydF4y2Ba大小(gydF4y2BaaudioIngydF4y2Ba, 2)gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

从一帧数据到另一帧数据的系数变化,返回为gydF4y2BalgydF4y2Ba——- - - - - -gydF4y2Ba米gydF4y2Ba矩阵或gydF4y2BalgydF4y2Ba——- - - - - -gydF4y2Ba米gydF4y2Ba——- - - - - -gydF4y2BaNgydF4y2Ba数组中。的gydF4y2BaδgydF4y2Ba数组的大小和数据类型与gydF4y2Ba多项式系数gydF4y2Ba数组中。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

的变化gydF4y2BaδgydF4y2Ba值从一帧数据到另一帧数据,返回为gydF4y2BalgydF4y2Ba——- - - - - -gydF4y2Ba米gydF4y2Ba矩阵或gydF4y2BalgydF4y2Ba——- - - - - -gydF4y2Ba米gydF4y2Ba——- - - - - -gydF4y2BaNgydF4y2Ba数组中。的gydF4y2BadeltaDeltagydF4y2Ba数组的大小和数据类型与gydF4y2Ba多项式系数gydF4y2Ba而且gydF4y2BaδgydF4y2Ba数组。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

每个分析窗口中最后一个样本的位置,作为具有相同行数的列向量返回gydF4y2Ba多项式系数gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

算法gydF4y2Ba

全部折叠gydF4y2Ba

MFCCgydF4y2Ba

mel频率倒谱系数是从语音信号中提取的常用特征,用于识别任务。在语音的源滤波器模型中,倒谱系数被理解为代表滤波器(声道)。声道的频率响应相对平稳,而浊音的来源可以建模为脉冲序列。因此,声道可以通过语音段的频谱包络来估计。gydF4y2Ba

梅尔频率倒谱系数的激励思想是基于对耳蜗的理解,将声道的信息(平滑频谱)压缩成少量的系数。虽然没有计算系数的硬性标准,但图中概述了基本步骤。gydF4y2Ba

默认的mel滤波器组对前10个三角形滤波器进行线性间隔,并对其余滤波器进行对数间隔。gydF4y2Ba

日志能源gydF4y2Ba

包含在第0梅尔频率倒谱系数中的信息通常用对数能量增加或替换。对数能量的计算取决于输入域。gydF4y2Ba

如果输入(gydF4y2BaaudioIngydF4y2Ba)为时域信号,对数能量计算公式如下:gydF4y2Ba

日志gydF4y2Ba EgydF4y2Ba =gydF4y2Ba 日志gydF4y2Ba (gydF4y2Ba 总和gydF4y2Ba (gydF4y2Ba xgydF4y2Ba 2gydF4y2Ba )gydF4y2Ba )gydF4y2Ba

如果输入(gydF4y2BaaudioIngydF4y2Ba)为频域信号,对数能量由下式计算:gydF4y2Ba

日志gydF4y2Ba EgydF4y2Ba =gydF4y2Ba 日志gydF4y2Ba (gydF4y2Ba 总和gydF4y2Ba (gydF4y2Ba |gydF4y2Ba xgydF4y2Ba |gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba /gydF4y2Ba FgydF4y2Ba FgydF4y2Ba TgydF4y2Ba lgydF4y2Ba egydF4y2Ba ngydF4y2Ba ggydF4y2Ba tgydF4y2Ba hgydF4y2Ba )gydF4y2Ba

参考文献gydF4y2Ba

Rabiner, Lawrence R.和Ronald W. Schafer。gydF4y2Ba数字语音处理理论与应用“,gydF4y2Ba.上马鞍河,新泽西州:皮尔逊,2010。gydF4y2Ba

扩展功能gydF4y2Ba

C/ c++代码生成gydF4y2Ba
使用MATLAB®Coder™生成C和c++代码。gydF4y2Ba

GPU代码生成gydF4y2Ba
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。gydF4y2Ba

GPU数组gydF4y2Ba
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。gydF4y2Ba

版本历史gydF4y2Ba

在R2018a中引入gydF4y2Ba

全部展开gydF4y2Ba