Kaldi是开源语音识别工具平台。这款工具既可以在Windows下编译也可以在linux下编译。目前研究生的研究方向是深度学习的语音识别,所以开始进行一些初步的工作。由于家里的台式机和实验室的电脑都是普通PC机,而自己的笔记本又是mac PRo。所以准备同时在两种主机上搭建环境,不过参考说还是在Linux下做开发多一些,我就顺便把Linux装在mac的虚拟机上,就安了个虚拟机装上了Ubuntu14.04。文档里面也说还是建议在Linux下使用Kaldi。没怎么用过Linux了,用了一天的时间搭建Kaldi最后完成了并跑了一下测试例子。下面把过程记录和遇到问题记录一下。
1. 下载 Ubuntu 14.04 版本建议用这个版本,16的版本会带来一些问题,之后查到的资料和解决方法少。。2. 在 Windows 10 系统下面创建空白磁盘分区:- 右键我的电脑- 选择管理- 选择磁盘管理- 选择一个磁盘- 右键压缩卷- 压缩后的磁盘变成为未分配部分(80G)3. 下载并安装好软碟通(UltraISO)- 打开软件- 点击打开- 找到 Ubuntu 系统所在目录,找到 iso 文件并打开- 点击启动,选择写入硬盘镜像- 大概检查下各个选项(基本是默认格式)- 点击格式化- 点击写入- 刻录完成4. 从 USB 启动选择空闲空间安装 Ubuntu 即可(可以使用easyBCD进行系统启动切换)
之后还遇到装好了系统后分辨率非常不兼容的问题,由于我用的是34寸带鱼屏,用命令行修改分辨率无法解决,去N卡官网下载了linux对应的驱动.run格式,之后安装(安装方法自行读娘,提醒下要在无图形界面的模式下输入安装的命令行Ctrl+Alt+F1,否则报错)
安装 CUDA 以及 Kaldi 之前的基本配置
输入:sudo apt-get updatesudo apt-get install libtoolsudo apt-get install autoconfsudo apt-get install wgetsudo apt-get install perlsudo apt-get install subversionsudo apt-get install build-essentialsudo apt-get install gfortransudo apt-get install libatlas-devsudo apt-get install libatlas-base-devsudo apt-get install zlib1g-dev (中间的是数字 1)sudo apt-get install gawk
安装 CUDA(推荐CUDA下载安装)
到官方下载对应的包
https://developer.nvidia.com/cuda-downloads
Base Installer | |
Installation Instructions: | |
Run `sudo sh cuda_8.0.61_375.26_linux.run`Follow the command-line prompts |
安装 Kaldi第一步:下载 Kaldi 源代码现在 Kaldi 的最新网址是:http://www.kaldi-asr.org/同时,下载地址是:https://github.com/kaldi-asr/kaldi下载后,提取并放在主文件夹下即可。注:推荐使用 Ubuntu 直接在浏览器下载,最好不要用 Windows 下载完之后用 U 盘拷贝过去,我当时就是这样做的,结果有些权限问题比较麻烦。第二步:准备阶段编译 Kaldi 之前需要完成:1. 修改 gcc 以及 g++版本注:Ubuntu14.04 默认安装的 gcc/g++版本是 4.8,编译 Kaldi 所需的版本要在 4.8 以下,所以需要要把 gcc/g++版本降成 4.61.1 首先查看安装的版本:输入:ls /usr/bin/gcc*如果没有版本 4.6,则需要安装:输入:sudo apt-get install gcc-4.6sudo apt-get install gcc-4.6-multilibsudo apt-get install g++-4.6sudo apt-get install g++-4.6-multilib1.2 安装之后选择当前版本修改 gcc输入:sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 40之后输入:sudo update-alternatives --config gcc之后手动选择所需 gcc 版本编号,输入 1,即选择当前 gcc 版本为 4.6,之后回车修改 g++输入:sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 40之后输入:sudo update-alternatives --config g++之后需要手动选择 g++版本编号,输入 1,即选择当前 g++版本为 4.6,之后回车1.3 修改后查看当前版本输入:gcc –versiong++ --version查看当前版本2. 修改默认 shell输入:sudo ln -s -f bash /bin/sh3. 安装 git输入:sudo apt-get install git
输入:
git clone https://github.com/kaldi-asr/kaldi.git kaldi-trunk --origin golden下载的速度很慢 要有耐心,尤其是防止电脑休眠中断(掉过坑)/tools目录下面全部都是Kaldi依赖的包。其中主要有:
OpenFST:Weighted Finite State Transducer library,是一个用来构造有限状态自动机的库。我们知道隐马尔科夫模型就可以看成是一个有限状态自动机的。这是最终要的一个包,Kaldi的文档里面说:If you ever want to understand Kaldi deeply you will need to understand OpenFst.诶,要学的好多。ATLAS:这是一个C++下的线性代数库。做机器学习自然是需要很多矩阵运算的。IRSTLM:这是一个统计语言模型的工具包。sph2pipe:这是宾夕法尼亚大学linguistic data consortium(LDC)开发的一款处理SPHERE_formatted数字音频文件的软件,它可以将LDC的sph格式的文件转换成其它格式。编译 Kaldi输入:cd ./kaldi-master/toolsmake –j 4注:如果中途没有退出的话就基本没问题了。需要注意的是安装过程中全程保持网络畅通。如果实在看下载进度条没速度,就自己下载好相应的包,放在应该存放的目录下即可。输入:cd ../src./configure注:检查 OpenFST 和 ATLAS 两个外部库是否安装成功,并且检查 CUDA 是否安装成功。没问题的话应该有如下显示:输入:make depend –j 4make –j 4单独编译 cudamatrix输入:cd kaldi-maser/src/cudamatrix/sudo nano Makefile- 把文件中的 TESTFILES 改成 BINFILES输入:cd ~/kaldi-master/src/cudamatrixmake all./cu-vector-test测试之后技能现实成功
新闻热点
疑难解答