LINUX7下安装kaldi实战

news2024/9/25 17:19:30

LINUX7下安装kaldi实战,需要升级gcc版本。还需要将kaldi相关的github.com替换为kgithub.com。

1 升级安装gcc过程

我是在LINUX7.5下安装部署得kaldi。自带的gcc版本为4.8.5,所以需要安装升级gcc.

1.1 安装说明

gcc库包含3个依赖库:gmp、mpfr、mpc
这3个库的安装需要按gmp → mpfr → mpc的顺序,因为后面的库编译安装时需要依赖前面已安装的库
1.2 安装gmp

cd /usr/local
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
tar -jxvf gmp-6.1.0.tar.bz2
cd gmp-6.1.0
mkdir gmp-build
cd gmp-build
../configure --prefix=/usr/local/gmp-6.1.0
make
make install

1.3 安装mpfr

cd /usr/local
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
tar -jxvf mpfr-3.1.4.tar.bz2
cd mpfr-3.1.4
mkdir mpfr-build
cd mpfr-build
../configure --prefix=/usr/local/mpfr-3.1.4 --with-gmp=/usr/local/gmp-6.1.0
make
make install

1.4 安装mpc

cd /usr/local
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
tar -zxvf mpc-1.0.3.tar.gz
cd mpc-1.0.3
mkdir mpc-build
cd mpc-build
../configure --prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.4
make
make install
1.5 添加环境变量

