Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Online2 NNet3 TCP server program #2938

Merged
merged 36 commits into from
Mar 20, 2019
Merged

Online2 NNet3 TCP server program #2938

merged 36 commits into from
Mar 20, 2019

Conversation

danijel3
Copy link
Contributor

Several people asked for this and I feel like it would be a nice addition to the project.

The protocol is much simpler than the audio-server program I did a while ago - audio in -> text out.

The way it's made now is nice for a live demo (I added some commands to the doxygen docs), but may still lack some features for real-life use.

The main issue I have is that the new decoder is slightly different than before. The old decoder had a way to check which part of the output is final and which is "partial". This time, I can only check the current best path every N seconds (eg once per second of input audio). I use endpointing to determine when to finalize decoding.

Now, what would be really nice it to have online speech detection and speaker diarization included with this, but I know it's probably not happening too soon. What can be done (and I may do it myself if I find time) is a multithreaded version of the program with shared acoustic model and FST. Also, I bet it could be possible to combine the grammar version with the server to allow runtime vocabulary modification.

I also have a web interface that works with this server, but I'm not sure if it would fit the main Kaldi repo, so I'll probably make a separate repo for that (if anyone wants it).

I'm open to comments and suggestions.

@danpovey
Copy link
Contributor

@hhadian since you have done things of this nature, perhaps you could try to find time to review it? Not just from code details, but whether the whole approach is a direction we want to go in. No hurry.

@hhadian
Copy link
Contributor

hhadian commented Dec 25, 2018

Sure, will do.

Copy link
Contributor

@hhadian hhadian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Some initial comments..
I think this could be useful for some people who want to decode single files. And it won't need a lot of maintenance because it's simple TCP and it's single-threaded. However, the issues I explained in the comments should be resolved (and I guess I'll need to test it afterwards).

src/online2bin/online2-net-nnet3-latgen-faster.cc Outdated Show resolved Hide resolved
src/online2bin/online2-net-nnet3-latgen-faster.cc Outdated Show resolved Hide resolved
src/online2bin/online2-net-nnet3-latgen-faster.cc Outdated Show resolved Hide resolved
src/online2bin/online2-net-nnet3-latgen-faster.cc Outdated Show resolved Hide resolved
@dogancan
Copy link
Contributor

Yes it seems our code had a bug there!

@dogancan
Copy link
Contributor

Hmm, actually what you are suggesting is not right either because the offset should be from the beginning of the last segment not the beginning of last chunk.

@dogancan
Copy link
Contributor

I mean what you are saying in words is correct, what the code change does is not.

@dogancan
Copy link
Contributor

I updated the pykaldi example. The offset is again from the beginning of the file but now it is an accumulator. Let me know if it does not make sense to you.

@nshmyrev
Copy link
Contributor

@dogancan this is a great catch, I didn't notice that before. Actually I think it is also a design problem, in your pykaldi code it is simple to retrieve the remaining samples but in many cases processing and finalization belongs to different methods or executed in different places of the code. In that case access to audio buffer is already lost. It would be nice to have something like feature_pipeline.GetRemainingSamples then.

@dogancan
Copy link
Contributor

I agree. There used to be a function for this purpose but it was not part of the feature pipeline interface, so it wouldn't be useful when access to audio buffer is already lost. It was removed some time ago as part of #2672.

@nshmyrev
Copy link
Contributor

Thanks. Or probably one should not finalize the feature pipeline every time in online decoding, maybe its better to simply keep it running.

@danpovey
Copy link
Contributor

danpovey commented Jan 21, 2019 via email

@dogancan
Copy link
Contributor

dogancan commented Jan 21, 2019

Unfortunately, feature pipeline needs to be reinitialized whenever decoder is reinitialized since the decoder starts counting the frames from 0 after the InitDecoding call.

@danpovey
Copy link
Contributor

danpovey commented Jan 21, 2019 via email

@danijel3
Copy link
Contributor Author

Just to expand on the netcat issue, mentioned a while back, somewhere above. It is true that netcat doesn't send shutdown automatically on EOF because certain servers (when they can interpret the contents of the data they receive) the server is the one that shuts down the connection. In our case, we accept raw streaming audio and can't determine if it's done or not. Only way to determine that would be to introduce some sort of "protocol", which is something I really wanted to avoid this time. This means, that the client is responsible for terminating the connection and not the server. Thankfully, netcat has the '-N' switch to do just that. Furthermore, the timeout option will remain available if someone really wants to use it, although personally, I'd avoid it if possible. It has to be set pretty high to avoid any false alarms and that somewhat defeats the purpose of having the timeout in the first place.

