kaldi在java中运行

阅读: 评论:0

kaldi在java中运行

kaldi在java中运行

Getting started, and prerequisites.

rm/s5/run.sh

Data preparation

如果有GridEngine,

train_cmd="queue.pl -q all.q@a*.clsp.jhu.edu"

decode_cmd="queue.pl -q all.q@[ah]*.clsp.jhu.edu"

如果需要在本地运行

train_cmd="run.pl"

decode_cmd="run.pl"

创建训练集和测试集

local/rm_data_prep.sh /export/corpora5/LDC/LDC93S3A/rm_comp

生成如下:

local : Contains the dictionary for the current data.   包含当前数据的发音词典

train : The data segmented from the corpora for training purposes.  训练数据的seg标注信息

test_* : The data segmented from the corpora for testing purposes. 测试数据的seg标注信息

cd local/dict

head

head

/train和/test结构相同

head text

head spk2gender.map

head spk2utt

head utt2spk

head wav.scp

wc train/text test_feb89/text 比较训练集和测试集的词数,文件大小

下一步创建原始的语言文件

utils/prepare_lang.sh data/local/dict '!SIL' data/local/lang data/lang

这将会产生一个lang的文件夹,里面包含一个FST描述语言文件,输出文件夹(data/lang).

< (data/lang/)被会用到,它们是openfst格式的符号表,代表从一个字符串到整数

的映射,

suffix .csl (in data/lang/phones)  non-silence, and silence, phones 整数id键值对列表

< (in data/lang/) 音素符号表,处理FST的歧义符号,这些符号会被替换成 #1, #2

L.fst是编译后的lexicon FST格式。

用下面的命令可以查看L.fst的内容

fstprint --isymbols=data/ --osymbols=data/ data/lang/L.fst | head

如果没有找到fstpirnt命令,则需要将OPenFst添加到PATH环境,或者简单点执行../path.sh

下一步使用上一步创建的文件,创建一个FST描述语法

local/rm_prepare_grammar.sh,将会产生/data/lang/G.fst.

Feature extraction

Monophone training

输出文件夹:

exp/mono

nohup steps/train_mono.sh --nj 4 --cmd "$train_cmd" data/train.1k data/lang exp/mono &

tail nohup.out

data/lang/topo 立即创建,1个音素的内部状态转移topo

 音素 音素id

查看生成的模型文件0.mdl

gmm-copy --binary=false exp/mono/0.mdl - | less

mdl file 包含两个对象,1个对象TransitionModel,它包含HMM拓扑信息;1个对象包含模型类型

查看tree文件

copy-tree --binary=false exp/mono/tree - | less

单音素的tree,它没有任何的splits。

exp/mono/

copy-int-vector "ark:gunzip -c exp/mono/" ark,t:- | head -n 2

这是训练数据的维特比对其,对于每个训练文件都有1行。对齐文件里面有许多数字,都是特别大,它里面并不包含pdf的id,而是transition-id,它以音素的

topo原型,编码音素和transition,这是非常有用的,如果想查看transitions信息,则如下命令:

show-transitions data/ exp/mono/0.mdl

为了更清晰的查看对齐,可以用下面的命令

show-alignments data/ exp/mono/0.mdl "ark:gunzip -c exp/mono/ |" | less

查看训练过程;匹配log文件overall关键字行

grep Overall exp/mono/log/acc.{?,??}.{?,??}.log

当单音素训练完毕,可以进行解码测试,如下命令

utils/mkgraph.sh --mono data/lang exp/mono exp/mono/graph

which fstdeterminizestar

在图创建完后,开始解码

steps/decode.sh --config fig --nj 20 --cmd "$decode_cmd"

exp/mono/graph data/test exp/mono/decode

less exp/mono/decode/log/decode.2.log

从2.tra文件里查看真实的解码词序列,命令:

<包含了词与int的关系

utils/int2sym.pl -f 2- data/ exp/mono/decode/a

查看真实的解码词序列,然后再转换回整型:

utils/int2sym.pl -f 2- data/ exp/mono/decode/a |

utils/sym2int.pl -f 2- data/ 将符号转换成整数

tail exp/mono/decode/log/decode.2.log 查看decode.2.log结尾一些总结性信息

gmm-decode-faster

Decode features using GMM-based model.

unity脚本运行顺序具体的解释

unity脚本自带函数执行顺序例如以下:将以下脚本挂在随意物体执行就可以得到 Awake ->OnEable-> Start ->-> FixedUpdate-> Upd ...

Linux版Matlab R2015b的bug——脚本运行的陷阱(未解决)

