質問編集履歴

21

追記

2018/11/04 06:08

投稿

BURI55
BURI55

スコア25

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- データ生成に使ったのは、[なんかいろいろしてみます](http://akihiro0105.web.fc2.com/Downloads/Downloads-SHABERU.html)で配布されているものを、[まほろば 音響モデルを自作する5(音素ラベリング)](http://mahoro-ba.net/e1890.html)で修正したsegment_atr503_windows-v1.0で、
1
+ データ生成に使ったのは、[なんかいろいろしてみます](http://akihiro0105.web.fc2.com/Downloads/Downloads-SHABERU.html)で配布されているものを、[まほろば 音響モデルを自作する5(音素ラベリング)](http://mahoro-ba.net/e1890.html)で修正したsegment_atr503_windows-v1.0で、
2
2
 
3
3
  hirosibaフォルダにa01から503個のwavデータを置いて実行しましたが、a01からa09とかb01からb09などがスキップされて413個しかそれぞれデータが生成されません。どうすれば、全てのデータが得られますでしょうか?
4
4
 
@@ -10,7 +10,7 @@
10
10
 
11
11
  [今すぐ試すPadreのデバッグ支援機能](http://nekozitacafe.cocolog-nifty.com/blog/2011/03/padre-9bea.html)
12
12
 
13
- を参考に試しています。
13
+ を参考にステップ実行及び変数のチェックを試しています。
14
14
 
15
15
 
16
16
 

20

追記

2018/11/04 06:08

投稿

BURI55
BURI55

スコア25

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- Pealtidyを入れ整形しました。
17
+ Pealtidyを入れ整形しました。[perltidyを使ってみました](http://d.hatena.ne.jp/nitsuji/20060507/1146991795)や[perltidy - Perlソースコード整形ツール](https://qiita.com/kayama0fa/items/e65323feda9f8fb4234e)を参考にしました。
18
18
 
19
19
  ```Peal
20
20
 

19

Pealtidy導入

2018/11/04 05:27

投稿

BURI55
BURI55

スコア25

test CHANGED
File without changes
test CHANGED
@@ -1,433 +1,393 @@
1
- Ubuntu14.4を使ってHTS2.3を使って、OpenJTalk用の音響モデルの学習させていま
2
-
3
- まほろば一連の投稿参考にしました。[まほろば 音響モデルを自作する1(概要)](http://mahoro-ba.net/e1876.html)など。
4
-
5
- [音響モデルを自作する2(Linux環境)](http://mahoro-ba.net/e1887.html),[音響モデルを自作する3(音響モデル学習)](http://mahoro-ba.net/e1888.html)、[音響モデルを自作する4(サンプルデータ)](http://mahoro-ba.net/e1889.html)までで、サンプルスクリプトはうまく動いたのですが、[音響モデルを自作する5(音素ラベリング)](http://mahoro-ba.net/e1890.html)で生成した自分のデータで[音響モデルを自作する6(独自音声)](http://mahoro-ba.net/e1891.html)を動かしたところ以下のエラーで止まってしまいます。
6
-
7
- ```Ubuntu
8
-
9
- # Generating monophone and fullcontext Master Label Files (MLF)
10
-
11
- echo "#!MLF!#" > labels/mono.mlf
12
-
13
- echo "\"*/nitech_jp_atr503_m001_*.lab\" -> \"/home/buri/HTS/HTS-demo_base/data/labels/mono\"" >> labels/mono.mlf
14
-
15
- echo "#!MLF!#" > labels/full.mlf
16
-
17
- echo "\"*/nitech_jp_atr503_m001_*.lab\" -> \"/home/buri/HTS/HTS-demo_base/data/labels/full\"" >> labels/full.mlf
18
-
19
- # Generating a fullcontext model list file
20
-
21
- mkdir -p lists
22
-
23
- rm -f tmp
24
-
25
- for lab in labels/full/nitech_jp_atr503_m001_*.lab; do \
26
-
27
- if [ -s ${lab} -a -s labels/mono/`basename ${lab}` -a -s cmp/`basename ${lab} .lab`.cmp ]; then \
28
-
29
- sed -e "s/.* //g" ${lab} >> tmp; \
30
-
31
- fi \
32
-
33
- done
34
-
35
- sort -u tmp > lists/full.list
36
-
37
- sort: cannot read: tmp: そのようなファイルやディレクトリはありません
38
-
39
- make[1]: *** [list] エラー 2
40
-
41
- make[1]: ディレクトリ `/home/buri/HTS/HTS-demo_base/data' から出ます
42
-
43
- make: *** [data] エラー 2
44
-
45
- buri@buri-VirtualBox:~/HTS/HTS-demo_base$
46
-
47
-
1
+ 元データ生成に使ったのは、[なんかいろいろしてみます](http://akihiro0105.web.fc2.com/Downloads/Downloads-SHABERU.html)で配布されているもを、[まほろば 音響モデルを自作る5(音素ラベリング)](http://mahoro-ba.net/e1890.html)で修正したsegment_atr503_windows-v1.0で、
2
+
3
+ hirosibaフォルダにa01から503個wavデータ置いて実行しましたが、a01からa09とかb01からb09などがスキップされて413個しかそれぞれデータが生成されませんどうすれば、全てのデータが得られますでしょうか?
4
+
5
+
6
+
7
+ アドバイスで、
8
+
9
+ [Padre](http://padre.perlide.org/)を入れました。
10
+
11
+ [今すぐ試すPadreのデバッグ支援機能](http://nekozitacafe.cocolog-nifty.com/blog/2011/03/padre-9bea.html)
12
+
13
+ を参考に試しています。
14
+
15
+
16
+
17
+ Pealtidyを入れ整形しました。
18
+
19
+ ```Peal
20
+
21
+ #!/usr/bin/perl
22
+
23
+ #atr503 labels wav
24
+
25
+ #名前はa01からj53までとする。
26
+
27
+ $speaker = "hiroshiba";
28
+
29
+ $label = "labels";
30
+
31
+ @abc = ( a, b, c, d, e, f, g, h, i, j );
32
+
33
+ ## julius4 executable
34
+
35
+ $julius4bin = "julius";
36
+
37
+
38
+
39
+ ## acoustic model
40
+
41
+ $hmmdefs = "./models/hmmdefs_monof_mix16_gid.binhmm"; # monophone model
42
+
43
+
44
+
45
+ ## working directory
46
+
47
+ $TMPDIR = ".";
48
+
49
+
50
+
51
+ mkdir $speaker . "/mono";
52
+
53
+ mkdir $speaker . "/full";
54
+
55
+ mkdir $speaker . "/raw";
56
+
57
+ @filenum = ( 0, 0 );
58
+
59
+ $abcnum = 0;
60
+
61
+ while ()
62
+
63
+ #### initialize
64
+
65
+ {
66
+
67
+
68
+
69
+ if ( $filenum[0] == 5 && $filenum[1] == 3 ) {
70
+
71
+ $filenum[0] = 0;
72
+
73
+ $filenum[1] = 0;
74
+
75
+ $abcnum += 1;
76
+
77
+ }
78
+
79
+ if ( $abcnum == 10 ) {
80
+
81
+ print "Error: cannot open wav file ¥n";
82
+
83
+ print "push key¥n";
84
+
85
+ <STDIN>;
86
+
87
+ die;
88
+
89
+ }
90
+
91
+ if ( $filenum[1] == 9 ) {
92
+
93
+ $filenum[0] += 1;
94
+
95
+ $filenum[1] = 0;
96
+
97
+ }
98
+
99
+ else {
100
+
101
+ $filenum[1] += 1;
102
+
103
+ }
104
+
105
+ $filename = $abc[$abcnum] . $filenum[0] . $filenum[1];
106
+
107
+ $monofile = $label . "/mono/${filename}.lab";
108
+
109
+ $fullfile = $label . "/full/${filename}.lab";
110
+
111
+ $speechfile = $speaker . "/${filename}.wav";
112
+
113
+
114
+
115
+ print "Start segmentation $filename ¥n";
116
+
117
+ if ( -r $speechfile ) {
118
+
119
+ #### generate speech grammar 'tmp.dfa' and 'tmp.dict' from transcription
120
+
121
+
122
+
123
+ # clean temporary file
124
+
125
+ unlink("$TMPDIR/tmp.dfa") if ( -r "$TMPDIR/tmp.dfa" );
126
+
127
+ unlink("$TMPDIR/tmp.dict") if ( -r "$TMPDIR/tmp.dict" );
128
+
129
+
130
+
131
+ ## read transcription
132
+
133
+ @words = ();
134
+
135
+ $line = 0;
136
+
137
+ open( TRANS_MONO, "$monofile" );
138
+
139
+ while (<TRANS_MONO>) {
140
+
141
+ chomp;
142
+
143
+ next if /^[ ¥t¥n]*$/;
144
+
145
+ if ( $line == 1 ) {
146
+
147
+ s/pau/sp/;
148
+
149
+ s/A/a/;
150
+
151
+ s/I/i/;
152
+
153
+ s/U/u/;
154
+
155
+ s/E/e/;
156
+
157
+ s/O/o/;
158
+
159
+ s/cl/q/;
160
+
161
+ s/sil$/silE/;
162
+
163
+ s/[0-9]+//g;
164
+
165
+ s/ //g;
166
+
167
+ }
168
+
169
+ if ( $line == 0 ) {
170
+
171
+ s/sil$/silB/;
172
+
173
+ s/[0-9]+//g;
174
+
175
+ s/ //g;
176
+
177
+ $line = 1;
178
+
179
+ }
180
+
181
+ push( @words, $_ );
182
+
183
+ }
184
+
185
+ close(TRANS_MONO);
186
+
187
+ $num = $#words;
188
+
189
+
190
+
191
+ # write dfa
192
+
193
+ open( DFA, ">$TMPDIR/tmp.dfa" );
194
+
195
+ for ( $i = 0; $i <= $num; $i++ ) {
196
+
197
+ $str = sprintf( "%d %d %d 0", $i, $num - $i, $i + 1 );
198
+
199
+ if ( $i == 0 ) {
200
+
201
+ $str .= " 1¥n";
202
+
203
+ }
204
+
205
+ else {
206
+
207
+ $str .= " 0¥n";
208
+
209
+ }
210
+
211
+ print DFA "$str";
212
+
213
+ }
214
+
215
+ $str = sprintf( "%d -1 -1 1 0¥n", $num + 1 );
216
+
217
+ print DFA "$str";
218
+
219
+ close(DFA);
220
+
221
+
222
+
223
+ # write dict
224
+
225
+ open( DICT, ">$TMPDIR/tmp.dict" );
226
+
227
+ for ( $i = 0; $i <= $num; $i++ ) {
228
+
229
+ $w = shift(@words);
230
+
231
+ $str = "$i [w_$i] $w¥n";
232
+
233
+ $WLIST{"w_$i"} = "$w";
234
+
235
+ print DICT "$str";
236
+
237
+ }
238
+
239
+ close(DICT);
240
+
241
+
242
+
243
+ # check generated files
244
+
245
+ if ( ( !-r "$TMPDIR/tmp.dfa" ) || ( !-f "$TMPDIR/tmp.dfa" ) ) {
246
+
247
+ die "Error: failed to make ¥"$TMPDIR/tmp.dfa¥"¥n";
248
+
249
+ }
250
+
251
+ if ( ( !-r "$TMPDIR/tmp.dict" ) || ( !-f "$TMPDIR/tmp.dict" ) ) {
252
+
253
+ die "Error: failed to make ¥"$TMPDIR/tmp.dict¥"¥n";
254
+
255
+ }
256
+
257
+
258
+
259
+ #### execute Julius4 and store the output to log
260
+
261
+ $command
262
+
263
+ = "echo $speechfile | $julius4bin -h $hmmdefs -dfa $TMPDIR/tmp.dfa -v $TMPDIR/tmp.dict -input file -spmodel null -48 -palign";
264
+
265
+ system("$command > ${monofile}.log");
266
+
267
+
268
+
269
+ #### remove temporary file
270
+
271
+ unlink("$TMPDIR/tmp.dfa");
272
+
273
+ unlink("$TMPDIR/tmp.dict");
274
+
275
+
276
+
277
+ #### open result file for writing
278
+
279
+ $logfile_mono = "${speaker}/mono/${filename}.lab";
280
+
281
+ $logfile_mono =‾ s/wav//;
282
+
283
+ $logfile_full = "${speaker}/full/${filename}.lab";
284
+
285
+ $logfile_full =‾ s/wav//;
286
+
287
+ open( RESULT_MONO, ">$logfile_mono" );
288
+
289
+ open( RESULT_FULL, ">$logfile_full" );
290
+
291
+
292
+
293
+ #### parse log and append result to speechfile.align
294
+
295
+ open( LOG, "${monofile}.log" );
296
+
297
+ open( TRANS_MONO, "$monofile" );
298
+
299
+ open( TRANS_FULL, "$fullfile" );
300
+
301
+ $sw = 0;
302
+
303
+ while (<LOG>) {
304
+
305
+ chomp;
306
+
307
+ if (/re-computed AM score:/) {
308
+
309
+ $sw = 0;
310
+
311
+ }
312
+
313
+ if ( $sw == 2 ) {
314
+
315
+ $data_mono = <TRANS_MONO>;
316
+
317
+ $data_mono =‾ s/¥n//;
318
+
319
+ $data_mono =‾ s/^[0-9]+ [0-9]+//g;
320
+
321
+ $data_full = <TRANS_FULL>;
322
+
323
+ $data_full =‾ s/¥n//;
324
+
325
+ $data_full =‾ s/^[0-9]+ [0-9]+//g;
326
+
327
+ s/-[0-9]+.[0-9]+//;
328
+
329
+ s/[[]//;
330
+
331
+ s/[]]//;
332
+
333
+ s/[a-zA-Z]+//g;
334
+
335
+ s/ +//;
336
+
337
+ s/ +/ /g;
338
+
339
+ @num = split( /¥s/, $_ );
340
+
341
+ $num[0] = $num[0] * 100000;
342
+
343
+ $num[1] = ( $num[1] + 1 ) * 100000;
344
+
345
+
346
+
347
+ if ( $num[1] != 0 ) {
348
+
349
+ print RESULT_MONO "@num" . "$data_mono¥n";
350
+
351
+ print RESULT_FULL "@num" . "$data_full¥n";
352
+
353
+ }
354
+
355
+ }
356
+
357
+ if ( $sw == 1 ) {
358
+
359
+ $sw = 2;
360
+
361
+ }
362
+
363
+ if (/ id: from to n_score unit/) {
364
+
365
+ $sw = 1;
366
+
367
+ }
368
+
369
+ }
370
+
371
+ close(LOG);
372
+
373
+ close(RESULT_MONO);
374
+
375
+ close(RESULT_FULL);
376
+
377
+ close(TRANS_MONO);
378
+
379
+ close(TRANS_FULL);
380
+
381
+ unlink "${monofile}.log";
382
+
383
+ system(
384
+
385
+ "echo $speechfile | sox -t wav $speechfile -t raw -L -2 -s $speaker/raw/${filename}.raw"
386
+
387
+ );
388
+
389
+ }
390
+
391
+ }
48
392
 
49
393
  ```
50
-
51
- [まほろばの投稿 音響モデルを自作する7(パラメータ調整)](http://mahoro-ba.net/e1894.html)を参考に[HTSメーリングリスト](http://hts.sp.nitech.ac.jp/hts-users/)をたどったところ、
52
-
53
- 同じエラーで質問している人が2・3いましたが、有用な答えは得られていないようです。
54
-
55
- 例えば、以下のツリーです。
56
-
57
- [[hts-users:01149] Generating a fullcntext model list occurred in the training data](http://hts.sp.nitech.ac.jp/hts-users/spool/2008/msg00066.html)
58
-
59
- 何が原因と考えられるでしょうか?tmpフォルダがないのでしょうか?それともlistsフォルダの生成に失敗しているのでしょうかそれともfull.listがないのでしょうか?よろしくご教示ください。
60
-
61
-
62
-
63
- メーリングリストの答えに合った通り、自分で調べました。/home/buri/HTS/HTS-demo_base/data/lists/full.listが生成されているものの0バイトのようです。それでtmpでsort行おうとしてもエラーが出てしまうようです。元dataのa1からa9などが欠けているから、full.listの生成に失敗してと考えられます。元データ生成に使ったのは、[なんかいろいろしてみます](http://akihiro0105.web.fc2.com/Downloads/Downloads-SHABERU.html)で配布されているものを、[まほろば 音響モデルを自作する5(音素ラベリング)](http://mahoro-ba.net/e1890.html)で修正したsegment_atr503_windows-v1.0で、
64
-
65
-
66
-
67
- ```Perl
68
-
69
- #!/usr/bin/perl
70
-
71
- #atr503 labels wav
72
-
73
- #名前はa01からj53までとする。
74
-
75
- $speaker = "hiroshiba";
76
-
77
- $label = "labels";
78
-
79
- @abc = (a,b,c,d,e,f,g,h,i,j);
80
-
81
- ## julius4 executable
82
-
83
- $julius4bin="julius";
84
-
85
-
86
-
87
- ## acoustic model
88
-
89
- $hmmdefs="./models/hmmdefs_monof_mix16_gid.binhmm"; # monophone model
90
-
91
-
92
-
93
- ## working directory
94
-
95
- $TMPDIR=".";
96
-
97
-
98
-
99
- mkdir $speaker."/mono";
100
-
101
- mkdir $speaker."/full";
102
-
103
- mkdir $speaker."/raw";
104
-
105
- @filenum = (0,0);
106
-
107
- $abcnum = 0;
108
-
109
- while(){
110
-
111
- #### initialize
112
-
113
- if($filenum[0]==5 && $filenum[1]==3){
114
-
115
- $filenum[0] =0;
116
-
117
- $filenum[1] =0;
118
-
119
- $abcnum += 1;
120
-
121
- }
122
-
123
- if($abcnum==10){
124
-
125
- print "Error: cannot open wav file ¥n";
126
-
127
- print "push key¥n";
128
-
129
- <STDIN>;
130
-
131
- die;
132
-
133
- }
134
-
135
- if($filenum[1]==9){
136
-
137
- $filenum[0] +=1;
138
-
139
- $filenum[1] =0;
140
-
141
- }else{
142
-
143
- $filenum[1] += 1;
144
-
145
- }
146
-
147
- $filename = $abc[$abcnum].$filenum[0].$filenum[1];
148
-
149
- $monofile = $label."/mono/${filename}.lab";
150
-
151
- $fullfile = $label."/full/${filename}.lab";
152
-
153
- $speechfile = $speaker."/${filename}.wav";
154
-
155
-
156
-
157
- print "Start segmentation $filename ¥n";
158
-
159
- if (-r $speechfile) {
160
-
161
- #### generate speech grammar 'tmp.dfa' and 'tmp.dict' from transcription
162
-
163
-
164
-
165
- # clean temporary file
166
-
167
- unlink("$TMPDIR/tmp.dfa") if (-r "$TMPDIR/tmp.dfa");
168
-
169
- unlink("$TMPDIR/tmp.dict") if (-r "$TMPDIR/tmp.dict");
170
-
171
-
172
-
173
- ## read transcription
174
-
175
- @words=();
176
-
177
- $line = 0;
178
-
179
- open(TRANS_MONO, "$monofile");
180
-
181
- while(<TRANS_MONO>) {
182
-
183
- chomp;
184
-
185
- next if /^[ ¥t¥n]*$/;
186
-
187
- if($line == 1){
188
-
189
- s/pau/sp/;
190
-
191
- s/A/a/;
192
-
193
- s/I/i/;
194
-
195
- s/U/u/;
196
-
197
- s/E/e/;
198
-
199
- s/O/o/;
200
-
201
- s/cl/q/;
202
-
203
- s/sil$/silE/;
204
-
205
- s/[0-9]+//g;
206
-
207
- s/ //g;
208
-
209
- }
210
-
211
- if($line == 0){
212
-
213
- s/sil$/silB/;
214
-
215
- s/[0-9]+//g;
216
-
217
- s/ //g;
218
-
219
- $line = 1;
220
-
221
- }
222
-
223
- push(@words, $_);
224
-
225
- }
226
-
227
- close(TRANS_MONO);
228
-
229
- $num = $#words;
230
-
231
-
232
-
233
- # write dfa
234
-
235
- open(DFA, ">$TMPDIR/tmp.dfa");
236
-
237
- for ($i = 0; $i <= $num; $i++) {
238
-
239
- $str = sprintf("%d %d %d 0", $i, $num - $i, $i + 1);
240
-
241
- if ($i == 0) {
242
-
243
- $str .= " 1¥n";
244
-
245
- } else {
246
-
247
- $str .= " 0¥n";
248
-
249
- }
250
-
251
- print DFA "$str";
252
-
253
- }
254
-
255
- $str = sprintf("%d -1 -1 1 0¥n", $num + 1);
256
-
257
- print DFA "$str";
258
-
259
- close(DFA);
260
-
261
-
262
-
263
- # write dict
264
-
265
- open(DICT, ">$TMPDIR/tmp.dict");
266
-
267
- for ($i = 0; $i <= $num; $i++) {
268
-
269
- $w = shift(@words);
270
-
271
- $str = "$i [w_$i] $w¥n";
272
-
273
- $WLIST{"w_$i"} = "$w";
274
-
275
- print DICT "$str";
276
-
277
- }
278
-
279
- close(DICT);
280
-
281
-
282
-
283
- # check generated files
284
-
285
- if ((! -r "$TMPDIR/tmp.dfa") || (! -f "$TMPDIR/tmp.dfa")) {
286
-
287
- die "Error: failed to make ¥"$TMPDIR/tmp.dfa¥"¥n";
288
-
289
- }
290
-
291
- if ((! -r "$TMPDIR/tmp.dict") || (! -f "$TMPDIR/tmp.dict")) {
292
-
293
- die "Error: failed to make ¥"$TMPDIR/tmp.dict¥"¥n";
294
-
295
- }
296
-
297
-
298
-
299
- #### execute Julius4 and store the output to log
300
-
301
- $command = "echo $speechfile | $julius4bin -h $hmmdefs -dfa $TMPDIR/tmp.dfa -v $TMPDIR/tmp.dict -input file -spmodel null -48 -palign";
302
-
303
- system("$command > ${monofile}.log");
304
-
305
-
306
-
307
- #### remove temporary file
308
-
309
- unlink("$TMPDIR/tmp.dfa");
310
-
311
- unlink("$TMPDIR/tmp.dict");
312
-
313
-
314
-
315
- #### open result file for writing
316
-
317
- $logfile_mono = "${speaker}/mono/${filename}.lab";
318
-
319
- $logfile_mono =‾ s/wav//;
320
-
321
- $logfile_full = "${speaker}/full/${filename}.lab";
322
-
323
- $logfile_full =‾ s/wav//;
324
-
325
- open(RESULT_MONO, ">$logfile_mono");
326
-
327
- open(RESULT_FULL, ">$logfile_full");
328
-
329
-
330
-
331
- #### parse log and append result to speechfile.align
332
-
333
- open(LOG, "${monofile}.log");
334
-
335
- open(TRANS_MONO, "$monofile");
336
-
337
- open(TRANS_FULL, "$fullfile");
338
-
339
- $sw = 0;
340
-
341
- while(<LOG>) {
342
-
343
- chomp;
344
-
345
- if (/re-computed AM score:/) {
346
-
347
- $sw = 0;
348
-
349
- }
350
-
351
- if($sw == 2){
352
-
353
- $data_mono = <TRANS_MONO>;
354
-
355
- $data_mono =‾ s/¥n//;
356
-
357
- $data_mono =‾ s/^[0-9]+ [0-9]+//g;
358
-
359
- $data_full = <TRANS_FULL>;
360
-
361
- $data_full =‾ s/¥n//;
362
-
363
- $data_full =‾ s/^[0-9]+ [0-9]+//g;
364
-
365
- s/-[0-9]+.[0-9]+//;
366
-
367
- s/[[]//;
368
-
369
- s/[]]//;
370
-
371
- s/[a-zA-Z]+//g;
372
-
373
- s/ +//;
374
-
375
- s/ +/ /g;
376
-
377
- @num = split(/¥s/, $_);
378
-
379
- $num[0] = $num[0] * 100000;
380
-
381
- $num[1] = ($num[1]+1) * 100000;
382
-
383
- if($num[1]!=0){
384
-
385
- print RESULT_MONO "@num"."$data_mono¥n";
386
-
387
- print RESULT_FULL "@num"."$data_full¥n";
388
-
389
- }
390
-
391
- }
392
-
393
- if($sw == 1){
394
-
395
- $sw = 2;
396
-
397
- }
398
-
399
- if (/ id: from to n_score unit/) {
400
-
401
- $sw = 1;
402
-
403
- }
404
-
405
- }
406
-
407
- close(LOG);
408
-
409
- close(RESULT_MONO);
410
-
411
- close(RESULT_FULL);
412
-
413
- close(TRANS_MONO);
414
-
415
- close(TRANS_FULL);
416
-
417
- unlink "${monofile}.log";
418
-
419
- system("echo $speechfile | sox -t wav $speechfile -t raw -L -2 -s $speaker/raw/${filename}.raw");
420
-
421
- }
422
-
423
- }
424
-
425
- ```
426
-
427
- で、hirosibaフォルダにa01から503個のwavデータを置いて実行しましたが、a01からa09とかb01からb09などがスキップされて413個しかそれぞれデータが生成されません。どうすれば、全てのデータが得られますでしょうか?
428
-
429
- [Padre](http://padre.perlide.org/)を入れました。
430
-
431
- [今すぐ試すPadreのデバッグ支援機能](http://nekozitacafe.cocolog-nifty.com/blog/2011/03/padre-9bea.html)
432
-
433
- を参考に試しています。

18

Perlデバッガ導入

2018/11/04 05:20

投稿

BURI55
BURI55

スコア25

test CHANGED
File without changes
test CHANGED
@@ -425,3 +425,9 @@
425
425
  ```
426
426
 
427
427
  で、hirosibaフォルダにa01から503個のwavデータを置いて実行しましたが、a01からa09とかb01からb09などがスキップされて413個しかそれぞれデータが生成されません。どうすれば、全てのデータが得られますでしょうか?
428
+
429
+ [Padre](http://padre.perlide.org/)を入れました。
430
+
431
+ [今すぐ試すPadreのデバッグ支援機能](http://nekozitacafe.cocolog-nifty.com/blog/2011/03/padre-9bea.html)
432
+
433
+ を参考に試しています。

17

初心者マーク付加

2018/11/04 04:45

投稿

BURI55
BURI55

スコア25

test CHANGED
File without changes
test CHANGED
File without changes

16

初心者マーク取る

2018/11/04 04:05

投稿

BURI55
BURI55

スコア25

test CHANGED
File without changes
test CHANGED
File without changes

15

誤字の修正

2018/11/04 01:21

投稿

BURI55
BURI55

スコア25

test CHANGED
File without changes
test CHANGED
@@ -424,4 +424,4 @@
424
424
 
425
425
  ```
426
426
 
427
- で、hirosibaフォルダにa01から503個のwavデータを置いて実行しましたが、a01からa09とかb01からb09とかがスキップされて413個しかそれぞれデータが生成されません。どうすれば、全てのデータが得られますでしょうか?
427
+ で、hirosibaフォルダにa01から503個のwavデータを置いて実行しましたが、a01からa09とかb01からb09などがスキップされて413個しかそれぞれデータが生成されません。どうすれば、全てのデータが得られますでしょうか?

14

タイトル編集

2018/11/04 01:10

投稿

BURI55
BURI55

スコア25

test CHANGED
@@ -1 +1 @@
1
- Perlで、入力データは、a1からJ1まで、503個のデータを処理したいのですが、結果のデータが、a1からa9までなどが欠けてしまってa10からなどになってしまって413個しか生成されず困っています。
1
+ Perlで、503個のデータを処理したいのですが、413個しか生成されず困っています。
test CHANGED
File without changes

13

タイトル追記

2018/11/04 01:02

投稿

BURI55
BURI55

スコア25

test CHANGED
@@ -1 +1 @@
1
- Perlで、入力データは、a1からJ1まで、503個のデータを処理したいのですが、結果のデータが、a1からa9までなどが欠けてしまってa10からなどになってしまって困っています。
1
+ Perlで、入力データは、a1からJ1まで、503個のデータを処理したいのですが、結果のデータが、a1からa9までなどが欠けてしまってa10からなどになってしまって413個しか生成されず困っています。
test CHANGED
File without changes

12

追記

2018/11/04 00:59

投稿

BURI55
BURI55

スコア25

test CHANGED
File without changes
test CHANGED
@@ -424,4 +424,4 @@
424
424
 
425
425
  ```
426
426
 
427
- で、hirosibaフォルダにa01から503個のwavデータを置いて実行しましたが、a01からa09とかb01からb09とかがスキップされてしまいます。どうすれば、全てのデータが得られますでしょうか?
427
+ で、hirosibaフォルダにa01から503個のwavデータを置いて実行しましたが、a01からa09とかb01からb09とかがスキップされて413個かそれぞれデータが生成されせん。どうすれば、全てのデータが得られますでしょうか?

11

追記

2018/11/04 00:58

投稿

BURI55
BURI55

スコア25

test CHANGED
@@ -1 +1 @@
1
- Perlで、a1からJ1まで、503個のデータを処理したいのですが、a1からa9までなどが欠けてしまってa10からになってしまって困っています。
1
+ Perlで、入力データは、a1からJ1まで、503個のデータを処理したいのですが、結果のデータが、a1からa9までなどが欠けてしまってa10からなどになってしまって困っています。
test CHANGED
File without changes

10

追記

2018/11/04 00:52

投稿

BURI55
BURI55

スコア25

test CHANGED
@@ -1 +1 @@
1
- Perlによるデータ生成プログラムで、a1からJ1まで、503個のデータを処理したいのですが、a1からa9までなどが欠けてしまって困っています。
1
+ Perlで、a1からJ1まで、503個のデータを処理したいのですが、a1からa9までなどが欠けてしまってa10からになってしまって困っています。
test CHANGED
File without changes

9

誤字の修正

2018/11/04 00:51

投稿

BURI55
BURI55

スコア25

test CHANGED
@@ -1 +1 @@
1
- Perlによるデータ生成プログラムで、a1からJ1まで、503個のデータを処理したいのが、a1からa9までなどが欠けてしまって困っています。
1
+ Perlによるデータ生成プログラムで、a1からJ1まで、503個のデータを処理したいのですが、a1からa9までなどが欠けてしまって困っています。
test CHANGED
File without changes

8

追記

2018/11/04 00:49

投稿

BURI55
BURI55

スコア25

test CHANGED
File without changes
test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
 
62
62
 
63
- メーリングリストの答えに合った通り、自分で調べました。/home/buri/HTS/HTS-demo_base/data/lists/full.listが生成されているものの0バイトのようです。それでtmpでsort行おうとしてもエラーが出てしまうしょうか?dataの1から9が欠けているから、生成に失敗しているのでしょうか。元データ生成に使ったのは、[なんかいろいろしてみます](http://akihiro0105.web.fc2.com/Downloads/Downloads-SHABERU.html)で配布されているものを、[まほろば 音響モデルを自作する5(音素ラベリング)](http://mahoro-ba.net/e1890.html)で修正したsegment_atr503_windows-v1.0で、
63
+ メーリングリストの答えに合った通り、自分で調べました。/home/buri/HTS/HTS-demo_base/data/lists/full.listが生成されているものの0バイトのようです。それでtmpでsort行おうとしてもエラーが出てしまうようす。元dataのa1からa9などが欠けているから、full.listの生成に失敗してと考えられます。元データ生成に使ったのは、[なんかいろいろしてみます](http://akihiro0105.web.fc2.com/Downloads/Downloads-SHABERU.html)で配布されているものを、[まほろば 音響モデルを自作する5(音素ラベリング)](http://mahoro-ba.net/e1890.html)で修正したsegment_atr503_windows-v1.0で、
64
64
 
65
65
 
66
66
 

7

タイトル変更

2018/11/04 00:42

投稿

BURI55
BURI55

スコア25

test CHANGED
@@ -1 +1 @@
1
- HTS2.3を使ってOpenJTalk用の音響モルの学習をさせていすが、データ不足でエラーいてまってしまいます。データを欠けなく生成するにはどうしたらよいでしょうか?
1
+ Perlによるータ生成プログラムで、a1からJ1503個のデータを処理したのだが、a1からa9までなどが欠けまって困っています。
test CHANGED
File without changes

6

リンク追記

2018/11/04 00:39

投稿

BURI55
BURI55

スコア25

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  まほろばの一連の投稿を参考にしました。[まほろば 音響モデルを自作する1(概要)](http://mahoro-ba.net/e1876.html)など。
4
4
 
5
- サンプルスクリプトはうまく動いたのですが、自分のデータで動かしたところ以下のエラーで止まってしまいます。
5
+ [音響モデルを自作する2(Linux環境)](http://mahoro-ba.net/e1887.html),[音響モデルを自作する3(音響モデル学習)](http://mahoro-ba.net/e1888.html)、[音響モデルを自作する4(サンプルデータ)](http://mahoro-ba.net/e1889.html)までで、サンプルスクリプトはうまく動いたのですが、[音響モデルを作する5(音素ラベリング)](http://mahoro-ba.net/e1890.html)で生成した自分のデータで[音響モデルを自作する6(独自音声)](http://mahoro-ba.net/e1891.html)を動かしたところ以下のエラーで止まってしまいます。
6
6
 
7
7
  ```Ubuntu
8
8
 
@@ -52,13 +52,15 @@
52
52
 
53
53
  同じエラーで質問している人が2・3いましたが、有用な答えは得られていないようです。
54
54
 
55
+ 例えば、以下のツリーです。
56
+
55
57
  [[hts-users:01149] Generating a fullcntext model list occurred in the training data](http://hts.sp.nitech.ac.jp/hts-users/spool/2008/msg00066.html)
56
58
 
57
59
  何が原因と考えられるでしょうか?tmpフォルダがないのでしょうか?それともlistsフォルダの生成に失敗しているのでしょうかそれともfull.listがないのでしょうか?よろしくご教示ください。
58
60
 
59
61
 
60
62
 
61
- メーリングリストの答えに合った通り、自分で調べました。/home/buri/HTS/HTS-demo_base/data/lists/full.listが生成されているものの0バイトのようです。それでtmpでsort行おうとしてもエラーが出てしまうのでしょうか?dataの1から9が欠けているから、生成に失敗しているのでしょうか。元データ生成に使ったのは、[なんかいろいろしてみます](http://akihiro0105.web.fc2.com/Downloads/Downloads-SHABERU.html)で配布されているものを、[まほろば](http://mahoro-ba.net/e1890.html)で修正したsegment_atr503_windows-v1.0で、
63
+ メーリングリストの答えに合った通り、自分で調べました。/home/buri/HTS/HTS-demo_base/data/lists/full.listが生成されているものの0バイトのようです。それでtmpでsort行おうとしてもエラーが出てしまうのでしょうか?dataの1から9が欠けているから、生成に失敗しているのでしょうか。元データ生成に使ったのは、[なんかいろいろしてみます](http://akihiro0105.web.fc2.com/Downloads/Downloads-SHABERU.html)で配布されているものを、[まほろば 音響モデルを自作する5(音素ラベリング)](http://mahoro-ba.net/e1890.html)で修正したsegment_atr503_windows-v1.0で、
62
64
 
63
65
 
64
66
 

5

タイトル追加

2018/11/04 00:32

投稿

BURI55
BURI55

スコア25

test CHANGED
@@ -1 +1 @@
1
- HTS2.3を使ってOpenJTalk用の音響モデルの学習をさせていますが、tmpフォルダが見つからない?エラーを吐いて止まってしまいます。
1
+ HTS2.3を使ってOpenJTalk用の音響モデルの学習をさせていますが、データ不足でエラーを吐いて止まってしまいます。データを欠けなく生成するにはどうしたらよいでしょうか?
test CHANGED
File without changes

4

追記

2018/11/04 00:24

投稿

BURI55
BURI55

スコア25

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  Ubuntu14.4を使ってHTS2.3を使って、OpenJTalk用の音響モデルの学習をさせています。
2
2
 
3
- まほろばの一連の投稿を参考にしました。[まほろば](http://mahoro-ba.net/e1876.html)
3
+ まほろばの一連の投稿を参考にしました。[まほろば 音響モデルを自作する1(概要)](http://mahoro-ba.net/e1876.html)など。
4
4
 
5
5
  サンプルスクリプトはうまく動いたのですが、自分のデータで動かしたところ以下のエラーで止まってしまいます。
6
6
 
@@ -48,9 +48,9 @@
48
48
 
49
49
  ```
50
50
 
51
- [まほろばの投稿](http://mahoro-ba.net/e1894.html)を参考にHTSメーリングリストをたどったところ、
51
+ [まほろばの投稿 音響モデルを自作する7(パラメータ調整)](http://mahoro-ba.net/e1894.html)を参考に[HTSメーリングリスト](http://hts.sp.nitech.ac.jp/hts-users/)をたどったところ、
52
-
52
+
53
- 同じエラーで質問している人がいましたが、有用な答えは得られていないようです。
53
+ 同じエラーで質問している人が2・3いましたが、有用な答えは得られていないようです。
54
54
 
55
55
  [[hts-users:01149] Generating a fullcntext model list occurred in the training data](http://hts.sp.nitech.ac.jp/hts-users/spool/2008/msg00066.html)
56
56
 
@@ -58,7 +58,7 @@
58
58
 
59
59
 
60
60
 
61
- 自分で調べました。/home/buri/HTS/HTS-demo_base/data/lists/full.listが生成されているものの0バイトのようです。それでtmpでsort行おうとしてもエラーが出てしまうのでしょうか?dataの1から9が欠けているから、生成に失敗しているのでしょうか。元データ生成に使ったのは、[なんかいろいろしてみます](http://akihiro0105.web.fc2.com/Downloads/Downloads-SHABERU.html)で配布されているものを、[まほろば](http://mahoro-ba.net/e1890.html)で修正したsegment_atr503_windows-v1.0で、
61
+ メーリングリストの答えに合った通り、自分で調べました。/home/buri/HTS/HTS-demo_base/data/lists/full.listが生成されているものの0バイトのようです。それでtmpでsort行おうとしてもエラーが出てしまうのでしょうか?dataの1から9が欠けているから、生成に失敗しているのでしょうか。元データ生成に使ったのは、[なんかいろいろしてみます](http://akihiro0105.web.fc2.com/Downloads/Downloads-SHABERU.html)で配布されているものを、[まほろば](http://mahoro-ba.net/e1890.html)で修正したsegment_atr503_windows-v1.0で、
62
62
 
63
63
 
64
64
 

3

スペース挿入

2018/11/04 00:23

投稿

BURI55
BURI55

スコア25

test CHANGED
File without changes
test CHANGED
@@ -56,8 +56,12 @@
56
56
 
57
57
  何が原因と考えられるでしょうか?tmpフォルダがないのでしょうか?それともlistsフォルダの生成に失敗しているのでしょうかそれともfull.listがないのでしょうか?よろしくご教示ください。
58
58
 
59
+
60
+
59
61
  自分で調べました。/home/buri/HTS/HTS-demo_base/data/lists/full.listが生成されているものの0バイトのようです。それでtmpでsort行おうとしてもエラーが出てしまうのでしょうか?dataの1から9が欠けているから、生成に失敗しているのでしょうか。元データ生成に使ったのは、[なんかいろいろしてみます](http://akihiro0105.web.fc2.com/Downloads/Downloads-SHABERU.html)で配布されているものを、[まほろば](http://mahoro-ba.net/e1890.html)で修正したsegment_atr503_windows-v1.0で、
60
62
 
63
+
64
+
61
65
  ```Perl
62
66
 
63
67
  #!/usr/bin/perl

2

追記

2018/11/04 00:17

投稿

BURI55
BURI55

スコア25

test CHANGED
File without changes
test CHANGED
@@ -56,4 +56,366 @@
56
56
 
57
57
  何が原因と考えられるでしょうか?tmpフォルダがないのでしょうか?それともlistsフォルダの生成に失敗しているのでしょうかそれともfull.listがないのでしょうか?よろしくご教示ください。
58
58
 
59
- 自分で調べました。/home/buri/HTS/HTS-demo_base/data/lists/full.listが生成されているものの0バイトのようです。それでtmpでsort行おうとしてもエラーが出てしまうのでしょうか?
59
+ 自分で調べました。/home/buri/HTS/HTS-demo_base/data/lists/full.listが生成されているものの0バイトのようです。それでtmpでsort行おうとしてもエラーが出てしまうのでしょうか?dataの1から9が欠けているから、生成に失敗しているのでしょうか。元データ生成に使ったのは、[なんかいろいろしてみます](http://akihiro0105.web.fc2.com/Downloads/Downloads-SHABERU.html)で配布されているものを、[まほろば](http://mahoro-ba.net/e1890.html)で修正したsegment_atr503_windows-v1.0で、
60
+
61
+ ```Perl
62
+
63
+ #!/usr/bin/perl
64
+
65
+ #atr503 labels wav
66
+
67
+ #名前はa01からj53までとする。
68
+
69
+ $speaker = "hiroshiba";
70
+
71
+ $label = "labels";
72
+
73
+ @abc = (a,b,c,d,e,f,g,h,i,j);
74
+
75
+ ## julius4 executable
76
+
77
+ $julius4bin="julius";
78
+
79
+
80
+
81
+ ## acoustic model
82
+
83
+ $hmmdefs="./models/hmmdefs_monof_mix16_gid.binhmm"; # monophone model
84
+
85
+
86
+
87
+ ## working directory
88
+
89
+ $TMPDIR=".";
90
+
91
+
92
+
93
+ mkdir $speaker."/mono";
94
+
95
+ mkdir $speaker."/full";
96
+
97
+ mkdir $speaker."/raw";
98
+
99
+ @filenum = (0,0);
100
+
101
+ $abcnum = 0;
102
+
103
+ while(){
104
+
105
+ #### initialize
106
+
107
+ if($filenum[0]==5 && $filenum[1]==3){
108
+
109
+ $filenum[0] =0;
110
+
111
+ $filenum[1] =0;
112
+
113
+ $abcnum += 1;
114
+
115
+ }
116
+
117
+ if($abcnum==10){
118
+
119
+ print "Error: cannot open wav file ¥n";
120
+
121
+ print "push key¥n";
122
+
123
+ <STDIN>;
124
+
125
+ die;
126
+
127
+ }
128
+
129
+ if($filenum[1]==9){
130
+
131
+ $filenum[0] +=1;
132
+
133
+ $filenum[1] =0;
134
+
135
+ }else{
136
+
137
+ $filenum[1] += 1;
138
+
139
+ }
140
+
141
+ $filename = $abc[$abcnum].$filenum[0].$filenum[1];
142
+
143
+ $monofile = $label."/mono/${filename}.lab";
144
+
145
+ $fullfile = $label."/full/${filename}.lab";
146
+
147
+ $speechfile = $speaker."/${filename}.wav";
148
+
149
+
150
+
151
+ print "Start segmentation $filename ¥n";
152
+
153
+ if (-r $speechfile) {
154
+
155
+ #### generate speech grammar 'tmp.dfa' and 'tmp.dict' from transcription
156
+
157
+
158
+
159
+ # clean temporary file
160
+
161
+ unlink("$TMPDIR/tmp.dfa") if (-r "$TMPDIR/tmp.dfa");
162
+
163
+ unlink("$TMPDIR/tmp.dict") if (-r "$TMPDIR/tmp.dict");
164
+
165
+
166
+
167
+ ## read transcription
168
+
169
+ @words=();
170
+
171
+ $line = 0;
172
+
173
+ open(TRANS_MONO, "$monofile");
174
+
175
+ while(<TRANS_MONO>) {
176
+
177
+ chomp;
178
+
179
+ next if /^[ ¥t¥n]*$/;
180
+
181
+ if($line == 1){
182
+
183
+ s/pau/sp/;
184
+
185
+ s/A/a/;
186
+
187
+ s/I/i/;
188
+
189
+ s/U/u/;
190
+
191
+ s/E/e/;
192
+
193
+ s/O/o/;
194
+
195
+ s/cl/q/;
196
+
197
+ s/sil$/silE/;
198
+
199
+ s/[0-9]+//g;
200
+
201
+ s/ //g;
202
+
203
+ }
204
+
205
+ if($line == 0){
206
+
207
+ s/sil$/silB/;
208
+
209
+ s/[0-9]+//g;
210
+
211
+ s/ //g;
212
+
213
+ $line = 1;
214
+
215
+ }
216
+
217
+ push(@words, $_);
218
+
219
+ }
220
+
221
+ close(TRANS_MONO);
222
+
223
+ $num = $#words;
224
+
225
+
226
+
227
+ # write dfa
228
+
229
+ open(DFA, ">$TMPDIR/tmp.dfa");
230
+
231
+ for ($i = 0; $i <= $num; $i++) {
232
+
233
+ $str = sprintf("%d %d %d 0", $i, $num - $i, $i + 1);
234
+
235
+ if ($i == 0) {
236
+
237
+ $str .= " 1¥n";
238
+
239
+ } else {
240
+
241
+ $str .= " 0¥n";
242
+
243
+ }
244
+
245
+ print DFA "$str";
246
+
247
+ }
248
+
249
+ $str = sprintf("%d -1 -1 1 0¥n", $num + 1);
250
+
251
+ print DFA "$str";
252
+
253
+ close(DFA);
254
+
255
+
256
+
257
+ # write dict
258
+
259
+ open(DICT, ">$TMPDIR/tmp.dict");
260
+
261
+ for ($i = 0; $i <= $num; $i++) {
262
+
263
+ $w = shift(@words);
264
+
265
+ $str = "$i [w_$i] $w¥n";
266
+
267
+ $WLIST{"w_$i"} = "$w";
268
+
269
+ print DICT "$str";
270
+
271
+ }
272
+
273
+ close(DICT);
274
+
275
+
276
+
277
+ # check generated files
278
+
279
+ if ((! -r "$TMPDIR/tmp.dfa") || (! -f "$TMPDIR/tmp.dfa")) {
280
+
281
+ die "Error: failed to make ¥"$TMPDIR/tmp.dfa¥"¥n";
282
+
283
+ }
284
+
285
+ if ((! -r "$TMPDIR/tmp.dict") || (! -f "$TMPDIR/tmp.dict")) {
286
+
287
+ die "Error: failed to make ¥"$TMPDIR/tmp.dict¥"¥n";
288
+
289
+ }
290
+
291
+
292
+
293
+ #### execute Julius4 and store the output to log
294
+
295
+ $command = "echo $speechfile | $julius4bin -h $hmmdefs -dfa $TMPDIR/tmp.dfa -v $TMPDIR/tmp.dict -input file -spmodel null -48 -palign";
296
+
297
+ system("$command > ${monofile}.log");
298
+
299
+
300
+
301
+ #### remove temporary file
302
+
303
+ unlink("$TMPDIR/tmp.dfa");
304
+
305
+ unlink("$TMPDIR/tmp.dict");
306
+
307
+
308
+
309
+ #### open result file for writing
310
+
311
+ $logfile_mono = "${speaker}/mono/${filename}.lab";
312
+
313
+ $logfile_mono =‾ s/wav//;
314
+
315
+ $logfile_full = "${speaker}/full/${filename}.lab";
316
+
317
+ $logfile_full =‾ s/wav//;
318
+
319
+ open(RESULT_MONO, ">$logfile_mono");
320
+
321
+ open(RESULT_FULL, ">$logfile_full");
322
+
323
+
324
+
325
+ #### parse log and append result to speechfile.align
326
+
327
+ open(LOG, "${monofile}.log");
328
+
329
+ open(TRANS_MONO, "$monofile");
330
+
331
+ open(TRANS_FULL, "$fullfile");
332
+
333
+ $sw = 0;
334
+
335
+ while(<LOG>) {
336
+
337
+ chomp;
338
+
339
+ if (/re-computed AM score:/) {
340
+
341
+ $sw = 0;
342
+
343
+ }
344
+
345
+ if($sw == 2){
346
+
347
+ $data_mono = <TRANS_MONO>;
348
+
349
+ $data_mono =‾ s/¥n//;
350
+
351
+ $data_mono =‾ s/^[0-9]+ [0-9]+//g;
352
+
353
+ $data_full = <TRANS_FULL>;
354
+
355
+ $data_full =‾ s/¥n//;
356
+
357
+ $data_full =‾ s/^[0-9]+ [0-9]+//g;
358
+
359
+ s/-[0-9]+.[0-9]+//;
360
+
361
+ s/[[]//;
362
+
363
+ s/[]]//;
364
+
365
+ s/[a-zA-Z]+//g;
366
+
367
+ s/ +//;
368
+
369
+ s/ +/ /g;
370
+
371
+ @num = split(/¥s/, $_);
372
+
373
+ $num[0] = $num[0] * 100000;
374
+
375
+ $num[1] = ($num[1]+1) * 100000;
376
+
377
+ if($num[1]!=0){
378
+
379
+ print RESULT_MONO "@num"."$data_mono¥n";
380
+
381
+ print RESULT_FULL "@num"."$data_full¥n";
382
+
383
+ }
384
+
385
+ }
386
+
387
+ if($sw == 1){
388
+
389
+ $sw = 2;
390
+
391
+ }
392
+
393
+ if (/ id: from to n_score unit/) {
394
+
395
+ $sw = 1;
396
+
397
+ }
398
+
399
+ }
400
+
401
+ close(LOG);
402
+
403
+ close(RESULT_MONO);
404
+
405
+ close(RESULT_FULL);
406
+
407
+ close(TRANS_MONO);
408
+
409
+ close(TRANS_FULL);
410
+
411
+ unlink "${monofile}.log";
412
+
413
+ system("echo $speechfile | sox -t wav $speechfile -t raw -L -2 -s $speaker/raw/${filename}.raw");
414
+
415
+ }
416
+
417
+ }
418
+
419
+ ```
420
+
421
+ で、hirosibaフォルダにa01から503個のwavデータを置いて実行しましたが、a01からa09とかb01からb09とかがスキップされてしまいます。どうすれば、全てのデータが得られますでしょうか?

1

追記

2018/11/04 00:16

投稿

BURI55
BURI55

スコア25

test CHANGED
File without changes
test CHANGED
@@ -55,3 +55,5 @@
55
55
  [[hts-users:01149] Generating a fullcntext model list occurred in the training data](http://hts.sp.nitech.ac.jp/hts-users/spool/2008/msg00066.html)
56
56
 
57
57
  何が原因と考えられるでしょうか?tmpフォルダがないのでしょうか?それともlistsフォルダの生成に失敗しているのでしょうかそれともfull.listがないのでしょうか?よろしくご教示ください。
58
+
59
+ 自分で調べました。/home/buri/HTS/HTS-demo_base/data/lists/full.listが生成されているものの0バイトのようです。それでtmpでsort行おうとしてもエラーが出てしまうのでしょうか?