```bash
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gmp-6.1.0/lib:/usr/local/mpc-1.0.3/lib:/usr/local/mpfr-3.1.4/lib

1.6 安装gcc

mkdir /usr/local/gcc-4.8.5/

mv /usr/bin/{gcc,g++,c++} /usr/local/gcc-4.8.5
ln -s /usr/local/gcc-6.1.0/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-6.1.0/bin/g++ /usr/bin/g++
ln -s /usr/local/gcc-6.1.0/bin/c++ /usr/bin/c++

1.7 检查gcc版本

gcc --version
g++ --version
c++ --version

1.8 加载动态库
添加gcc-6-1-0.conf,内容如下

cat /etc/ld.so.conf.d/gcc-6-1-0.conf
/usr/local/gcc-6.1.0/lib64
Ldconfig
ldconfig -v

2 安装kaldi
2.1下载kaldi

git clone https://kgithub.com/kaldi-asr/kaldi.git

请注意,我用的kgithub,这个是github在中国的镜像。
我下载的本地目录是/home/kaldi/
2.2 编译过程
2.2.1 tools编译

cd //home/kaldi/kaldi/tools

按照当中的步骤进行

cat INSTALL

按照结果的提示进行,如果没有问题会显示all ok(大概意思)

需要把tools的Makefile中的github替换为kgithub
需要把tools/extras目录下的install_irstlm.sh、install_kaldi_lm.sh、install_portaudio.sh中的github替换为kgithub。不然会因为组件下载失败导致后续的很多问题
extras/check_dependencies.sh

如果编译出错,重新编译需要make clean

make

2.2.2 src编译
服务器上需要有GPU显卡,需要安装cuda相关的组件及开发库

cd /home/kaldi/kaldi/src
cat INSTALL

出现Successfully就可以了

./configure --shared
make -j clean depend
make

2.2.3 检查编译结果

跑一个yesno测试一下:

cd /home/kaldi/kaldi/egs/yesno/s5
sh run.sh

结果如下,就基本没什么问题了

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/696257.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【各种乐器波形图】笛子、二胡、钢琴、号角等乐器波形图研究

标题:不同乐器波形图 笛子的频率取决于其音高,不同音高的笛子频率也不同。以C调笛子为例,其最基本的频率为261.63 Hz(即中央C的频率)。而其他调号的笛子的基本频率则会有所不同。 笛子的波形图: import n…

有奖问卷 | 2023 中国软件研发效能调查问卷即将截止

中国信通院将根据问卷征集和企业调研结果,与业内专家共同撰写**《2023 中国软件研发效能调查报告》**,研判发展趋势,提供研发效能体系建设建议,并于 2023 年 7 月 7 日正式发布调查报告解读。 随着云计算应用的不断深入&#xff0…

微信小程序中使用echart、动态加载几条折线

一、示例 echart小程序示例 gitub地址:GitHub - ecomfe/echarts-for-weixin: Apache ECharts 的微信小程序版本 在小程序中放入 效果 二、 小程序代码 json 组件的位置取决于一示例中的的echart的位置 { "navigationStyle":"custom","…

STM32速成笔记—EEPROM(AT24C02)

文章目录 一、AT24C02简介二、AT24C02引脚三、AT24C02寻址四、AT24C02读/写操作4.1 AT24C02写操作4.2 AT24C02读操作 五、AT24C02程序六、应用实例七、拓展应用 一、AT24C02简介 AT24C01/02/04/08/16…是一个1K/2K/4K/8K/16K位电可擦除PROM,内部含有128/256/512/10…

数据中心供配电系统负荷的计算方法(三)

数据中心供配电系统是为机房内所有需要动力电源的设备提供稳定、可靠的动力电源支持的系统;是数据中心日常运维的重大支出之一,在数据中心,供配电系统相当于一个人的“心脏和血管”,负责把能量输送到系统的每一台设备。一旦供配电…

伦敦金价格实时查询

伦敦金是具有显著杠杆效应的投资品种,参与其中的投资者,往往需要时刻关注它的实时行情走势,以及自己交易账户内的情况,才能及时地兑现利润和控制交易的风险。所以对于每一位伦敦金投资者来说,实时的行情报价都是十分重…

stable-diffusion 预训练模型汇总

目前各个github上各个库比较杂乱,故此做些整理方便查询 Stable UnCLIP 2.1 New stable diffusion finetune (Stable unCLIP 2.1, Hugging Face) at 768x768 resolution, based on SD2.1-768. This model allows for image variations and mixing operations as d…

OA办公系统如何通过审批流程提高效率

企业的发展与管理离不开信息化,很多企业的信息化都会选择从OA信息化开始。一个成熟先进的OA办公系统流程审批也是核心功能关注的功能之一,今天小编举例有18年平台经验的天翎低代码平台OA系统,给大家分享一下如果提升流程审批效率:…

展会回顾|万应低代码重磅亮相2023全球人工智能产品应用博览会

6月25-27日,人工智能领域的行业盛会——第五届全球人工智能产品应用博览会(简称“全球智博会”)在苏州国际博览中心成功举行。大会由苏州市人民政府指导、苏州工业园区管理委员会支持、新一代人工智能产业技术创新战略联盟、苏州市人工智能协…

Qt 事件过滤器使用QPainter绘制温度

文章目录 【1】eventFilter使用简介【2】QPainter使用简介【3】QPainter绘制温度案例头文件源文件 【4】 UI界面设计【5】温度绘制图 【1】eventFilter使用简介 Qt的eventFilter是一个事件过滤器,可以用来捕获和处理Qt对象的事件。事件过滤器可以被安装到一个对象上…

【js30天挑战】第四天:数组操作

总结 filter(筛选条件为true的项) map(你想要输出的东西),进来多少个 出去多少个 sort(),默认可排字母顺序。sort(compareFn(a, b))其中compareFn(a, b)返回的值若大于0则a在b的后面。 reduce(),最复杂。reduce(func(){上一轮计算出的结果…

Vue 3 + vite技术架引入静态文件的问题(require和import方式)

Vue 3 vite技术架无法使用require()的方式引入静态文件 使用Vue 3 vite技术架开发过程中,引入静态资源时,习惯性使用require()引入,突然发现报错了。 研究了一下才发现,好像vite引入静态资源或者插件啥的,不用requi…

JAVA 二维码绘制,可定义背景图与在背景图种的位置,码点绘制避开logo区域10个像素点

效果图: 背景图: 直接看代码和代码说明: 方法drawQr() 为绘制核心,仅绘制出图上的二维码 方法createQr() 包含 读取背景图和 调用drawQr() 。绘制出完整的带有背景图的二维码 drawQr()方法参数说明: * param conten…

新星计划【数据结构与算法】赛道开启,欢迎报名!

前排提醒:这里是新星计划2023【数据结构与算法】学习方向的报名入口,一经报名,不可更换。 ↓↓↓报名方式:新星计划2023【数据结构与算法】学习方向报名入口!-CSDN社区 一、关于本学习方向导师 博客昵称:…

上海亚商投顾:沪指探底回升微跌 减速器概念股大涨

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 指数今日探底回升,三大股指盘中均跌超1%,随后跌幅逐渐收窄,沪指午后一度拉升翻…

Elasticsearch:使用 SIMD 指令加速向量搜索

作者:Chris Hegarty, Elastic Principal Engineer, Lucene PMC 翻译:杰瑞朱 多年来,Java 平台上运行的代码一直受益于自动向量化 —— HotSpot C2 编译器中的 superword 优化,将多个标量操作打包到 SIMD(单指令多数据…

CWDM粗波分复用和DWDM密集波分复用的区别?

WDM波分复用技术提供了一种经济高效的解决方案,无需在现有光纤网络中部署额外的光纤即可增加网络容量。 CWDM 和 DWDM 是两种主要的 WDM 技术,具有不同的波长模式、功能、成本和应用。 CWDM 代表粗波分复用,其中“Coarse” 是指通道之间的波…

分享一个内网的屏幕分享软件inletexemc

分享一个内网的屏幕分享软件inletexemc 参考文章:https://zhuanlan.zhihu.com/p/25912687 原本采用的一个叫veyon的电子教室管理软件,虽然可以实现这个效果,但是比较笨重,操作也比较繁琐,具体可参考:http…

对话商越苗峰:未来十年,采购数字化是ERP后最核心应用之一

“从创立开始,商越就非常清楚要做什么、不做什么,这个定位到现在没变,未来也不会变。” 作者|皮爷 出品|产业家 清晰、理智、坚定、条律分明,这是商越创始人苗峰给我的第一感觉。 在见到他之前,我曾想象过这家短短几…

来酷智生活,Type-C十二合一扩展坞来了

联想最新推出的“来酷智生活Type-C十二合一扩展坞”为用户带来更多接口选择,方便实用。 这款扩展坞包含12个接口,包括2个USB 3.2,2个USB 2.,2个HDMI接口,TF卡插槽,SD卡插槽,DP接口,P…