From 119f9091ea60d81efabd7d20ff2490b9e7084778 Mon Sep 17 00:00:00 2001
From: Eric Bi <sxk.achilles@gmail.com>
Date: Tue, 1 Dec 2015 17:03:39 +0800
Subject: add detection of utterances without alignment, and skip them

---
 kaldi_io/src/cwrapper_kaldi.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

(limited to 'kaldi_io/src')

diff --git a/kaldi_io/src/cwrapper_kaldi.cpp b/kaldi_io/src/cwrapper_kaldi.cpp
index d16f316..542f1d0 100644
--- a/kaldi_io/src/cwrapper_kaldi.cpp
+++ b/kaldi_io/src/cwrapper_kaldi.cpp
@@ -150,8 +150,12 @@ extern "C" {
     Matrix *kaldi_label_repo_read_utterance(KaldiLabelRepo *repo, KaldiFeatureRepo *frepo, int nframes,
                                             lua_State *L,
                                             int debug) {
-        Matrix *mat;
-        kaldi::Posterior targets = repo->targets_reader->Value(frepo->utt);
+        Matrix *mat = NULL;
+        /* check if the alignment of the utterance exists, otherwise return NULL */
+        kaldi::Posterior targets;
+        if (repo->targets_reader->HasKey(frepo->utt))
+            targets = repo->targets_reader->Value(frepo->utt);
+        else return mat;
 
         int n = targets.size() < nframes ? targets.size() : nframes;
         int m = (int)targets[0].size();
-- 
cgit v1.2.3-70-g09d2