Я в настоящее время пробую часть отладки вовлечения сценария, создающего feat.scp файл.
Этот файл обычно делается как таковой
for n in $(seq $nj); do
cat $mfccdir/raw_mfcc_$name.$n.scp || exit 1;
done > $data/feats.scp || exit 1
Но я вручную взял файл raw_mfcc_$name.$n.scp
и вставляемый это в $data
и переименованный в него к feats.scp
.
Это несколько отличается от того, что для цикла делает?
Сначала отпускает по циклу. Цикл, как предполагается, пробегается через определенный диапазон чисел, данных $nj
переменная, и на каждой итеративной печати raw_mfcc_$name.1.scp
, raw_mfcc_$name.2.scp
и так далее, до $nj
число. Таким образом, все те файлы выводятся в один feats.scp
.
Теперь, если необходимо было взять все те файлы вручную и вставить их в feats.scp
один за другим затем уверенный - это - то же. Если Вы вставили всего один файл в feats.scp
это не то же.
Существует также небольшая проблема здесь с cat $mfccdir/raw_mfcc_$name.$n.scp || exit 1;
часть. Если $nj
число равняется 5, и файлы пронумерованы 1,2,3,5 (пропавшие без вести 4), сценарий вышел бы в 4, и это не будет включать 5 в вывод. Неясно, было ли это предназначено или нет, но я рекомендую отредактировать это, чтобы, по крайней мере, иметь continue
оператор вместо exit
и все еще поставьте другое содержание в feats.scp