3---kaldi 自己录音,做自己版本的yesNo

学习经历

0---原始文档备份和环境准备

1---原始脚本注释解析

2---原始脚本训练和测试拆分

3---自己录音,做自己版本的yesNo

=========================================================

3---自己录音,做自己版本的yesNo

这个过程较为曲折,经过时间较长,主要经历了win10录音和词典设计,查找m4a转wav方法和脚本设计,识别测试失败乱投医(再次注释理解后面脚本),查看log文件并找到采样率改变方法,再次运行wer过高,检查脚本发现错误,wer等于0等过程。这里只对最终正确的过程做总结。下面将只讲述整理过的正确内容

(1)录制音频。

我的电脑是win10系统,分别在用耳机和没有耳机的情况下进行了录制,发现区别不大,最终的音频没有用耳机录制,另外,录制是去掉了麦克风增强(应该影响不大),加入了噪声抑制。录制时文件名形如YYNNYYNN.m4a。没有像例程一样采用下划线主要时考虑文件名命名不方便。录制之后拷贝到虚拟机内。

(2)转换成和例程一致wav格式

百度下,决定使用ffmpeg进行格式转换工作。所以首先安装ffmpeg,安装完毕后查看例程声音文件格式。具体如下:

ffmpeg -i 0_0_0_0_1_1_1_1.wav

显示信息如下:

Guessed Channel Layout for Input Stream #0.0 : mono
Input #0, wav, from '0_0_0_0_1_1_1_1.wav':
  Duration: 00:00:06.35, bitrate: 128 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s

所以最好将文件处理成8000hz,wav格式的文件。完成该功能的脚本如下(需要创建一个wav目录):

#!/bin/bash    
for FILE in *.m4a;  
	do  ffmpeg -i "$FILE" -ar 8000 "wav/${FILE%.*}.wav";  
done  

(3)kaldi的相关处理

(3.1)input目录

首先将kaldi里面yesno音频目录的文件全部清除,然后把自己录制的wav格式的文件复制到yesno音频目录。

然后需要修改字典和音素文件。

其中音素来源如下:

yesno目录内有一个README.txt文件,内部指出该例程网址

http://www.openslr.org/1

进入目录

找到如下内容

SLR14BEEP DictionaryText

Phonemic transcriptions of over 250,000 English words. (British English pronunciations)

 

下载该文件,找到yes  no的音素

如下:

YES Y EH S
NO N OW

input目录需要做修改,主要修改如下:

lexicon.txt

<SIL> SIL
YES Y EH S
NO N OW

lexicon_nosil.txt

YES Y EH S
NO N OW

phones.txt

SIL
Y
EH
S
N
OW

task.arpabo

此文件没有改动。

(3.2)由于默认音频文件名是形如0_0_0_0_1_1_1_1.wav的文件,我自己录制的文件名是形如YYNNYYNN.wav,所以还需要修改脚本create_yesno_txt.pl,具体如下

#!/usr/bin/env perl

$in_list = $ARGV[0];

open IL, $in_list;

while ($l = <IL>)
{
	chomp($l);
	$l =~ s/\.wav//;
	$trans = $l;
	$trans =~ s/Y/YES /g;
	$trans =~ s/N/NO /g;
	#$trans =~ s/\_/ /g;
	print "$l $trans\n";
}

至此,自己版本的yesno完成,结果如下:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

健忘的松鼠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值