@@ -438,6 +438,70 @@ and downloadable models that can be used with online nnet3 decoding, please
see http://kaldi-asr.org/models.html (the first model there, the ASPIRE model,
includes instructions in a README file).

\subsection online_decoding_nnet3_net TCP server for nnet3 online decoding

The program to run the TCP sever is online2-net-nnet3-latgen-faster located in the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like we missed one :)

online2-net-nnet3-latgen-faster -> online2-tcp-nnet3-decode-faster

Also let's rename the subsection to online_decoding_nnet3_tcp.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

int read_timeout_;
};

std::string LatticeToString(const Lattice &lat, const fst::SymbolTable *word_syms) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's make word_syms a constant reference instead of a constant pointer. Same for the other version of this function.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I did this, but then I noticed that "word_sysm" is created as a pointer (line 193) using the ReadText function. Shall we leave it like before or derefence it every time we call LatticeToString?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is best to create word_syms as a pointer and dereference it when calling LatticeToString.

@kaldi-asr kaldi-asr deleted a comment from danijel3 Mar 17, 2019
@dogancan
Copy link
Contributor

@danijel3 I think the PR looks pretty good. I added a couple of new comments but nothing major.

@danpovey What is your view on having a command line option to carry the adaptation_state between recordings?

@danpovey
Copy link
Contributor

Thanks. I hope to merge in a few days, once Hossein has a quick look and confirms that he doesn't still have any concerns.

@danpovey danpovey closed this Mar 18, 2019
@danpovey danpovey reopened this Mar 18, 2019
@danpovey
Copy link
Contributor

sorry pressed wrong button-- reopened again.

Copy link
Contributor

@hhadian hhadian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some very minor comments and a question: I know this program is single-threaded but I was wondering what would happen when a second client tries to connect while a client is already connected? It seems to me that the 2nd client will be rejected, is that right?

@danijel3
Copy link
Contributor Author

Some very minor comments and a question: I know this program is single-threaded but I was wondering what would happen when a second client tries to connect while a client is already connected? It seems to me that the 2nd client will be rejected, is that right?

Yes. The server is single threaded and will reject any clients that try to connect after the first one. It's by design as this program isn't meant to distribute the decoding resources. It's just a way to offload the ASR processing to a different process or machine. The TCP/IP is just a method for IPC here.

@hhadian
Copy link
Contributor

hhadian commented Mar 20, 2019

This looks good to me.

@danpovey
Copy link
Contributor

Thanks a lot, guys!

