2017-02-09 4 views
1

현재 kaldi가 제공 한 추가 델타 바이너리 파일을 사용하여 델타 + 델타 델타를 추출하려고합니다. 하지만 어떤 이유로 나는 그것을 추출 할 수 없습니다.델타 및 델타 델타 파워 스펙트럼 계산을 추출 할 수 없습니다.

나는 보통 make_spectrum.sh 스크립트를 사용하여 파워 스펙트럼을 추출합니다. 델타를 포함하기 위해 비트를 약간 수정했지만 델타 파트없이 출력 된 값과 다를 수는 없습니다 ..

무엇이 잘못 되었나요?

$cmd JOB=1:$nj $logdir/spect_${name}.JOB.log \ 
    compute-spectrogram-feats --frame-length=25 --frame-shift=10 --verbose=2 \ 
    scp,p:$logdir/wav_spect_${name}.JOB.scp ark:- \| \ 
    copy-feats --compress=$compress $write_num_frames_opt ark:- \ 
     ark,scp:$specto_dir/raw_spectogram_$name.JOB.ark,$specto_dir/raw_spectogram_$name.JOB.scp \| \ 
     add-deltas ark:- ark,scp:$specto_dir/raw_spectogram_$name.JOB.ark,$specto_dir/raw_spectogram_$name.JOB.scp \ 

답변

2

파이프의 모든 명령 출력은 다음 명령으로 전달됩니다. 출력을 파일에 쓰고 같은 시간에 다음 명령으로 전달할 수있는 방법은 없습니다. 당신은 압축 - 상한에서 데이터를 쓰려고 노력하고 있으며 동시에 델타 델타에 데이터를 전달하려고합니다.

단일 명령으로 원시 및 델타 공로를 작성할 수 없습니다.

$cmd JOB=1:$nj $logdir/spect_${name}.JOB.log \ 
    compute-spectrogram-feats --frame-length=25 --frame-shift=10 --verbose=2 \ 
     scp,p:$logdir/wav_spect_${name}.JOB.scp ark:- \| 
    add-deltas ark:- ark,scp:$specto_dir/delta_spectogram_$name.JOB.ark,$specto_dir/delta_spectogram_$name.JOB.scp 

또는 실행 두 작업 : 어느 당신은 컴퓨팅 업적의 원시 통과 표준 출력을 작성하기 위해 추가 델타없이 델타 쓰기

$cmd JOB=1:$nj $logdir/spect_${name}.JOB.log \ 
    compute-spectrogram-feats --frame-length=25 --frame-shift=10 --verbose=2 \ 
    scp,p:$logdir/wav_spect_${name}.JOB.scp ark:- \| \ 
    copy-feats --compress=$compress $write_num_frames_opt ark:- \ 
     ark,scp:$specto_dir/raw_spectogram_$name.JOB.ark,$specto_dir/raw_spectogram_$name.JOB.scp 

$cmd JOB=1:$nj $logdir/spect_${name}_deltas.JOB.log \ 
     add-deltas scp:$specto_dir/raw_spectogram_$name.JOB.scp ark,scp:$specto_dir/delta_spectogram_$name.JOB.ark,$specto_dir/delta_spectogram_$name.JOB.scp \ 

두를 결합하는 명명 된 파이프와 트릭을 할 수 있습니다 하나의 명령으로, 그러나 나는 그것을 추천하지 않을 것이다. 위의 단일 작업을 실행하는 것이 더 간단합니다.

+0

도움 주셔서 감사합니다. 그건 실제로 내 문제를 해결 .. 정보가 저장되는 방법에 관한 측면 질문이 있습니다 ... 델타 및 델타 델타는 어느 것입니까? – Loser

+2

첫 번째 스펙트럼, 중간 델타, 마지막 델타 델타 –

+0

스펙트럼은 raw_spectogram_ $ name.JOB에 저장됩니다. 델타는 delta_spectogram_ $ name.JOB에 있습니다. 그래서 처음과 중간 그리고 마지막으로 무엇을 의미하는지 이해할 수 없습니까? ... 스펙트럼 및 델타는 개별 파일에 있습니다 .. – Loser