主要内容gydF4y2Ba

倒谱特征提取器gydF4y2Ba

从音频片段中提取倒谱特征gydF4y2Ba

描述gydF4y2Ba

的gydF4y2Ba倒谱特征提取器gydF4y2Ba系统对象™ 从音频段提取倒谱特征。倒谱特征通常用于描述语音和音乐信号。gydF4y2Ba

要提取倒谱特征,请执行以下操作:gydF4y2Ba

  1. 创建gydF4y2Ba倒谱特征提取器gydF4y2Ba对象并设置其属性。gydF4y2Ba

  2. 使用参数调用对象,就像调用函数一样。gydF4y2Ba

要了解更多关于System对象如何工作的信息,请参见gydF4y2Ba什么是系统对象?gydF4y2Ba

创造gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

倒谱特征=倒谱特征提取器gydF4y2Ba创建一个系统对象,gydF4y2Ba塞普特gydF4y2Ba,它计算每个输入通道独立的倒频谱特征。输入的列被视为单独的通道。gydF4y2Ba

例子gydF4y2Ba

倒谱特征=倒谱特征提取器(gydF4y2Ba名称、值gydF4y2Ba)gydF4y2Ba每个属性集gydF4y2Ba名称gydF4y2Ba到指定的gydF4y2Ba价值gydF4y2Ba. 未指定的属性具有默认值。gydF4y2Ba

