kaldi学习第二天

来源:互联网 发布:手机淘宝明星店铺 编辑:程序博客网 时间:2024/06/06 10:01

今天白天和朋友玩的很开心,晚上8点开始学习。

1.create_yesno_waves_test_train.pl  该脚本用了perl语言,一般语句后加;

第一行为 #!/usr/bin/env perl

$ARGV[0] 表示命令行中的参数,$ARGV[0]是第一个参数,$ARGV[1]是第二个参数,以此类推(类似昨天所学的$1)

perl中变量以$开头,矩阵以@开头

open 句柄,文件  <句柄>可以读文件一行  最后记得关闭文件close 句柄  也可open 句柄,">文件" 表示可写

chomp( )  可以清除换行符\n

print 句柄 内容 可以把内容打印进文件


2.create_yesno_wav_scp.pl

该脚本的作用为生成标签+完整地址wav的文档

=~为匹配作用,右边为正则表达式,s/a/b/表示把a换成b

.用来连接字符串

\为转义符

../../local/create_yesno_wav_scp.pl ${waves_dir} waves.test > ${test_base_name}_wav.scp 意思为perl脚本print的内容输入到后面的文件中,并不是perl特有的操作,昨天也用到了将ls -1打印出来的内容输入到其他文件


3.creat_yesno_txt.pl

该脚本的作用为生成标签+将01转换为yesno

~=匹配中最后加上 g 表示全部替换(不加可能只替换一个?并没有去试...)


4.从input中复制了一个文件为lm_tg.arpa,内容如下,并没有搞懂干嘛,先留着

\data\
ngram 1=4


\1-grams:
-1      NO
-1      YES
-99 <s>
-1 </s>


\end\


5.回到prepare_data.sh

cat 为直接浏览整个文件

|为管道,前面的输出是后面的输入

awk '{pattern + action}' {filenames}

举例:

$ cat employees
Tom   Jones 4424 5/12/66 543354
Mary  Adams 5346 11/4/63 28765
Sally Chang 1654 7/22/54 650000
Billy Black 1683 9/23/44 336500
$ awk '{printf "The name is: %-15s ID is %8d\n",$1,$3}' employees
The name is Tom             ID is 4424
The name is Mary            ID is 5346
The name is Sally           ID is 1654
The name is Billy           ID is 1683


最后使用utt2spk_to_spk2utt.pl 将语音段+说话人 变成 说话人+语音段 ,其中脚本的实现方法没看明白,


现在22:32 看了字典的建立,之后又看了一点,发现对于数据准备并不清楚,决定明天好好看看kaldi全部资料中数据准备的部分,今天有一些知识没有写上,明天在补上

今天有点累,眼睛都看花了快,溜了溜了

原创粉丝点击