From c6c644223dc9168befd189bf6f33243390671c99 Mon Sep 17 00:00:00 2001
From: Determinant <ted.sybil@gmail.com>
Date: Wed, 5 Aug 2015 09:29:13 +0800
Subject: ...

---
 speech_utils/init.lua | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/speech_utils/init.lua b/speech_utils/init.lua
index 87129af..3d1a470 100644
--- a/speech_utils/init.lua
+++ b/speech_utils/init.lua
@@ -1,13 +1,19 @@
 nerv.speech_utils = {}
 
 function nerv.speech_utils.global_transf(feat_utter, global_transf, frm_ext, gconf)
-    local step = frm_ext * 2 + 1
-    -- expand the feature
-    local expanded = gconf.cumat_type(feat_utter:nrow(), feat_utter:ncol() * step)
-    expanded:expand_frm(gconf.cumat_type.new_from_host(feat_utter), frm_ext)
-    -- rearrange the feature (``transpose'' operation in TNet)
-    local rearranged = expanded:create()
-    rearranged:rearrange_frm(expanded, step)
+    local rearranged
+    feat_utter = gconf.cumat_type.new_from_host(feat_utter)
+    if frm_ext > 0 then
+        local step = frm_ext * 2 + 1
+        -- expand the feature
+        local expanded = gconf.cumat_type(feat_utter:nrow(), feat_utter:ncol() * step)
+        expanded:expand_frm(feat_utter, frm_ext)
+        -- rearrange the feature (``transpose'' operation in TNet)
+        rearranged = expanded:create()
+        rearranged:rearrange_frm(expanded, step)
+    else
+        rearranged = feat_utter
+    end
     -- prepare for transf
     local input = {rearranged}
     local output = {rearranged:create()}
-- 
cgit v1.2.3-70-g09d2