test

~~~~~~

                if (!tmFile[0])
		{
			printf("Pls input tlist file\n");	return 1;
		}
		if (!hmmPmModel_W[0])
		{
			printf("Pls input hmm_W file\n");	return -1;
		}

 啊

 

#将HTK格式的lab文件转换为Forcealign需要的ref文件
#参数1:输入lab
#参数2:输入需要的文件list
#参数3:输出ref

use 5.010;

open IN, "<$ARGV[0]" or die $!;
open LIST, "<$ARGV[1]" or die $!;
open OUT, ">$ARGV[2]" or die $!;

$filenum = 0;
while (my $line = <LIST>)
{
	chomp($line);
	if ($line =~ /(.*)\.plp/)
	{
		$file_exist{"$1"} = 1;
		++$filenum;
	}	
}
say "file in $ARGV[1]: $filenum";
$filenum = 0;

$garbage = <IN>;
while (my $line = <IN>)
{
	chomp($line);
	if ($line =~ /^\"\/home\/\*\/(.*)\.lab\"$/)		#这里根据具体情况修改
	{
		if ($file_exist{"$1"})
		{
			$file = $1;
		}
	}
	elsif ($line eq ".")
	{
		if ($file)
		{
			#say $file;
			say OUT "{";
			say OUT "[align]:$refer";
			say OUT $file.".plp, ~";
			say OUT "}";
			++$filenum;
		}
		$refer = "";
		$file = "";
View Code
 1 #将HTK格式的lab文件转换为Forcealign需要的ref文件
2 #参数1:输入lab
3 #参数2:输入需要的文件list
4 #参数3:输出ref
5
6 use 5.010;
7
8 open IN, "<$ARGV[0]" or die $!;
9 open LIST, "<$ARGV[1]" or die $!;
10 open OUT, ">$ARGV[2]" or die $!;
11
12 $filenum = 0;
13 while (my $line = <LIST>)
14 {
15 chomp($line);
16 if ($line =~ /(.*)\.plp/)
17 {
18 $file_exist{"$1"} = 1;
19 ++$filenum;
20 }
21 }
22 say "file in $ARGV[1]: $filenum";
23 $filenum = 0;
24
25 $garbage = <IN>;
26 while (my $line = <IN>)
27 {
28 chomp($line);
29 if ($line =~ /^\"\/home\/\*\/(.*)\.lab\"$/) #这里根据具体情况修改
30 {
31 if ($file_exist{"$1"})
32 {
33 $file = $1;
34 }
35 }
36 elsif ($line eq ".")
37 {
38 if ($file)
39 {
40 #say $file;
41 say OUT "{";
42 say OUT "[align]:$refer";
43 say OUT $file.".plp, ~";
44 say OUT "}";
45 ++$filenum;
46 }
47 $refer = "";
48 $file = "";
49 }
50 else
51 {
52 $refer .= " ".$line;
53 }
54 }
55 say "file in $ARGV[2]: $filenum";
56
57 close IN;
58 close LIST;
59 close OUT;

} else { $refer .= " ".$line; } } say "file in $ARGV[2]: $filenum"; close IN; close LIST; close OUT;

 

posted @ 2012-03-23 18:27  sssmmmxxx  阅读(220)  评论(0编辑  收藏  举报