2017-11-24 1 views
0

で使用カルディでアサートし、次のパイプライン:<a href="https://github.com/alumae/gst-kaldi-nnet2-online" rel="nofollow noreferrer">Alumae</a>からのGStreamerプラグインを使用してのGStreamer

appsrc source='appsrc' ! wavparse ! audioconvert ! audioresample ! queue ! kaldinnet2onlinedecoder <parameters snipped> ! filesink location=/tmp/test

私はいつも、私はこれは何 KALDI_ASSERT(current_log_post_.NumRows() == info_.frames_per_chunk/ info_.opts.frame_subsampling_factor && current_log_post_.NumCols() == info_.output_dim);

を理解していない、次のアサートを取得約アサートエラー?それを修正するには?

はFYI、データがストリーミングされたwavファイルから来るパイプライン内に押し込むとが正しく終了時に代わりにテキストファイルのWAVファイルを生成wavenc kaldinnetonlinedecoderを交換します。常にスローPythonの作品にパイプラインのテキスト表現を使用しますが(すなわちようにGst.Element_Factory.makeとを使用して)それをコーディング、あなたの情報については

use-threaded-decoder=0 
model=/opt/en/final.mdl 
word-syms=<word-file> 
fst=<fst_file> 
mfcc-config=<mfcc-file> 
ivector-extraction-config=/opt/en/ivector-extraction/ivector_extractor.conf 
max-active=10000 
beam=10.0 
lattice-beam=6.0 
do-endpointing=1 
endpoint-silence-phones=\"1:2:3:4:5:6:7:8:9:10\" 
traceback-period-in-secs=0.25 
num-nbest=10 

:ここでEDIT

が使用するパラメータですここでは例外

SECOND UPDATE がアサート

によって生成されたフルスタックトレースです
ASSERTION_FAILED ([5.2]:AdvanceChunk():decodable-online-looped.cc:223) : 'current_log_post_.NumRows() == info_.frames_per_chunk/info_.opts.frame_subsampling_factor && current_log_post_.NumCols() == info_.output_dim' 

[ Stack-Trace: ] 

kaldi::MessageLogger::HandleMessage(kaldi::LogMessageEnvelope const&, char const*) 
kaldi::MessageLogger::~MessageLogger() 
kaldi::KaldiAssertFailure_(char const*, char const*, int, char const*) 
kaldi::nnet3::DecodableNnetLoopedOnlineBase::AdvanceChunk() 
kaldi::nnet3::DecodableNnetLoopedOnlineBase::EnsureFrameIsComputed(int) 
kaldi::nnet3::DecodableAmNnetLoopedOnline::LogLikelihood(int, int) 
kaldi::LatticeFasterOnlineDecoder::ProcessEmitting(kaldi::DecodableInterface*) 
kaldi::LatticeFasterOnlineDecoder::AdvanceDecoding(kaldi::DecodableInterface*, int) 
kaldi::SingleUtteranceNnet3Decoder::AdvanceDecoding() 
+0

'パラメータを切り詰めた 'というのは悪い考えです。全体的に、あなたが答えが必要な場合は、詳細を提供する必要があります。 –

+0

さて、私はKaldi Gst Elementが他のGstプラグインと同じようにそのキャップを否定することを期待していました。それがパラメータを提供しなかった理由です。私はちょうどそれが何を意味するのか理解したかった。私は今すぐパラメータにアクセスすることはできませんが、できるだけ早くあなたに提供します。 –

+0

遅れて申し訳ありませんが、私は質問 –

答えて

0

フレームサブサンプリング係数パラメータであっても、ついにそれが動作しました。

問題はパラメータの順番に存在します。 fstおよびモデルのパラメータは最後のものでなければなりません。

したがって、次のテキストチェーンの作品:

gst-launch-1.0 pulsesrc device=alsa_input.pci-0000_00_05.0.analog-stereo ! queue ! \ 
      audioconvert ! \ 
      audioresample ! tee name=t ! queue ! \ 
     kaldinnet2onlinedecoder \ 
     use-threaded-decoder=0 \ 
     nnet-mode=3 \ 
     word-syms=/opt/models/fr/words.txt \ 
     mfcc-config=/opt/models/fr/mfcc_hires.conf \ 
     ivector-extraction-config=/opt/models/fr/ivector-extraction/ivector_extractor.conf \ 
     phone-syms=/opt/models/fr/phones.txt \ 
     frame-subsampling-factor=3 \ 
     max-active=7000 \ 
     beam=13.0 \ 
     lattice-beam=8.0 \ 
     acoustic-scale=1 \ 
     do-endpointing=1 \ 
     endpoint-silence-phones=1:2:3:4:5:16:17:18:19:20 \ 
     traceback-period-in-secs=0.25 \ 
     num-nbest=2 \ 
     chunk-length-in-secs=0.25 \ 
     fst=/opt/models/fr/HCLG.fst \ 
     model=/opt/models/fr/final.mdl \ 
     ! filesink async=0 location=/dev/stdout t. ! queue ! autoaudiosink async=0 

私はこれを見つけるのは本当に難しいことと、少なくとも文書化する必要があり、私にとっては、このためのGitHub上an issueをオープンしました。

関連する問題