例子:gydF4y2BacepFeatures=cepstralFeatureExtractor('InputDomain','Frequency','SampleRate',fs','LogEnergy','Replace')gydF4y2Ba接受频率域中的信号,在gydF4y2BafsgydF4y2Ba赫兹。将系数向量的第一个元素替换为对数能量值。gydF4y2Ba

性质gydF4y2Ba

全部展开gydF4y2Ba

除非另有说明,否则属性为gydF4y2Ba不能gydF4y2Ba,这意味着您在调用对象后无法更改其值。对象在调用时锁定,并且gydF4y2Ba释放gydF4y2Ba函数将解锁它们。gydF4y2Ba

如果一个属性是gydF4y2Ba可调gydF4y2Ba,您可以随时更改它的值。gydF4y2Ba

有关更改特性值的详细信息,请参见gydF4y2Ba在MATLAB中使用系统对象进行系统设计gydF4y2Ba.gydF4y2Ba

滤波器组的类型,指定为其中之一gydF4y2Ba“梅尔”gydF4y2Ba或gydF4y2Ba“甘马通”gydF4y2Ba.当gydF4y2Ba过滤器组gydF4y2Ba设置为gydF4y2Ba梅尔gydF4y2Ba,对象计算mel频率倒谱系数(MFCC)。当gydF4y2Ba过滤器组gydF4y2Ba设置为gydF4y2Ba伽马通gydF4y2Ba,该对象计算伽玛通倒谱系数(GTCC)。gydF4y2Ba

数据类型:gydF4y2Ba烧焦gydF4y2Ba|gydF4y2Ba一串gydF4y2Ba

输入信号的域,指定为gydF4y2Ba“时间”gydF4y2Ba或gydF4y2Ba“频率”gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba烧焦gydF4y2Ba|gydF4y2Ba一串gydF4y2Ba

返回的系数数,指定为范围[2,gydF4y2BavgydF4y2Ba],在哪里gydF4y2BavgydF4y2Ba有效通带数。有效通带数取决于筛选器组的类型:gydF4y2Ba

  • 梅尔gydF4y2Ba–有效通带的数量定义为gydF4y2Ba总数(gydF4y2Ba带边gydF4y2Ba<=地板(gydF4y2Ba取样频率gydF4y2Ba/ 2) 2gydF4y2Ba.gydF4y2Ba

  • 伽马通gydF4y2Ba–有效通带的数量定义为gydF4y2Ba细胞(gydF4y2Bahz2erbgydF4y2Ba(gydF4y2Ba频响gydF4y2Ba(2))-gydF4y2Bahz2erbgydF4y2Ba(gydF4y2Ba频响gydF4y2Ba(1)))gydF4y2Ba.gydF4y2Ba

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

非线性校正类型,指定为gydF4y2Ba“日志”gydF4y2Ba或gydF4y2Ba“立方根”gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba烧焦gydF4y2Ba|gydF4y2Ba一串gydF4y2Ba

FFT长度,指定为正整数。默认情况下,gydF4y2Ba[]gydF4y2Ba,表示FFT长度等于输入信号中的行数。gydF4y2Ba

依赖关系gydF4y2Ba

要启用此属性,请设置gydF4y2Ba输入域gydF4y2Ba到gydF4y2Ba“时间”gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba仅有一个的gydF4y2Ba|gydF4y2Ba双重的gydF4y2Ba|gydF4y2Baint8gydF4y2Ba|gydF4y2Baint16gydF4y2Ba|gydF4y2Baint32gydF4y2Ba|gydF4y2Baint64gydF4y2Ba|gydF4y2Bauint8gydF4y2Ba|gydF4y2Bauint16gydF4y2Ba|gydF4y2Bauint32gydF4y2Ba|gydF4y2Bauint64gydF4y2Ba

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

  • “追加”gydF4y2Ba–对象将对数能量前置到系数向量。系数向量的长度为1+gydF4y2Ba努姆科夫斯gydF4y2Ba.gydF4y2Ba

  • “替换”gydF4y2Ba–对象用信号的对数能量替换第一个系数。系数向量的长度为gydF4y2Ba努姆科夫斯gydF4y2Ba.gydF4y2Ba

  • “忽略”gydF4y2Ba–对象不计算或返回对数能量。gydF4y2Ba

数据类型:gydF4y2Ba烧焦gydF4y2Ba|gydF4y2Ba一串gydF4y2Ba

以Hz为单位的输入采样率,指定为实正标量。gydF4y2Ba

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

高级性能gydF4y2Ba

滤波器组的带边,单位为Hz,指定为[0]范围内的非负单调递增行向量,∞). 最大带边频率可以是任何有限数。带边数必须在[4,80]范围内。gydF4y2Ba

默认标注栏边在前十个标注栏中以线性间隔排列,之后以对数间隔排列。默认标注栏边将按照以下建议进行设置:gydF4y2Ba[1]gydF4y2Ba.gydF4y2Ba

依赖关系gydF4y2Ba

要启用此属性,请设置gydF4y2Ba过滤器组gydF4y2Ba到gydF4y2Ba梅尔gydF4y2Ba.gydF4y2Ba

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

滤波器组的频率范围(以Hz为单位),指定为正的、单调递增的两个元素行向量。最大频率可以是任何有限的数字。滤波器组的中心频率在两个元素行向量之间等距分布gydF4y2Bahz2erbgydF4y2Ba(gydF4y2Ba频响gydF4y2Ba(1))gydF4y2Ba和gydF4y2Bahz2erbgydF4y2Ba(gydF4y2Ba频响gydF4y2Ba(2))gydF4y2Ba在雇员再培训局的范围内。gydF4y2Ba

依赖关系gydF4y2Ba

要启用此属性,请设置gydF4y2Ba过滤器组gydF4y2Ba到gydF4y2Ba伽马通gydF4y2Ba.gydF4y2Ba

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

过滤器组设计的域,指定为gydF4y2Ba“赫兹”gydF4y2Ba或gydF4y2Ba“垃圾桶”gydF4y2Ba.滤波器组被设计成带有指定的带边的重叠三角形gydF4y2Ba带边gydF4y2Ba财产。gydF4y2Ba

的gydF4y2Ba带边gydF4y2Ba属性以Hz为单位指定。将设计域设置为:gydF4y2Ba

  • “赫兹”gydF4y2Ba——滤波器组三角形以Hz绘制,并映射到箱子上。gydF4y2Ba

    下面是一个示例,当gydF4y2Ba滤波器组设计域gydF4y2Ba设置为gydF4y2Ba“赫兹”gydF4y2Ba:gydF4y2Ba

    [audioFile, fs] = audioread(gydF4y2Ba“NoisySpeech-16-22p5-mono-5secs.wav”gydF4y2Ba); 持续时间=整轮(0.02*fs);gydF4y2Ba% 20毫秒音频片段gydF4y2BaaudioSegment=audioFile(5500:5500+duration-1);cepFeatures=cepstralFeatureExtractor(gydF4y2Ba“采样器”gydF4y2Ba,财政司司长)gydF4y2Ba
    cepFeatures = cepstralFeatureExtractor with properties: properties InputDomain: 'Time' NumCoeffs: 13 FFTLength: [] LogEnergy: 'Append' SampleRate: 22500 Advanced properties BandEdges: [1×42 double] FilterBankDesignDomain: 'Hz' FilterBankNormalization: 'Bandwidth'gydF4y2Ba
    将音频片段作为倒谱特征提取算法的输入来锁定目标。gydF4y2Ba
    [coefs,delta,deltaDelta]=cepFeatures(音频段);gydF4y2Ba
    使用gydF4y2Ba获取过滤器gydF4y2Ba函数获取过滤器组。绘制过滤器组。gydF4y2Ba
    [filterbank,freq]=getFilters(特征);绘图(频率(1:150),过滤器组(1:150,:)gydF4y2Ba

    有关详细信息,请参见gydF4y2Ba[1]gydF4y2Ba.gydF4y2Ba

  • “垃圾桶”gydF4y2Ba–中的带边频率gydF4y2Ba“赫兹”gydF4y2Ba被转换为bin。滤波器组三角形对称地画在箱子里。gydF4y2Ba

    改变gydF4y2Ba滤波器组设计域gydF4y2Ba财产gydF4y2Ba“垃圾桶”gydF4y2Ba:gydF4y2Ba

    发布(功能);cepFeatures.FilterBankDesignDomain=gydF4y2Ba“垃圾桶”gydF4y2Ba; [coefs,delta,deltaDelta]=cepFeatures(音频段);[filterbank,freq]=getFilters(特征);绘图(频率(1:150),过滤器组(1:150,:)gydF4y2Ba

    有关详细信息,请参见gydF4y2Ba[2]gydF4y2Ba.gydF4y2Ba

依赖关系gydF4y2Ba

要启用此属性,请设置gydF4y2Ba过滤器组gydF4y2Ba到gydF4y2Ba梅尔gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba烧焦gydF4y2Ba|gydF4y2Ba一串gydF4y2Ba

用于滤波器组权重的标准化技术,具体如下:gydF4y2Ba

  • “带宽”gydF4y2Ba–每个带通滤波器的权重由滤波器的相应带宽标准化。gydF4y2Ba

  • “区域”gydF4y2Ba–每个带通滤波器的权重通过带通滤波器的相应面积进行归一化。gydF4y2Ba

  • “没有”gydF4y2Ba–过滤器的重量未标准化。gydF4y2Ba

数据类型:gydF4y2Ba烧焦gydF4y2Ba|gydF4y2Ba一串gydF4y2Ba

用法gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

[gydF4y2Ba多项式系数gydF4y2Ba,gydF4y2Ba希腊字母表的第4个字母gydF4y2Ba,gydF4y2Ba三角洲gydF4y2Ba]=特征(gydF4y2Ba音频素gydF4y2Ba)gydF4y2Ba返回倒谱系数、对数能量、增量和增量。gydF4y2Ba

log energy值作为系数向量的前缀或替换系数向量的第一个元素,具体取决于您是否设置了gydF4y2BaLogEnergygydF4y2Ba财产gydF4y2Ba“追加”gydF4y2Ba或gydF4y2Ba“替换”gydF4y2Ba. 有关详细信息,请参阅gydF4y2Ba多项式系数gydF4y2Ba.gydF4y2Ba

输入参数gydF4y2Ba

全部展开gydF4y2Ba

输入信号,指定为列向量或矩阵。如果gydF4y2Ba输入域gydF4y2Ba设置为gydF4y2Ba“时间”gydF4y2Ba具体说明gydF4y2Ba音频素gydF4y2Ba作为音频数据的实值帧。如果gydF4y2Ba输入域gydF4y2Ba设置为gydF4y2Ba“频率”gydF4y2Ba具体说明gydF4y2Ba音频素gydF4y2Ba作为实值或复值离散傅里叶变换。如果指定为一个矩阵,列将被视为独立的音频通道。gydF4y2Ba

数据类型:gydF4y2Ba仅有一个的gydF4y2Ba|gydF4y2Ba双重的gydF4y2Ba
复数的支持:万博1manbetxgydF4y2Ba对gydF4y2Ba

输出参数gydF4y2Ba

全部展开gydF4y2Ba

倒谱系数,作为列向量或矩阵返回。如果系数矩阵是gydF4y2BaNgydF4y2Ba-借-gydF4y2Ba米gydF4y2Ba矩阵gydF4y2BaNgydF4y2Ba是由您在gydF4y2Ba努姆科夫斯gydF4y2Ba和gydF4y2BaLogEnergygydF4y2Ba财产。gydF4y2Ba米gydF4y2Ba等于输入音频通道的数量。gydF4y2Ba

当gydF4y2BaLogEnergygydF4y2Ba属性设置为:gydF4y2Ba

  • “追加”gydF4y2Ba——该对象将对数能量值附加到系数向量上。系数向量的长度是1 +gydF4y2Ba努姆科夫斯gydF4y2Ba. 这是的默认设置gydF4y2BaLogEnergygydF4y2Ba财产。gydF4y2Ba

  • “替换”gydF4y2Ba–对象用信号的对数能量替换第一个系数。系数向量的长度为gydF4y2Ba努姆科夫斯gydF4y2Ba.gydF4y2Ba

  • “忽略”gydF4y2Ba–对象不计算或返回对数能量。gydF4y2Ba

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

在对算法的连续调用中系数的变化,作为向量或矩阵返回。这个gydF4y2Ba希腊字母表的第4个字母gydF4y2Ba数组的大小和数据类型与gydF4y2Ba多项式系数gydF4y2Ba数组中。gydF4y2Ba

在这个例子中,gydF4y2Ba塞普特gydF4y2Ba是倒谱特征提取器,它接受以12 kHz采样的音频输入信号。在三次连续调用目标算法时,将三段音频信号串流。返回滤波器组的倒谱系数和相应的gydF4y2Ba希腊字母表的第4个字母gydF4y2Ba价值观gydF4y2Ba

倒谱特征=倒谱特征提取器(gydF4y2Ba“采样器”gydF4y2Ba,12000); [coeff1,delta1]=cepFeatures(audioIn);[coeff2,delta2]=cepFeatures(audioIn);[coeff3,delta3]=特征(音频输入);gydF4y2Ba

三角洲2gydF4y2Ba计算为gydF4y2Bacoeff2-coeff1gydF4y2Ba虽然gydF4y2Ba三角洲3gydF4y2Ba计算为gydF4y2Bacoeff3-coeff2gydF4y2Ba.最初的数组,gydF4y2Ba三角洲1gydF4y2Ba,是一个零数组。gydF4y2Ba

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

变化gydF4y2Ba希腊字母表的第4个字母gydF4y2Ba以向量或矩阵形式返回的算法连续调用上的值gydF4y2Ba三角洲gydF4y2Ba数组的大小和数据类型与gydF4y2Ba多项式系数gydF4y2Ba和gydF4y2Ba希腊字母表的第4个字母gydF4y2Ba数组。gydF4y2Ba

在本例中,对倒谱特征提取算法的连续调用返回gydF4y2Ba三角洲gydF4y2Ba除了系数和gydF4y2Ba希腊字母表的第4个字母gydF4y2Ba价值观gydF4y2Ba

倒谱特征=倒谱特征提取器(gydF4y2Ba“采样器”gydF4y2Ba[coeff1,delta1,deltaDelta1]=cepffeatures(audioIn);[coeff2,delta2,deltaDelta2]=cepffeatures(audioIn);[coeff3,delta3,deltaDelta3]=cepffeatures(audioIn);gydF4y2Ba

三角洲gydF4y2Ba计算为gydF4y2Ba三角洲2-1gydF4y2Ba虽然gydF4y2Ba三角洲gydF4y2Ba计算为gydF4y2Badelta3-delta2gydF4y2Ba.最初的数组,gydF4y2Ba三角洲1gydF4y2Ba,是一个零数组。gydF4y2Ba

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

对象的功能gydF4y2Ba

要使用对象函数,请指定System对象作为第一个输入参数。例如,释放名为system的对象的系统资源gydF4y2BaobjgydF4y2Ba,请使用以下语法:gydF4y2Ba

释放(obj)gydF4y2Ba

全部展开gydF4y2Ba

获取过滤器gydF4y2Ba 获取听觉滤波器组gydF4y2Ba
克隆gydF4y2Ba 创建副本gydF4y2Ba系统对象gydF4y2Ba
孤岛gydF4y2Ba 确定是否gydF4y2Ba系统对象gydF4y2Ba正在使用中gydF4y2Ba
释放gydF4y2Ba 释放资源并允许更改gydF4y2Ba系统对象gydF4y2Ba属性值和输入特征gydF4y2Ba
重置gydF4y2Ba 重置的内部状态gydF4y2Ba系统对象gydF4y2Ba
步gydF4y2Ba 跑gydF4y2Ba系统对象gydF4y2Ba算法gydF4y2Ba

例子gydF4y2Ba

全部崩溃gydF4y2Ba

提取语音文件中各片段的mel频率倒谱系数和对数能量值。返回gydF4y2Ba希腊字母表的第4个字母gydF4y2Ba,当前倒谱系数和先前倒谱系数之间的差值,以及gydF4y2Ba三角洲gydF4y2Ba,当前值与上一个值之间的差值gydF4y2Ba希腊字母表的第4个字母gydF4y2Ba值。对象计算的对数能量值可以前置系数向量或替换系数向量的第一个元素。这取决于是否设置gydF4y2BaLogEnergygydF4y2Ba财产gydF4y2Ba倒谱特征提取器gydF4y2Ba反对gydF4y2Ba“替换”gydF4y2Ba或gydF4y2Ba“追加”gydF4y2Ba.gydF4y2Ba

从中读取音频信号gydF4y2Ba“Counting-16-44p1-mono-15secs.wav”gydF4y2Ba文件。从音频数据中提取一个40毫秒的片段。创建一个gydF4y2Ba倒谱特征提取器gydF4y2Ba对象。默认对象计算的倒谱系数是mel频率系数。此外,该对象计算音频段的对数能量、增量和增量值。gydF4y2Ba

[audioFile, fs] = audioread(gydF4y2Ba“Counting-16-44p1-mono-15secs.wav”gydF4y2Ba); 持续时间=整轮(0.04*fs);gydF4y2Ba% 40毫秒gydF4y2BaaudioSegment=音频文件(40000:40000+duration-1);CepstralFeatures=cepstralFeatureExtractor(gydF4y2Ba“采样器”gydF4y2Ba,财政司司长)gydF4y2Ba
cepFeatures=cepstralFeatureExtractor,其属性为:properties FilterBank:'Mel'InputDomain:'Time'NumCoeffs:13整流:'Log'FFTLength:[]LogEnergy:'Append'SampleRate:44100显示所有属性gydF4y2Ba

的gydF4y2BaLogEnergygydF4y2Ba属性设置为gydF4y2Ba“追加”gydF4y2Ba. 系数向量中的第一个元素是对数能量值,其余元素是由对象计算的13个倒谱系数。倒谱系数的数量由您在gydF4y2Ba努姆科夫斯gydF4y2Ba财产。gydF4y2Ba

[Coefs,delta,deltaDelta]=cepFeatures(音频段)gydF4y2Ba
系数=gydF4y2Ba14×1gydF4y2Ba5.2999 -4.9406 3.6130 0.4397 -0.2280 -1.1068 0.6679 0.6367 -0.3869 0.6127⋮gydF4y2Ba
三角洲=gydF4y2Ba14×1gydF4y2Ba0 0 0 0 0 0 0 0 0 0 ⋮gydF4y2Ba
三角洲=gydF4y2Ba14×1gydF4y2Ba0 0 0 0 0 0 0 0 0 0 ⋮gydF4y2Ba

该函数的初始值gydF4y2Ba希腊字母表的第4个字母gydF4y2Ba和gydF4y2Ba三角洲gydF4y2Ba数组总是为零。考虑文件中的另一个40毫秒音频段,并从该段中提取倒谱特征。gydF4y2Ba

audioSegmentTwo = audioFile (5820:5820 + duration-1);[coeffsTwo, deltaTwo deltaDeltaTwo] = cepFeatures (audioSegmentTwo)gydF4y2Ba
coeffsTwo =gydF4y2Ba14×1gydF4y2Ba-0.1582 -15.9507 2.4295 0.2835 0.4345 0.4382 0.6040 0.4168 0.1846 0.2636 ⋮gydF4y2Ba
德尔塔托=gydF4y2Ba14×1gydF4y2Ba-5.4581 -11.0101 -1.1836 -0.1561 0.6625 1.5449 -0.0639 -0.2199 0.5715 -0.3491⋮gydF4y2Ba
deltaDeltaTwo =gydF4y2Ba14×1gydF4y2Ba-5.4581 -11.0101 -1.1836 -0.1561 0.6625 1.5449 -0.0639 -0.2199 0.5715 -0.3491⋮gydF4y2Ba

验证两者的区别gydF4y2Ba科夫斯特沃gydF4y2Ba和gydF4y2Ba多项式系数gydF4y2Ba向量等于gydF4y2Ba德尔塔托gydF4y2Ba.gydF4y2Ba

isequal (coeffsTwo-coeffs deltaTwo)gydF4y2Ba
ans =gydF4y2Ba逻辑gydF4y2Ba1gydF4y2Ba

验证两者的区别gydF4y2Ba德尔塔托gydF4y2Ba和gydF4y2Ba希腊字母表的第4个字母gydF4y2Ba向量等于gydF4y2Ba三角洲gydF4y2Ba.gydF4y2Ba

isequal(三角洲、三角洲)gydF4y2Ba
ans =gydF4y2Ba逻辑gydF4y2Ba1gydF4y2Ba

许多特征提取技术都是在频域上进行的。仅将音频信号转换到频域一次是有效的。在本例中,将流式音频信号转换为频域,并将该信号输入语音活动检测器。如果存在语音,则使用gydF4y2Ba倒谱特征提取系统对象™gydF4y2Ba.gydF4y2Ba

创建一个gydF4y2Badsp。AudioFileReadergydF4y2Ba要从音频文件中读取的系统对象。gydF4y2Ba

fileReader = dsp。AudioFileReader (gydF4y2Ba“Counting-16-44p1-mono-15secs.wav”gydF4y2Ba); fs=fileReader.SampleRate;gydF4y2Ba

以10毫秒的跳数处理30毫秒帧中的音频。创建默认值gydF4y2Ba异步缓冲器gydF4y2Ba对象来管理音频帧之间的重叠。gydF4y2Ba

samplesPerFrame=ceil(0.03*fs);samplesPerHop=ceil(0.01*fs);samplesPerOverlap=samplesPerFrame-samplesPerHop;fileReader.samplesPerFrame=samplesPerHop;buffer=dsp.AsyncBuffer;gydF4y2Ba

创建一个gydF4y2Ba语音活动检测器gydF4y2Ba系统对象和gydF4y2Ba倒谱特征提取器gydF4y2Ba系统对象。指定它们在频域中运行。创建gydF4y2Ba信号接收器gydF4y2Ba记录提取的倒谱特征。gydF4y2Ba

VAD = voiceActivityDetector (gydF4y2Ba“InputDomain”gydF4y2Ba,gydF4y2Ba“频率”gydF4y2Ba); 倒谱特征=倒谱特征提取器(gydF4y2Ba“InputDomain”gydF4y2Ba,gydF4y2Ba“频率”gydF4y2Ba,gydF4y2Ba“采样器”gydF4y2Ba,财政司司长,gydF4y2Ba“LogEnergy”gydF4y2Ba,gydF4y2Ba“替换”gydF4y2Ba);sink=dsp.signalssink;gydF4y2Ba

在音频流循环中:gydF4y2Ba

  1. 从音频文件中读取一跳的样本并将样本保存到缓冲区中。gydF4y2Ba

  2. 从屏幕上读一帧gydF4y2Ba缓冲器gydF4y2Ba与上一帧具有指定的重叠。gydF4y2Ba

  3. 调用语音活动检测器以获取分析帧的语音概率。gydF4y2Ba

  4. 如果被分析的帧有大于0.75的语音概率,提取倒谱特征并使用信号接收器记录特征。如果被分析帧的语音概率小于0.75,则向sink写入一个nan向量。gydF4y2Ba

阈值=0.75;nanVector=nan(1,13);gydF4y2Ba虽然gydF4y2Ba~isDone(fileReader)audioIn=fileReader();写入(缓冲区、音频输入);overlappedAudio=读取(缓冲区、samplesPerFrame、samplesPerOverlap);X=fft(帕杜约,2048年);说话的概率=VAD(X);gydF4y2Ba如果gydF4y2Ba语音概率>阈值X特征=CEP特征(X);水槽(xFeatures')gydF4y2Ba其他的gydF4y2Ba水槽(nanVector)gydF4y2Ba结束gydF4y2Ba结束gydF4y2Ba

可视化随时间变化的倒谱系数。gydF4y2Ba

时间向量=linspace(0,15,大小(sink.Buffer,1));绘图(时间向量、接收器、缓冲区)xlabel(gydF4y2Ba‘时间’gydF4y2Ba)伊拉贝尔(gydF4y2Ba“MFCC振幅”gydF4y2Ba)传奇(gydF4y2Ba“对数能量”gydF4y2Ba,gydF4y2Ba“c1”gydF4y2Ba,gydF4y2Bac2的gydF4y2Ba,gydF4y2Ba“c3”gydF4y2Ba,gydF4y2Ba“c4”gydF4y2Ba,gydF4y2Ba“c5”gydF4y2Ba,gydF4y2Ba“c6”gydF4y2Ba,gydF4y2Ba“c7”gydF4y2Ba,gydF4y2Ba“c8”gydF4y2Ba,gydF4y2Ba“c9”gydF4y2Ba,gydF4y2Ba“c10”gydF4y2Ba,gydF4y2Ba“c11”gydF4y2Ba,gydF4y2Ba‘c12’gydF4y2Ba)gydF4y2Ba

图中包含一个轴对象。axes对象包含13个line类型的对象。这些对象表示对数能量,c1、c2、c3、c4、c5、c6、c7、c8、c9、c10、c11、c12。gydF4y2Ba

创建一个gydF4y2Badsp。AudioFileReadergydF4y2Ba对象以逐帧读取音频数据。创建gydF4y2BaaudioDeviceWritergydF4y2Ba将音频写入声卡。创建一个gydF4y2Badsp.ArrayPlotgydF4y2Ba随着时间的推移,可视化GTCC。gydF4y2Ba

fileReader = dsp。AudioFileReader (gydF4y2Ba“randomoscthree - 24 - 96立体声- 13 - secs.aif”gydF4y2Ba);deviceWriter=audioDeviceWriter(fileReader.SampleRate);scope=dsp.ArrayPlot;gydF4y2Ba

创建一个gydF4y2Ba倒谱特征提取器gydF4y2Ba提取GTCC。gydF4y2Ba

倒谱特征=倒谱特征提取器(gydF4y2Ba“过滤器银行”gydF4y2Ba,gydF4y2Ba“甘马通”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“采样器”gydF4y2Ba,fileReader.SampleRate);gydF4y2Ba

在音频流循环中:gydF4y2Ba

  1. 读入一帧音频数据。gydF4y2Ba

  2. 从音频帧中提取GTCC。gydF4y2Ba

  3. 可视化GTCC。gydF4y2Ba

  4. 将音频帧写入设备。gydF4y2Ba

虽然gydF4y2Ba~isDone(fileReader) audioIn = fileReader();多项式系数= cepFeatures (audioIn);范围(多项式系数)deviceWriter (audioIn);gydF4y2Ba结束gydF4y2Ba发布(功能)发布(范围)发布(文件阅读器)gydF4y2Ba

算法gydF4y2Ba

全部展开gydF4y2Ba

兼容性考虑gydF4y2Ba

全部展开gydF4y2Ba

不建议在R2020b中起动gydF4y2Ba

扩展能力gydF4y2Ba

介绍了R2018agydF4y2Ba