码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Kaldi 入门使用教程


    文章目录

    • 下载Kaldi
    • 编译安装
    • 运行TIMIT项目
      • 准备数据
      • 修改脚本
        • Error1
        • Error2
    • 参考文献

    下载Kaldi

    git clone https://github.com/kaldi-asr/kaldi.git
    
    • 1

    需要安装大约120MB

    编译安装

    检查依赖,根据提示安装依赖库

    cd kaldi/tools
    extras/check_dependencies.sh
    
    • 1
    • 2

    在这里插入图片描述
    接着进行编译,这一步需要较长时间

    make -j 8
    
    • 1

    make

    cd ../src
    ./configure
    make -j 8
    
    • 1
    • 2
    • 3

    运行yesno项目验证是否安装成功

    cd ../egs/yesno/s5
    ./run.sh
    
    • 1
    • 2

    validate

    运行TIMIT项目

    准备数据

    下载TIMIT数据集,并放到kaldi\egs\timit\s5目录下。将其解压后生成data文件夹

    unzip TIMIT.zip
    
    • 1

    修改脚本

    修改cmd.sh的运行模式。我是在本地运行,所以修改为run.pl运行

    # cmd.run
    
    # export train_cmd="queue.pl --mem 4G"
    # export decode_cmd="queue.pl --mem 4G"
    # # the use of cuda_cmd is deprecated, used only in 'nnet1',
    # export cuda_cmd="queue.pl --gpu 1"
    
    export train_cmd="run.pl --max-jobs-run 10"
    export decode_cmd="run.pl --max-jobs-run 10"
    export cuda_cmd="run.pl --max-jobs-run 2"
    export mkgraph_cmd="run.pl --max-jobs-run 10"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    修改run.sh中数据集的目录以及cpu参数

    # run.sh
    feats_nj=10
    train_nj=20
    decode_nj=5
    # timit=/mnt/matylda2/data/TIMIT/timit # @BUT
    timit=<your workspace>/kaldi/egs/timit/s5/data/lisa/data/timit/raw/TIMIT # @BUT
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    Error1

    运行过程中出现以下错误
    error
    针对"Error: the IRSTLM is not available or compiled"解决方案如下:
    到kaldi/tools/目录

    cd ../../../tools/
    extras/install_irstlm.sh
    
    • 1
    • 2

    irstlm

    Error2

    重新./run.sh之后又出现以下错误:
    Cannot find scoring program at /<workspace>/kaldi/egs/timit/s5/…/…/…/tools/sctk/bin/hubhubscr.pl
    error2
    tools目录下没有sctk,所以应该是需要重新编译sctk,但是解压自带的sctk-20159b5.tar.gz出错
    sckt
    可能是由于最开始make的时候网速差没下全,压缩包不完整。因此重新下载该压缩包

    cd ../../../tools
    wget https://github.com/usnistgov/SCTK/archive/20159b5.tar.gz
    mv 20159b5.tar.gz sctk-20159b5.tar.gz
    tar -zxvf sctk-20159b5.tar.gz
    
    • 1
    • 2
    • 3
    • 4

    重新编译一次

    make clean
    make -j 8
    # Warning: IRSTLM is not installed by default anymore. If you need IRSTLM
    # Warning: use the script extras/install_irstlm.sh
    # All done OK.
    extras/install_irstlm.sh
    cd ../src
    ./configure
    make -j 8
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    之后就运行成功了
    success

    success2

    参考文献

    kaldi 笔记:运行 timit 例程脚本(部分)

  • 相关阅读:
    C语言 #define _INTSIZEOF(n)对齐的算法
    三只松鼠,“跑”不动了?
    计算机毕业设计Java物业信息管理系统(源码+系统+mysql数据库+Lw文档)
    【毕业设计】基于机器学习与大数据的糖尿病预测
    2023年9月青少年机器人技术(二级)等级考试试卷-理论综合
    Java Integer bitCount()方法具有什么功能呢?
    低代码:数字化转型趋势下的快速开发方式
    高通开发系列 - ALSA声卡驱动中tinymix返回时间过慢
    【rainbowzhou 面试9/101】技术提问--常见的大数据基准测试工具有哪些未命名文章
    Unity C# 委托——事件,Action,Func的作用和区别
  • 原文地址:https://blog.csdn.net/snowleopard_bin/article/details/125612780
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号