From e56c91ff6eecdb1663bb1722a4081ef2f190e9c0 Mon Sep 17 00:00:00 2001 From: uphantom Date: Fri, 28 Aug 2015 18:37:12 +0800 Subject: suport multi-thread reader --- speech_utils/init.lua | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'speech_utils') diff --git a/speech_utils/init.lua b/speech_utils/init.lua index f89f4fd..1bfec16 100644 --- a/speech_utils/init.lua +++ b/speech_utils/init.lua @@ -14,3 +14,35 @@ function nerv.speech_utils.global_transf(feat_utter, global_transf, collectgarbage("collect") return expanded end + +function nerv.speech_utils.feat_expand(feat_utter, frm_ext, gconf) + local rearranged + if frm_ext > 0 then + local step = frm_ext * 2 + 1 + -- expand the feature + local expanded = gconf.mmat_type(feat_utter:nrow(), feat_utter:ncol() * step) + expanded:expand_frm(feat_utter, frm_ext) + + -- rearrange the feature (``transpose'' operation in TNet) + rearranged = gconf.mmat_type(feat_utter:nrow() - frm_ext*2, feat_utter:ncol() * step) + rearranged:rearrange_frm(expanded, step, frm_ext, feat_utter:nrow() - frm_ext) + else + rearranged = feat_utter + end + + collectgarbage("collect") + return rearranged +end + + +function nerv.speech_utils.normalize(mat, global_transf) + -- prepare for transf + local input = {mat} + local output = {mat:create()} + -- do transf + global_transf:init(input[1]:nrow()) + global_transf:propagate(input, output) + + return output[1] +end + -- cgit v1.2.3