0 系统+软件版本 系统:CentOS 6.7 x64, 内核 2.6.32-573.el6.x86_64软件:Matlab R2015b(包括威锋网和东北大学ipv6下载的资源,都测试过) 1 脚本 ...

genymotion&plus;Oracle VM VirtualBox &plus; eclipse &plus; appium 脚本运行慢解决步骤

genymotion+Oracle VM VirtualBox + eclipse + appium 脚本运行慢解决步骤 1.lenove 机器启动时按F1 进入bios 设置,设置cpu virtu ...

Ansible 脚本运行一次后,再次运行时出现报错情况,原因:ansible script 的格式不对,应改成Unix编码

Ansible 脚本运行一次后,再次运行时出现报错情况,原因:ansible  script 的格式不对,应改成Unix编码 find . -name "*" | xargs do ...

插件写法之脚本运行环境&comma;mac和window检测

(function(root, factroy){   /* * 在这里进行对脚本运行环境的检测判断 * 浏览器中 有window对象 * node.js服务器端 有Global对象 * * IE11 ...

把Scala代码当作脚本运行

1. 在类UNIX系统上作为脚本运行 在类Unix系统上,你可以设置一个shell前导词来执行脚本.如下例: Script.scala #!/usr/bin/env scala !# println( ...

来来来,有讲一个吐血的故事(matlab)之脚本运行路径是什么

脚本运行路径是什么,这真是太重要!! 重要1:你默认保存的路径 重要2:你访问的相对路径 先放图: 再看一幅图: 我的操作,点击左侧的文件夹,使上框的显示栏路径不一样,再点击运行,发现pwd指示的路径 ...

bat脚本运行py文件失败(一闪而过)

简单记录下问题及原因,方便回顾. 问题 通过 bat 脚本运行 py 文件时,终端一闪而过,没能成功运行. 查证后发现问题出在编码上: 首先检查下bat文件编码格式(推荐 notepad++ ) 打开 ...

LoadRunner如何在脚本运行时修改log设置选项

LoadRunner如何在脚本运行时修改log设置选项?答案是使用lr_set_debug_message函数: lr_set_debug_message Sets the message level ...

随机推荐

【译】Import Changes from Direct3D 11 to Direct3D 12

译者:林公子 出处:木木的二进制人生 转载请注明作者和出处,谢谢! 这是微软公布的Direct3D 12文档的其中一篇,此翻译留作学习记录备忘,水平有限,错漏难免,还望海涵. 原文链接是https:/ ...

关键字static和this

1.this关键字 this:代表当前对象,就是代表所在函数所属类的引用.哪个对象调用了this所在的函数,this就代表哪个对象. this关键字也可以用于在构造函数中调用其他构造函数,此时要注意, ...

UIMenuController和UIMenuItem的使用

UIMenuController的方法: 1.创建menucontroller + (UIMenuController *)sharedMenuController; 2.设置是否可见 - (void ...

Android——TableLayout

TableLayout的行数由开发人员直接指定,即有多少个TableRow对象(或View控件),就有多少行. TableLayout的列数等于含有最多子控件的TableRow的列数.如第一Table ...

Oracle单引号的用法-转义

在ORACLE中,单引号有两个作用:  1:字符串是由单引号引用  2:转义. 单引号的使用是就近配对.而在单引号充当转义角色时相对不好理解 1.从第二个单引号开始被视为转义符,如果第二个单引号后面还 ...

【读书笔记】【深入理解ES6】&num;11-Promise与异步编程

异步编程的背景知识 JavaScript 引擎是基于单线程(Single-threaded)实际循环的概念构建的,同一时刻只允许一个代码块在执行. 所以需要跟踪即将运行的代码,那些代码被放在一个任务队 ...

2017 United Kingdom and Ireland Programming Contest &lpar;UKIEPC 2017&rpar;

A. Alien Sunset 暴力枚举答案即可. #include int n,i,mx; struct P{ int h,r,t; bool night(int x){ ...

React路由 &plus; 绝对路径引用

路由: 哈希路由(在url地址后加   #name) // 实现页面监听 hashchange = function(){ console.log(‘hash:’,window.lo ...

张春晖让视频的每词每句都可搜索:Autotiming 可以自动配字幕,还将改变哪些领域?

张春晖让视频的每词每句都可搜索:Autotiming 可以自动配字幕,还将改变哪些领域? 对于一些电视观众来说,寻找电视节目字幕中“有趣”的Bug,拍照发到网上与其他人共同嘲笑一下,是一种观看节目之外 ...

python 获取本地语言和编码的代码

#! /usr/bin/env python # encoding=utf8 import locale language, encoding = defaultlocale() ...

本文发布于:2024-02-02 13:56:36,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170685339744254.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:kaldi   java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23