@danpovey danpovey merged commit 252690f into kaldi-asr:master Mar 20, 2019
danpovey pushed a commit that referenced this pull request Mar 21, 2019
* [scripts] Add fix regarding num-jobs for segment_long_utterances*.sh(#3130)

* [src] Enable allow_{upsample,downsample} with online features (#3139)

* [src] Fix bad assert in fstmakecontextsyms (#3142)

* [src] Fix to "Fixes to grammar-fst & LM-disambig symbols" (#3000) (#3143)

* [build] Make sure PaUtils exported from portaudio (#3144)

* [src] cudamatrix: fixing a synchronization bug in 'normalize-per-row' (#3145)

was only apparent using large matrices

* [src] Fix typo in comment (#3147)

* [src] Add binary that functions as a TCP server (#2938)

* [scripts] Fix bug in comment (#3152)
@kkm000 kkm000 mentioned this pull request Apr 3, 2019
chenzhehuai added a commit to chenzhehuai/kaldi that referenced this pull request Jun 3, 2019
* [build] Allow configure script to handle package-based OpenBLAS (kaldi-asr#2618)

* [egs] updating local/make_voxceleb1.pl so that it works with newer versions of VoxCeleb1 (kaldi-asr#2684)

* [egs,scripts] Remove unused --nj option from some scripts (kaldi-asr#2679)

* [egs] Fix to tedlium v3 run.sh (rnnlm rescoring) (kaldi-asr#2686)

* [scripts,egs] Tamil OCR with training data from yomdle and testing data from slam (kaldi-asr#2621)

note: this data may not be publicly available at the moment.  we'll work on that.

* [egs] mini_librispeech: allow relative pathnames in download_and_untar.sh (kaldi-asr#2689)

* [egs] Updating SITW recipe to account for changes to VoxCeleb1  (kaldi-asr#2690)

* [src] Fix nnet1 proj-lstm bug where gradient clipping not used; thx:@cbtpkzm (kaldi-asr#2696)

* [egs] Update aishell2 recipe to allow online decoding (no pitch for ivector) (kaldi-asr#2698)

* [src] Make cublas and cusparse use per-thread streams. (kaldi-asr#2692)

This will reduce synchronization overhead when we actually use multiple
cuda devices in one process go down drastically, since we no longer
synchronize on the legacy default stream.

More details here: https://docs.nvidia.com/cuda/cuda-runtime-api/stream-sync-behavior.html

* [src] improve handling of low-rank covariance in ivector-compute-lda (kaldi-asr#2693)

* [egs] Changes to IAM handwriting-recognition recipe, including BPE encoding (kaldi-asr#2658)

* [scripts] Make sure pitch is not included in i-vector feats, in online decoding preparation (kaldi-asr#2699)

* [src] fix help message in post-to-smat (kaldi-asr#2703)

* [scripts] Fix to steps/cleanup/debug_lexicon.sh (kaldi-asr#2704)

* [egs] Cosmetic and file-mode fixes in HKUST recipe (kaldi-asr#2708)

* [scripts] nnet1: remove the log-print of args in 'make_nnet_proto.py', thx:mythilisharan@gmail.com (kaldi-asr#2706)

* [egs] update README in AISHELL-2 (kaldi-asr#2710)

* [src] Make constructor of CuDevice private (kaldi-asr#2711)

* [egs] fix sorting issue in aishell v1 (kaldi-asr#2705)

* [egs] Add soft links for CNN+TDNN scripts (kaldi-asr#2715)

* [build] Add missing packages in extras/check_dependencies.sh (kaldi-asr#2719)

* [egs] madcat arabic: clean scripts, tuning, use 6-gram LM (kaldi-asr#2718)

* [egs] Update WSJ run.sh: comment out outdated things, add run_tdnn.sh. (kaldi-asr#2723)

* [scripts,src] Fix potential issue in scripts; minor fixes. (kaldi-asr#2724)

The use of split() in latin-1 encoding (which might be used for other ASCII-compatible encoded data like utf-8) is not right because character 160 (expressed here in decimal) is a NBSP in latin-8 encoding and is also in the range UTF-8 uses for encoding. The same goes for strip().  Thanks @ChunChiehChang for finding the issue.

* [egs] add example script for RNNLM lattice rescoring for WSJ recipe (kaldi-asr#2727)

* [egs] add rnnlm example on tedlium+lm1b; add rnnlm rescoring results (kaldi-asr#2248)

* [scripts] Small fix to utils/data/convert_data_dir_to_whole.sh (RE backups) (kaldi-asr#2735)

* [src] fix memory bug in kaldi::~LatticeFasterDecoderTpl(), (kaldi-asr#2737)

- found it when running 'latgen-faster-mapped-parallel',
- core-dumps from the line: decoder/lattice-faster-decoder.cc:52
-- the line is doing 'delete &(FST*)', i.e. deleting the pointer to FST, instead of deleting the FST itslef,
-- bug was probably introduced by refactoring commit d0c68a6 from 2018-09-01,
-- after the change the code runs fine... (the unit tests for src/decoder are missing)

* [egs] Remove per-utt option from nnet3/align scripts (kaldi-asr#2717)

* [egs] Small Librispeech example fix, thanks: Yasasa Tennakoon. (kaldi-asr#2738)

* [egs] Aishell2 recipe: turn off jieba's new word discovery in word segmentation (kaldi-asr#2740)

* [egs] Add missing file local/join_suffix.py in TEDLIUM s5_r3; thx:anand@sayint.ai (kaldi-asr#2741)

* [egs,scripts] Add Tunisian Arabic (MSA) recipe; cosmetic fixes to pbs.pl (kaldi-asr#2725)

* [scripts] Fix missing import in utils/langs/grammar/augment_words_txt.py (kaldi-asr#2742)

* [scripts] Fix build_const_arpa_lm.sh w.r.t.  where <s> appears inside words (kaldi-asr#2745)

* [scripts] Slight improvements to decode_score_fusion.sh usability (kaldi-asr#2746)

* [build] update configure to support cuda 10 (kaldi-asr#2747)

* [scripts] Fix bug in utils/data/resample_data_dir.sh (kaldi-asr#2749)

* [scripts] Fix bug in cleanup after steps/cleanup/clean_and_segment_data*.sh (kaldi-asr#2750)

* [egs] several updates of the tunisian_msa recipe  (kaldi-asr#2752)

* [egs] Small fix to Tunisian MSA TDNN script (RE train_stage) (kaldi-asr#2757)

* [src,scripts] Batched nnet3 computation (kaldi-asr#2726)

This PR adds the underlying utilities for much faster nnet3 inference on GPU, and a command-line binary (and script support) for nnet3 decoding and posterior computation.  TBD: a binary for x-vector computation.  This PR also contains unrelated decoder speedups (skipping range checks for transition ids... this may cause segfaults when graphs are mismatched).

* [build] Add python3 compatibility to install scripts (kaldi-asr#2748)

* [scripts] tfrnnlm: Modify TensorFlow flag format for compatibility with recent versions (kaldi-asr#2760)

* [egs] fix old style perl regex in egs/chime1/s5/local/chime1_prepare_data.sh (kaldi-asr#2762)

* [scripts] Fix bug in steps/cleanup/debug_lexicon.sh (kaldi-asr#2763)

* [egs] Add example for Yomdle Farsi OCR (kaldi-asr#2702)

* [scripts] debug_lexicon.sh: Fix bug introduced in kaldi-asr#2763. (kaldi-asr#2764)

* [egs] add missing online cmvn config in aishell2 (kaldi-asr#2767)

* [egs] Add CNN-TDNN-F script for Librispeech (kaldi-asr#2744)

* [src] Some minor cleanup/fixes regarding CUDA memory allocation; other small fixes. (kaldi-asr#2768)

* [scripts] Update reverberate_data_dir.py so that it works with python3 (kaldi-asr#2771)

* [egs] Chime5: fix total number of words for WER calculation  (kaldi-asr#2772)

* [egs] RNNLMs on Tedlium w/ Google 1Bword: Increase epochs, update results (kaldi-asr#2775)

* [scripts,egs] Added phonetisaurus-based g2p scripts (kaldi-asr#2730)

Phonetisaurus is much faster to train then sequitur.

* [egs] madcat arabic: clean scripts, tuning, rescoring, text localization (kaldi-asr#2716)

* [scripts] Enhancements & minor bugfix to segmentation postprocessing (kaldi-asr#2776)

* [src] Update gmm-decode-simple to accept ConstFst (kaldi-asr#2787)

* [scripts] Update documentation of train_raw_dnn.py (kaldi-asr#2785)

* [src] nnet3: extend what descriptors can be parsed. (kaldi-asr#2780)

* [src] Small fix to 'fstrand' (make sure args are parsed) (kaldi-asr#2777)

* [src,scripts] Minor, mostly cosmetic updates (kaldi-asr#2788)

* [src,scripts] Add script to compare alignment directories. (kaldi-asr#2765)

* [scripts] Small fixes to script usage messages, etc. (kaldi-asr#2789)

* [egs] Update ami_download.sh after changes on Edinburgh website. (kaldi-asr#2769)

* [scripts] Update compare_alignments.sh to allow different lang dirs. (kaldi-asr#2792)

* [scripts] Change make_rttm.py so output is in determinstic order (kaldi-asr#2794)

* [egs] Fixes to yomdle_zh RE encoding direction, etc. (kaldi-asr#2791)

* [src] Add support for context independent phones in gmm-init-biphone (for e2e) (kaldi-asr#2779)

* [egs] Simplifying multi-condition version of AMI recipe (kaldi-asr#2800)

* [build] Fix openblas build for aarch64 (kaldi-asr#2806)

* [build] Make CUDA_ARCH configurable at configure-script level (kaldi-asr#2807)

* [src] Print maximum memory stats in CUDA allocator (kaldi-asr#2799)

* [src,scripts] Various minor code cleanups (kaldi-asr#2809)

* [scripts] Fix handling of UTF-8 in filenames, in wer_per_spk_details.pl (kaldi-asr#2811)

* [egs] Update AMI chain recipes (kaldi-asr#2817)

* [egs] Improvements to multi_en tdnn-opgru/lstm recipes (kaldi-asr#2824)

* [scripts] Fix initial prob of silence when lexicon has silprobs.  Thx:@agurianov (kaldi-asr#2823)

* [scripts,src] Fix to multitask nnet3 training (kaldi-asr#2818); cosmetic code change. (kaldi-asr#2827)

* [scripts] Create shared versions of get_ctm_conf.sh, add get_ctm_conf_fast.sh (kaldi-asr#2828)

* [src] Use cuda streams in matrix library (kaldi-asr#2821)

* [egs] Add online-decoding recipe to aishell1 (kaldi-asr#2829)

* [egs] Add DIHARD 2018 diarization recipe. (kaldi-asr#2822)

* [egs] add nnet3 online result for aishell1 (kaldi-asr#2836)

* [scripts] RNNLM scripts: don't die when features.txt is not present (kaldi-asr#2837)

* [src] Optimize cuda allocator for multi-threaded case (kaldi-asr#2820)

* [build] Add cub library for cuda projects (kaldi-asr#2819)

not needed now but will be in future.

* [src] Make Cuda allocator statistics visible to program (kaldi-asr#2835)

* [src] Fix bug affecting scale in GeneralDropoutComponent (non-continuous case) (kaldi-asr#2815)

* [build] FIX kaldi-asr#2842: properly check $use_cuda against false. (kaldi-asr#2843)

* [doc] Add note about OOVs to data-prep. (kaldi-asr#2844)

* [scripts] Allow segmentation with nnet3 chain models (kaldi-asr#2845)

* [build] Remove -lcuda from cuda makefiles which breaks operation when no driver present (kaldi-asr#2851)

* [scripts] Fix error in analyze_lats.sh for long lattices (replace awk with perl) (kaldi-asr#2854)

* [egs] add rnnlm recipe for librispeech (kaldi-asr#2830)

* [build] change configure version from 9 to 10 (kaldi-asr#2853) (kaldi-asr#2855)

* [src] fixed compilation errors when built with --DOUBLE_PRECISION=1 (kaldi-asr#2856)

* [build] Clarify instructions if cub is not found (kaldi-asr#2858)

* [egs] Limit MFCC feature extraction job number in Dihard recipe (kaldi-asr#2865)

* [egs] Added Bentham handwriting recognition recipe (kaldi-asr#2846)

* [src] Share roots of different tones of phones aishell (kaldi-asr#2859)

* [egs] Fix path to sequitur in commonvoice egs (kaldi-asr#2868)

* [egs] Update reverb recipe (kaldi-asr#2753)

* [scripts] Fix error while analyzing lattice (parsing bugs) (kaldi-asr#2873)

* [src] Fix memory leak in OnlineCacheFeature; thanks @Worldexe (kaldi-asr#2872)

* [egs] TIMIT: fix mac compatibility of sed command (kaldi-asr#2874)

* [egs] mini_librispeech: fixing some bugs and limiting repeated downloads (kaldi-asr#2861)

* [src,scripts,egs] Speedups to GRU-based networks (special components) (kaldi-asr#2712)

* [src] Fix infinite recursion with -DDOUBLE_PRECISION=1. Thx: @hwiorn (kaldi-asr#2875) (kaldi-asr#2876)

* Revert "[src] Fix infinite recursion with -DDOUBLE_PRECISION=1. Thx: @hwiorn (kaldi-asr#2875) (kaldi-asr#2876)" (kaldi-asr#2877)

This reverts commit 84435ff.

* Revert "Revert "[src] Fix infinite recursion with -DDOUBLE_PRECISION=1. Thx: @hwiorn (kaldi-asr#2875) (kaldi-asr#2876)" (kaldi-asr#2877)" (kaldi-asr#2878)

This reverts commit b196b7f.

* Revert "[src] Fix memory leak in OnlineCacheFeature; thanks @Worldexe" (kaldi-asr#2882)

the fix was buggy.  apologies.

* [src] Remove unused code that caused Windows compile failure.  Thx:@btiplitz (kaldi-asr#2881)

* [src] Really fix memory leak in online decoding; thx:@Worldexe (kaldi-asr#2883)

* [src] Fix Windows cuda build failure (use C++11 standard include) (kaldi-asr#2880)

* [src] Add #include that caused build failure on Windows (kaldi-asr#2886)

* [scripts] Fix max duration check in sad_to_segments.py (kaldi-asr#2889)

* [scripts] Fix speech duration calculation in sad_to_segments.py (kaldi-asr#2891)

* [src] Fix Windows build problem (timer.h) (kaldi-asr#2888)

* [egs] add HUB4 spanish tdnn-f and cnn-tdnn script (kaldi-asr#2895)

* [egs] Fix Aishell2 dict prepare bug; should not affect results (kaldi-asr#2890)

* [egs] Self-contained example for KWS for mini_librispeech (kaldi-asr#2887)

* [egs,scripts] Fix bugs in Dihard 2018 (kaldi-asr#2897)

* [scripts] Check last character of files to match with newline (kaldi-asr#2898)

* [egs] Update Librispeech RNNLM results; use correct training data (kaldi-asr#2900)

* [scripts] RNNLM: old iteration model cleanup; save space (kaldi-asr#2885)

* [scripts] Make prepare_lang.sh cleanup beforehand (prevents certain failures) (kaldi-asr#2906)

* [scripts] Expose dim-range-node at xconfig level (kaldi-asr#2903)

* [scripts] Fix bug related to multi-task in train_raw_rnn.py (kaldi-asr#2907)

[scripts] Fix bug related to multi-task in train_raw_rnn.py. Thx:tessfu2001@gmail.com

* [scripts] Cosmetic fix/clarification to utils/prepare_lang.sh (kaldi-asr#2912)

* [scripts,egs] Added a new lexicon learning (adaptation) recipe for tedlium, in accordance with the IS17 paper. (kaldi-asr#2774)

* [egs] TDNN+LSTM example scripts, with RNNLM, for Librispeech (kaldi-asr#2857)

* [src] cosmetic fix in nnet1 code (kaldi-asr#2921)

* [src] Fix incorrect invocation of mutex in nnet-batch-compute code (kaldi-asr#2932)

* [egs,minor] Fix typo in comment in voxceleb script (kaldi-asr#2926)

* [src,egs] Mostly cosmetic changes; add some missing includes (kaldi-asr#2936)

* [egs] Fix path of rescoring binaries used in tfrnnlm scripts (kaldi-asr#2941)

* [src] Fix bug in nnet3-latgen-faster-batch for determinize=false (kaldi-asr#2945)

thx: Maxim Korenevsky.

* [egs] Add example for rimes handwriting database; Madcat arabic script cleanup  (kaldi-asr#2935)

* [egs] Add scripts for yomdle korean (kaldi-asr#2942)

* [build] Refactor/cleanup build system, easier build on ubuntu 18.04. (kaldi-asr#2947)

note: if this breaks someone's build we'll have to debug it then.

* [scripts,egs] Changes for Python 2/3 compatibility (kaldi-asr#2925)

* [egs] Add more modern DNN recipe for fisher_callhome_spanish (kaldi-asr#2951)

* [scripts] switch from bc to perl to reduce dependencies (diarization scripts) (kaldi-asr#2956)

* [scripts] Further fix for Python 2/3 compatibility  (kaldi-asr#2957)

* [egs] Remove no-longer-existing option in tedlium_r3 recipe (kaldi-asr#2959)

* [build] Handle dependencies for .cu files in addition to .cc files (kaldi-asr#2944)

* [src] remove duplicate test mode option from class GeneralDropoutComponent (kaldi-asr#2960)

* [egs] Fix minor bugs in WSJ's flat-start/e2e recipe (kaldi-asr#2968)

* [egs] Fix to BSD compatibility of TIMIT data prep (kaldi-asr#2966)

* [scripts] Fix RNNLM training script problem (chunk_length was ignored) (kaldi-asr#2969)

* [src] Fix bug in lattice-1best.cc RE removing insertion penalty (kaldi-asr#2970)

* [src] Compute a separate avg (start, end) interval for each sausage word (kaldi-asr#2972)

* [build] Move nvcc verbose flag to proper location (kaldi-asr#2962)

* [egs] Fix mini_librispeech download_lm.sh crash; thx:chris.keith.johnson@gmail.com (kaldi-asr#2974)

* [egs] minor fixes related to python2 vs python3 differences (kaldi-asr#2977)

* [src] Small fix in test code, avoid spurious failure (kaldi-asr#2978)

* [egs] Fix CSJ data-prep; minor path fix for USB version of data (kaldi-asr#2979)

* [egs] Add paper ref to README.txt in reverb example (kaldi-asr#2982)

* [egs] Minor fixes to sitw recipe (fix problem introdueced in kaldi-asr#2925) (kaldi-asr#2985)

* [scripts]  Fix bug introduced in kaldi-asr#2957, RE integer division (kaldi-asr#2986)

* [egs] Update WSJ flat-start chain recipes to use TDNN-F not TDNN+LSTM (kaldi-asr#2988)

* [scripts] Fix typo introduced in kaldi-asr#2925 (kaldi-asr#2989)

* [build] Modify Makefile and travis script to fix Travis failures (kaldi-asr#2987)

* [src] Simplification and efficiency improvement in ivector-plda-scoring-dense (kaldi-asr#2991)

* [egs] Update madcat Arabic and Chinese egs, IAM (kaldi-asr#2964)

* [src] Fix overflow bug in convolution code (kaldi-asr#2992)

* [src] Fix nan issue in ctm times introduced in kaldi-asr#2972, thx: @vesis84 (kaldi-asr#2993)

* [src] Fix 'sausage-time' issue which occurs with disabled MBR decoding. (kaldi-asr#2996)

* [egs] Add scripts for yomdle Russian (OCR task) (kaldi-asr#2953)

* [egs] Simplify lexicon preparation in Fisher callhome Spanish (kaldi-asr#2999)

* [egs] Update GALE Arabic recipe (kaldi-asr#2934)

* [egs] Remove outdated NN results from Gale Arabic recipe (kaldi-asr#3002)

* [egs] Add RESULTS file for the tedlium s5_r3 (release 3) setup (kaldi-asr#3003)

* [src] Fixes to grammar-fst code to handle LM-disambig symbols properly (kaldi-asr#3000)

thanks: armando.muscariello@gmail.com

* [src] Cosmetic change to mel computation (fix option string) (kaldi-asr#3011)

* [src] Fix Visual Studio error due to alternate syntactic form of noreturn (kaldi-asr#3018)

* [egs] Fix location of sequitur installation (kaldi-asr#3017)

* [src] Fix w/ ifdef Visual Studio error from alternate syntactic form noreturn (kaldi-asr#3020)

* [egs] Some fixes to getting data in heroico recipe (kaldi-asr#3021)

* [egs] BABEL script fix: avoid make_L_align.sh generating invalid files (kaldi-asr#3022)

* [src] Fix to older online decoding code in online/ (OnlineFeInput; was broken by commit cc2469e). (kaldi-asr#3025)

* [script] Fix unset bash variable in make_mfcc.sh (kaldi-asr#3030)

* [scripts]  Extend limit_num_gpus.sh to support --num-gpus 0.  (kaldi-asr#3027)

* [scripts] fix bug in utils/add_lex_disambig.pl when sil-probs and pron-probs used (kaldi-asr#3033)

bug would likely have resulted in determinization failure (only when not using word-position-dependent phones).

* [egs] Fix path in Tedlium r3 rnnlm training script (kaldi-asr#3039)

* [src] Thread-safety for GrammarFst (thx:armando.muscariello@gmail.com) (kaldi-asr#3040)

* [scripts] Cosmetic fix to get_degs.sh (kaldi-asr#3045)

* [egs] Small bug fixes for IAM and UW3 recipes (kaldi-asr#3048)

* [scripts] Nnet3 segmentation: fix default params (kaldi-asr#3051)

* [scripts] Allow perturb_data_dir_speed.sh to work with utt2lang (kaldi-asr#3055)

* [scripts] Make beam in monophone training configurable  (kaldi-asr#3057)

* [scripts] Allow reverberate_data_dir.py to support unicode filenames (kaldi-asr#3060)

* [scripts] Make some cleanup scripts work with python3 (kaldi-asr#3054)

* [scripts] bug fix to nnet2->3 conversion, fixes kaldi-asr#886 (kaldi-asr#3071)

* [src] Make copies occur in per-thread default stream (for GPUs)  (kaldi-asr#3068)

* [src] Add GPU version of MergeTaskOutput().. relates to batch decoding (kaldi-asr#3067)

* [src] Add device options to enable tensor core math mode. (kaldi-asr#3066)

* [src] Log nnet3 computation to VLOG, not std::cout (kaldi-asr#3072)

* [src] Allow upsampling in compute-mfcc-feats, etc. (kaldi-asr#3014)

* [src] fix problem with rand_r being undefined on Android (kaldi-asr#3037)

* [egs] Update swbd1_map_words.pl, fix them_1's -> them's (kaldi-asr#3052)

* [src] Add const overload OnlineNnet2FeaturePipeline::IvectorFeature (kaldi-asr#3073)

* [src] Fix syntax error in egs/bn_music_speech/v1/local/make_musan.py (kaldi-asr#3074)

* [src] Memory optimization for online feature extraction of long recordings (kaldi-asr#3038)

* [build] fixed a bug in linux_configure_redhat_fat when use_cuda=no (kaldi-asr#3075)

* [scripts] Add missing '. ./path.sh' to get_utt2num_frames.sh (kaldi-asr#3076)

* [src,scripts,egs] Add count-based biphone tree tying for flat-start chain training (kaldi-asr#3007)

* [scripts,egs] Remove sed from various scripts (avoid compatibility problems)  (kaldi-asr#2981)

* [src] Rework error logging for safety and cleanliness (kaldi-asr#3064)

* [src] Change warp-synchronous to cub::BlockReduce (safer but slower) (kaldi-asr#3080)

* [src] Fix && and || uses where & and | intended, and other weird errors (kaldi-asr#3087)

* [build] Some fixes to Makefiles (kaldi-asr#3088)

clang is unhappy with '-rdynamic' in compile-only step, and the
switch is really unnecessary.

Also, the default location for MKL 64-bit libraries is intel64/.
The em64t/ was explained already obsolete by an Intel rep in 2010:
https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/285973

* [src] Fixed -Wreordered warnings in feat (kaldi-asr#3090)

* [egs] Replace bc with perl -e (kaldi-asr#3093)

* [scripts] Fix python3 compatibility issue in data-perturbing script (kaldi-asr#3084)

* [doc] fix some typos in doc. (kaldi-asr#3097)

* [build] Make sure expf() speed probe times sensibly (kaldi-asr#3089)

* [scripts] Make sure merge_targets.py works in python3 (kaldi-asr#3094)

* [src] ifdef to fix compilation failure on CUDA 8 and earlier (kaldi-asr#3103)

* [doc] fix typos and broken links in doc. (kaldi-asr#3102)

* [scripts] Fix frame_shift bug in egs/swbd/s5c/local/score_sclite_conf.sh (kaldi-asr#3104)

* [src] Fix wrong assertion failure in nnet3-am-compute (kaldi-asr#3106)

* [src] Cosmetic changes to natural-gradient code (kaldi-asr#3108)

* [src,scripts] Python2 compatibility fixes and code cleanup for nnet1 (kaldi-asr#3113)

* [doc] Small documentation fixes; update on Kaldi history (kaldi-asr#3031)

* [src] Various mostly-cosmetic changes (copying from another branch) (kaldi-asr#3109)

* [scripts]  Simplify text encoding in RNNLM scripts (now only support utf-8) (kaldi-asr#3065)

* [egs] Add "formosa_speech" recipe (Taiwanese Mandarin ASR) (kaldi-asr#2474)

* [egs] python3 compatibility in csj example script (kaldi-asr#3123)

* [egs] python3 compatibility in example scripts (kaldi-asr#3126)

* [scripts] Bug-fix for removing deleted words (kaldi-asr#3116)

The type of --max-deleted-words-kept-when-merging in segment_ctm_edits.py
was a string, which prevented the mechanism from working altogether.

* [scripts] Add fix regarding num-jobs for segment_long_utterances*.sh(kaldi-asr#3130)

* [src] Enable allow_{upsample,downsample} with online features (kaldi-asr#3139)

* [src] Fix bad assert in fstmakecontextsyms (kaldi-asr#3142)

* [src] Fix to "Fixes to grammar-fst & LM-disambig symbols" (kaldi-asr#3000) (kaldi-asr#3143)

* [build] Make sure PaUtils exported from portaudio (kaldi-asr#3144)

* [src] cudamatrix: fixing a synchronization bug in 'normalize-per-row' (kaldi-asr#3145)

was only apparent using large matrices

* [src] Fix typo in comment (kaldi-asr#3147)

* [src] Add binary that functions as a TCP server (kaldi-asr#2938)

* [scripts] Fix bug in comment (kaldi-asr#3152)

* [scripts] Fix bug in steps/segmentation/ali_to_targets.sh (kaldi-asr#3155)

* [scripts] Avoid holding out more data than the requested num-utts (due to utt2uniq) (kaldi-asr#3141)

* [src,scripts] Add support for two-pass agglomerative clustering. (kaldi-asr#3058)

* [src] Disable unget warning in PeekToken (and other small fix) (kaldi-asr#3163)

* [build] Add new nvidia tools to windows build (kaldi-asr#3159)

* [doc] Fix documentation errors and add more docs for tcp-server decoder  (kaldi-asr#3164)
@lalimili6 lalimili6 mentioned this pull request Aug 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants