2017-01-01 Lu Huang
Kaldi是一个语音识别工具,使用C++开发,基于Apache 许可证,目的是为语音识别研究者提供。本文将介绍在线安装kaldi,为之后的离线安装kaldi做一个准备和基础。 1. 下载kaldi 目前kaldi是开源的,在github上可以clone;clone以后进入该目录,然后查看安装方法。 git clone https://github.com/kaldi-asr/kaldi.git cd kaldi/ cat INSTALL INSTALL文件指示如下: This is the official Kaldi INSTALL. Look also at INSTALL.md for the git mirror 继续阅读 »
2017-02-06 Lu Huang
在很多科研单位和企业研发部门,服务器是极少被允许连外网的,一般情况下只可以通过内网里的机器访问服务器。由于自己的经历,我曾经接触过这样一台服务器,由于有8张Tesla K80的GPU,我很想在上面安装一个kladi。因此,这里的离线指的是服务器不能访问外网,或者服务器压根不能上网。我下面的操作是在和服务器在同一内网下的Windows机器上进行的,读者也可以直接在服务器上操作(不过一般很难得到许可)。 在阅读本文之前,建议先阅读一下我之前写的文章:ubuntu 16.04在线安装kaldi,以熟悉kaldi安装的大概过程。 1. 下载kaldi并上传 从kaldi在github的代码仓库(https://github.com/k 继续阅读 »
2017-02-17 Lu Huang
本文将以 kaldi 中 timit 的例程来看整个 run.sh 脚本的执行过程。本文来自于Running the example scripts (40 minutes) 数据准备 请先进入 kaldi\egs\timit\s5\ 这个目录。 运行环境 由于 kaldi 可以在本地运行,也可以在 Oracle GridEngine 上运行,因此,请修改 cmd.sh。 如果你是在本地运行,请输入 export train_cmd="run.pl --max-jobs-run 10" export decode_cmd="run.pl --max-jobs-run 10" export cuda_cmd="run.p 继续阅读 »
2017-02-22 Lu Huang
本文主要参考的是 kaldi-asr.org,主要介绍我们在使用 kaldi 的时候可能用到的数据处理的脚本以及相关文件的信息。 简介 在运行完 kaldi 提供的例子之后,也许你想用自己的数据来建立一个系统,本节主要介绍如何准备自己的数据。请确保你使用的是例程脚本是最新的脚本。在本文中,你可以参考这些例子中有关数据准备的脚本。在每一个例子的根目录有一个 run.sh,该文件一般在开头会有若干行和数据准备有关的操作。比如在 RM 的例子中有: local/rm_data_prep.sh /export/corpora5/LDC/LDC93S3A/rm_comp || exit 1; utils/prepare_lang.sh 继续阅读 »
2017-02-20 Lu Huang
本文翻译和总结与 kaldi.org。本文主要介绍 kaldi 代码的组织结构以及依赖结构,以及一些修改和调试代码的经验。如果想更深入了解,可以点击这里。 常用的使用工具 进入 src/base/,查看 kaldi-common.h,其内容主要为下: ```c++ ifndef KALDI_BASE_KALDI_COMMON_H_ define KALDI_BASE_KALDI_COMMON_H_ 1 include include include // C string stuff like strcpy include include include include include 继续阅读 »
2017-02-22 Lu Huang
本文主要参考的是 kaldi-asr.org,主要介绍我们在使用 kaldi 的时候可能想要了解的术语词汇表。当然这里介绍的只是一部分例子,相信不久 kaldi-asr.org 就会增加新的内容。 acoustic scale 可以翻译为声学尺度吧,是在解码时使用的。在 C++ 程序中经常被写成 –acoustic-scale,而在其他程序中可能被写作 –acwt。这是对声学对数概率的描述,是一个在 HMM-GMM 和 HMM-DNN 系统中通常使用的系统,以说明帧与帧之间的相关性。其值都成被设置为 0.1,这意味着声学对数概率比语言模型的对数概率具有更低的权重。在打分(score)的脚本中,经常会看到语言模型的权重被搜索的范围 继续阅读 »
2017-02-22 Lu Huang
本文主要参考的是 kaldi-asr.org,主要讲述的是用自己的录音来构建一个数字串识别系统。 继续阅读 »
2017-06-05 Lu Huang
sge
做语音的人很多都会用到的 kaldi,而在 kaldi 里使用最多的并行计算环境是 Sun Grid Engine(SGE),本人也在自己的服务器上部署了 SGE 环境。 部署 SGE 在管理节点上 shell $ sudo apt-get install gridengine-master gridengine-client 增加管理员(am=add manager) $ sudo qconf -am 删除管理员(dm=delete manager) $ sudo qconf -dm 显示所有管理员(sm=show manager) $ sudo qconf -sm 在所有计算节点上(管理节点 继续阅读 »
2017-07-13 Lu Huang
经常在朋友圈看到有朋友各种文件误删或者忘记保存,以前总是不屑,终于今天我把自己的一个30+G的工作成果给删了,主要是用Kaldi做识别的一些脚本、特征和模型。十分悔恨,尝试了各种方法,没有恢复。没办法,浪子回头。之后自己想了想,想把每次删除的文件先放到一个文件夹下,然后自己定期手动删除,毕竟误删文件在删除后五分钟内肯定是可以发现,至少我是这样的。 这里主要就是将rm命令用mv表示,这样就不会真正删除文件。 首先在home目录下创建隐藏目录.trash: shell mkdir .trash 接着创建一个移动文件至上述目录的脚本.trash.sh: ```shell !/bin/bash datestr=$(date 继续阅读 »
2017-07-17 Lu Huang
最近使用了Aishell开源的中文语料库,做Kaldi的实验。但是需要自己准备wav.scp、text和corpus.txt等文件,这些都是一些关于文本处理的,自己当时也查阅了很多,现将几个比较常用的总结如下。 vim 继续阅读 »