MFCC 特征提取

article/2025/10/20 22:22:27

HTK以及My_htk数据链接: https://pan.baidu.com/s/1Ajo7d-odrRiAwmCB_CQTzQ 提取码:hqnv

一:文件准备
  1. HTK 和 HTK–samples
    下载 HTK 和 HTK–samples 两个压缩文件,保存至 F 盘根目录下。 下载地址:http://htk.eng.cam.ac.uk/download.shtml(注:HTK 官方 网站需要先注册,才能下载)
  2. Visual Studio
    安装 Visual Studio 软件, 我安装的是 VS2013
二: HTK 编译

1.创建 bin.win32 和运行 VS2013

进入到解压后的 HTK-3.4.1 文件夹下的 htk 文件夹中,在本目录下创 建一个名为 bin.win32 的文件夹,这个文件夹是用来存放 htk 生成的各个 exe 程序的。找到自己 VS 安装目录下 VC 的子目录下的 bin 文件夹,将该路径添加到 path 变量中。
在cmd中输入 :path=%path%;F:\VS2013\VC\BIN即可 ( 注意不要加入不必要的空格 ) , 添加完成后继续输入 path, 看看有没有添加成功 ( 末尾是否有刚添加的路径 ) , 如果添加成功 , 输入VCVARS32

在这里插入图片描述
2.进行编译

  1. 编译 HTKLib
    进入到HTKLib目录 :cd HTKLib, 在命令行里输入nmake/f htk_htklib_nt.mkf all 进行编译 , 输入后 ,DOS窗口会出现如下情况 ( 截取其中部分 ):
    在这里插入图片描述
  2. 编译 HTKTools
    在命令行中输入 cd…, 表示返回上一层目录 , 再输入 cd HTKTools, 进入HTKTools目录 , 输入nmake/f htk_htktools_nt.mkf all 编译该目录下的文件 。

在这里插入图片描述

  1. 编译 HLMLib
    输入cd…, 再输入cd HLMLib, 进入HLMLib目录 , 输入 :nmake/f htk_hlmlib_nt.mkf all 编译该目录下的文件 。

  2. 编译 HLMTools
    输入cd…, 再输入cd HLMTools, 进入HLMTools目录 , 输入 :nmake/f htk_hlmtools_nt.mkf all 编译该目录下的文件 。

3.编译验证

这时候我们已经编译完所有 exe 程序,我们打开 bin. win32 文件夹看 一下,如果如下图所示,则证明已经编译成功。
在这里插入图片描述
4.工具路径加入到 path
为了能在DOS命令行中使用我们编译生成的工具 , 要将生成的工具路径加入到 path中。 在cmd中输入path=%path%;F:\htk\bin.win32回车 , 再输入path 查看添加后的结果如下 :
【 特别提醒 】: 最好在同一个DOS窗口实现所有步骤 , 否则可能不成功 。 如果下次需要特征提取 , 需要将path=%path%;F:\htk\bin.win32 回车添加进去 。
在这里插入图片描述

三: HTK 工具箱的使用(将 WAV 生成 MFCC 文件)

1. htk 文件准备
需要准备如下两个文件(再同一文件夹下新建两个 txt 文件,把文件内 容写进去后,保存,再修改文件名即可):
在这里插入图片描述

  • hcopy.conf
    其中:hcopy.conf 文件是配置文件, 将下列内容粘贴进去即可,有可以 根据要求修改参数:
SOURCEFORMAT   = WAV  
TARGETKIND     = MFCC_0_D_A  
TARGETRATE     = 100000.0     ##10000 = 10000*100ns = 1ms
WINDOWSIZE     = 250000.0    
NUMCEPS        = 12
PREEMCOEF      = 0.97
NUMCHANS       = 27                  #定义美尔频谱的频道数量 
CEPLIFTER      = 22      #定义倒谱所用到的滤波器组内滤波器个数。
  • hcopy.scp
    第二个文件是输入输出文件:hcopy.scp (标明语音文件的地址和对应 输出 mfcc 文件的地址, 提前建好一个 mfcc 文件夹)。hcopy.scp 文件 内容如下:
    在这里插入图片描述
  • ubm
    ubm 文件里面就是需要提取特征的.wav 文件

2.mfcc 特征提取

在 DOS 窗口利用 HCopy 文件进行 mfcc 特征提取

命令:HCopy -A -D -C hcopy.conf -S hcopy.scp
我图片演示的是第二次 HTK 的用法,如果是第一次就可以在同一个 DOS 窗口下输入该命令
在这里插入图片描述


http://chatgpt.dhexx.cn/article/sP67RbXw.shtml

相关文章

MFCC概述

在进行端点处理之后,就可以得到需要处理的信号。但是要进行语音识别就必须进行一个处理:特征提取。进行特征提取我们这里采用的就是FMCC。 具体的流程是怎么样的呢? 那就是: 概述: MFCC:Mel频率倒谱系数的缩写。Mel频…

matlab实现MFCC

MFCC MFCC(Mel-frequency cepstral coefficients):梅尔频率倒谱系数。 梅尔频率是基于人耳听觉特性提出来的, 它与Hz频率成非线性对应关系。 MFCC提取过程: 首先对语音进行预处理。 预处理又包括对语音进行预加重、分…

理解MFCC

文章目录 提取音频的整体步骤预加重分帧加窗FFT(快速傅里叶变换)声谱图(Spectrogram)梅尔频谱和梅尔倒谱 倒谱(cepstrum)就是一种信号的傅里叶变换经对数运算后再进行傅里叶反变换得到的谱记住一句话,在梅尔频谱上做倒…

MFCC详细步骤及解析

MFCC(Mel-frequency cepstral coefficients):梅尔频率倒谱系数。梅尔频率是基于人耳听觉特性提出来的, 它与Hz频率成非线性对应关系。梅尔频率倒谱系数(MFCC)则是利用它们之间的这种关系,计算得到的Hz频谱特征。主要有 以下几个步骤:预加重&a…

MFCC理解

MFCC 在语音识别(SpeechRecognition)和话者识别(SpeakerRecognition)方面,最常用到的语音特征就是梅尔倒谱系数(Mel-scaleFrequency Cepstral Coefficients,简称MFCC)。根据人耳听觉…

MFCC特征介绍

MFCC特征介绍 在语音识别技术中,需要提取音频的特征,然后就可以使用该音频进行模型的训练或者是进行识别,目前很常用的一种特征叫做MFCC特征,又叫做梅尔倒谱系数特征。MFCC特征保留了语义相关的一些内容,过滤掉了诸如…

深入理解MFCC(梅尔频率倒谱系数)

从倒谱图出发 MFCC是Mel Frequency Cepstral Coefficient的简称,要理解MFCC特征,就需要先明白这里引入的一个新的概念——Cepstral,这个形容词的名词形式为Cepstrum,即倒谱图(频谱图Spectrum前四个字母倒着拼&#xf…

MFCC特征提取

在语音识别方面,最常用到的语音特征就是梅尔倒谱系数(Mel-scaleFrequency Cepstral Coefficients,简称MFCC)。 MFCC的提取过程包括预处理、快速傅里叶变换、Mei滤波器组、对数运算、离散余弦变换、动态特征提取等步骤。 1.预处理 …

MFCC算法讲解及实现(matlab)

史上最详细的MFCC算法实现(附测试数据) 1.matlab安装voicebox语音包2.MFCC原理讲解3.MFCC算法设计实现(matlab)3.1 .wav格式语音文件提取【x(200000*1)】3.2 预加重【x(200000*1)】3.3 分帧{S(301*1103)}3.4 加窗{C(301*1103)}3.5…

Parquet encoding

Dictionary encoding

Parquet原理剖析

行存VS列存 广义的数据分析系统大致分为可以分为计算层、数据格式层和存储层。 计算层主要负责数据查询的介入和各种逻辑计算,如:MR、Spark、Flink。 存储层承载数据持久化存储,以文件语义或类似文件语义(对象存储)对接计算层。 数据格式层&…

Spark 实战 - 3.一文搞懂 parquet

一.引用 parquet 文件常见于 Spark、Hive、Streamin、MapReduce 等大数据场景,通过列式存储和元数据存储的方式实现了高效的数据存储与检索,下面主要讲 parquet 文件在 spark 场景下的存储,读取与使用中可能遇到的坑。 二.Parquet 加载方式 …

Spark Parquet使用

Spark SQL下的Parquet使用最佳实践和代码实战 分类: spark-sql(1) 一、Spark SQL下的Parquet使用最佳实践 1)过去整个业界对大数据的分析的技术栈的Pipeline一般分为以下两种方式: a)Data Source -> HD…

Arrow 之 Parquet

Parquet-format 左边是文件开头及具体的数据, 右边是文件结尾的 Footer Metadata There are three types of metadata: file metadata, column (chunk) metadata and page header metadata. All thrift structures are serialized using the TCompactProtocol. Co…

parquet存入mysql_解密列存 parquet

在做数据分析的时候,相对于传统关系型数据库,我们更倾向于计算列之间的关系。在使用传统关系型数据库时,基于此的设计,我们会扫描很多我们并不关心的列,这导致了查询效率的低下,大部分数据库 io 比较低效。因此目前出现了列式存储。Apache Parquet 是一个列式存储的文件格…

Parquet原理

在互联网大数据应用场景下,通常数据量很大且字段很多, 但每次查询数据只针对其中的少数几个字段,这时候列式存储是极佳的选择。 列式存储要解决的问题: 把IO只给查询需要用到的数据 只加载需要被计算的列空间节省 列式的压缩效…

parquet--golang使用

github 其实如果不适用一些可视化工具解析parquet文件,不太好看parquet文件内部正常应该是什么样的。但是使用一些可视化工具的话,可以发现,parquet文件会像表格,如excel文件,csv文件那样,排列数据。通过结…

Parquet

动机 创建Parquet是利用压缩性,高效的列式存储来在Haddop生态圈任何项目中应用. 记住Parquet是构建在复杂嵌套的数据结构, 并且使用记录分解和集成的算法在Dremely论文中描述.我们相信这种方法是更强大的的可以非常简单的使嵌套命令空间的扁平化. Parquet构建可以非常高效的…

Parquet 存储格式

1.介绍 Apache Parquet 是 Hadoop 生态圈中一种新型列式存储格式,它可以兼容 Hadoop 生态圈中大多数计算框架(Mapreduce、Spark 等),被多种查询引擎支持(Hive、Impala、Drill 等),并且它是语言和平台无关的。 2.特点…

parquet 简介

参考文章:parquet 简介 Parquet原理 【2019-05-29】Parquet 简介 Apache Parquet是一种能够有效存储嵌套数据的列式存储格式。 面向分析型业务的列式存储格式 由 Twitter 和 Cloudera 合作开发,2015 年 5 月从 Apache 的孵化器里毕业成为 Apache 顶…