700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 语音识别工具箱之kaldi介绍

语音识别工具箱之kaldi介绍

时间:2023-11-19 10:05:27

相关推荐

语音识别工具箱之kaldi介绍

最近有几个人在群里问我kaldi的问题,不巧的是最近我在忙我的开题。我对kaldi的了解也就是语音识别+深度学习。如果不是kaldi有dnn模型,或许我更愿意用htk吧。其实,基本的都差不多吧。kaldi可以说是更加丰富吧。本来准备开题开语音识别,但是由于导师的反对,不得不做现在的歌曲人声分离。进入到这个新的领域,我不得不怀疑自己的学习能力,现在的我变的不淡定了。很久没有写博文,也许很忙,也许自己懒……等开题结束,我应该好好规划吧。此外,学长要和我在kaldi上用深度学习模块做下汉语的语音识别。等做好了,我一定会公开给大家。

现在先说说kaldi的安装吧。我一般都会在虚拟机上弄。大家在实现前的平台可以是物理机或者虚拟机。然后大家安装网上的教程安装好linux。我就从安装好平台开始把。前一段时间,我根据/install.html中下载的时候有install.sh文件。安装时直接就./install.sh,然后make就可以了。但是今天我重新下载时就直接make就可以了。具体步骤:

1. svn co svn://svn./p/kaldi/code/trunk kaldi-trunk

2.到tools文件夹下,直接make就可以了。

你安装的时候最好看下tools里的install文档,里面说的很清楚。如果不出意外,基本就安装好了。如果你想实验下自己到底安装成功没,那就来个例子吧。

下面的是例子。kaldi里的例子很多,在egs目录下。因为数据库的原因,一般可以做些简单的实验把。如果你有大量的数据库,如果愿意跟我分享,那我就非常感谢你了。里面的wsj数据库是LDC的。一般大家可以做timit和yesno实验。下面我演示下yesno实验,希望你可以学到更多吧。

步骤和结果如下:

1.把waves_yesno.zip.gz复制到yesno/s3目录下,然后使用

sudo yumzip waves_yesno.zip.gz

tar –xvf waves_yesno.tar

2.运行./run.sh。

测试呈现在linux上的结果:

book@book-desktop:~/kaldi-trunk/egs/yesno/s3$ sudo ./run.sh

[sudo] password for book:

Data preparation succeeded

Dictionary preparation succeeded

Preparing train and test data

Preparing word lists etc.

fstaddselfloops 'echo 4 |' 'echo 4 |'

Preparing language models for test

arpa2fst -

\data\

Processing 1-grams

Connected 0 states without outgoing arcs.

fstisstochastic data/lang_test_tg/G.fst

1.20397 0

Succeeded in formatting data.

Succeeded creating MFCC features for train_yesno

Succeeded creating MFCC features for test_yesno

Computing cepstral mean and variance statistics

Initializing monophone system.

Compiling training graphs

Aligning data equally (pass 0)

Pass 1

Aligning data

Pass 2

Aligning data

Pass 3

Aligning data

Pass 4

Aligning data

Pass 5

Aligning data

Pass 6

Aligning data

Pass 7

Aligning data

Pass 8

Aligning data

Pass 9

Aligning data

Pass 10

Aligning data

Pass 11

Pass 12

Aligning data

Pass 13

Pass 14

Aligning data

Pass 15

Pass 16

Aligning data

Pass 17

Pass 18

Aligning data

Pass 19

Pass 20

Aligning data

Pass 21

Pass 22

Pass 23

Aligning data

Pass 24

Pass 25

Pass 26

Aligning data

Pass 27

Pass 28

Pass 29

Aligning data

Pass 30

Pass 31

Pass 32

Aligning data

Pass 33

Pass 34

Pass 35

Aligning data

Pass 36

Pass 37

Pass 38

Aligning data

Pass 39

1 warnings in exp/mono0a/log/update.3.log

1 warnings in exp/mono0a/log/update.7.log

Done

fstminimizeencoded

fstdeterminizestar --use-log=true

fsttablecompose data/lang_test_tg/L_disambig.fst data/lang_test_tg/G.fst

fstisstochastic data/lang_test_tg/tmp/LG.fst

1.20412 -2.34608e-05

warning: LG not stochastic.

fstcomposecontext --context-size=1 --central-position=0 --read-disambig-syms=data/lang_test_tg/tmp/disambig_phones.list --write-disambig-syms=data/lang_test_tg/tmp/disambig_ilabels_1_0.list data/lang_test_tg/tmp/ilabels_1_0

fstisstochastic data/lang_test_tg/tmp/CLG_1_0.fst

1.20412 -2.34608e-05

warning: CLG not stochastic.

make-h-transducer --disambig-syms-out=exp/mono0a/graph_tgpr/disambig_tid.list --transition-scale=1.0 data/lang_test_tg/tmp/ilabels_1_0 exp/mono0a/tree exp/mono0a/final.mdl

fstminimizeencoded

fsttablecompose exp/mono0a/graph_tgpr/Ha.fst data/lang_test_tg/tmp/CLG_1_0.fst

fstdeterminizestar --use-log=true

fstrmsymbols exp/mono0a/graph_tgpr/disambig_tid.list

fstrmepslocal

fstisstochastic exp/mono0a/graph_tgpr/HCLGa.fst

1.20412 -2.34608e-05

HCLGa is not stochastic

add-self-loops --self-loop-scale=0.1 --reorder=true exp/mono0a/final.mdl

Decoding with num-jobs = 1

简单吧。其实很简单。那个waves_yesno.zip.gz数据可以在/projects/kaldi/files/上下载。里面还有些其他的数据。此外,有时不需要下载,run.sh里就帮你做好了。所以我上面的步骤也许就不一样。你在实验前可以看下里面的说明文档。

当然,学习kaldi最重要的资料就是/index.html。全是英文,而且很多。也许由于没有htk有名或者是最新的开源程序的原因,他的中文资料很少,可以说基本没有吧。希望有志之士能够翻译的话记得跟我分享。呵呵……

还有,如果大家做研究的话timit就可以吧,你也可以去voxforge上去收集更多的资料。

写这个博文,希望可以帮助大家解决一些问题。如果大家遇到什么问题,可以找我。希望在我们的共同学习下能够学到更多的东西。谢谢你的阅读……

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。