-
Notifications
You must be signed in to change notification settings - Fork 1.9k
SpeechX Architecture
Hui Zhang edited this page Jan 10, 2023
·
11 revisions
The layout structure is as follows:
speechx/
├── base
│ ├── basic_types.h
│ ├── common.h
│ ├── flags.h
│ ├── log.h
│ ├── macros.h
│ └── thread_pool.h
├── CMakeLists.txt
├── codelab
│ └── feat_test
│ └── frontend_main.cc
├── decoder
│ ├── CMakeLists.txt
│ ├── common.h
│ ├── ctc_beam_search_decoder.cc
│ ├── ctc_beam_search_decoder.h
│ ├── ctc_decoders -> ../../../third_party/ctc_decoders
│ ├── ctc_tlg_decoder.cc
│ ├── ctc_tlg_decoder.h
│ ├── param.h
│ ├── recognizer.cc
│ └── recognizer.h
├── frontend
│ ├── audio
│ │ ├── audio_cache.cc
│ │ ├── audio_cache.h
│ │ ├── CMakeLists.txt
│ │ ├── cmvn.cc
│ │ ├── cmvn.h
│ │ ├── data_cache.h
│ │ ├── db_norm.cc
│ │ ├── db_norm.h
│ │ ├── fbank.cc
│ │ ├── fbank.h
│ │ ├── feature_cache.cc
│ │ ├── feature_cache.h
│ │ ├── feature_pipeline.cc
│ │ ├── feature_pipeline.h
│ │ ├── frontend_itf.h
│ │ ├── linear_spectrogram.cc
│ │ ├── linear_spectrogram.h
│ │ ├── mel-computations.cc
│ │ ├── mel-computations.h
│ │ ├── mfcc.cc
│ │ ├── mfcc.h
│ │ └── normalizer.h
│ ├── CMakeLists.txt
│ └── text
│ └── CMakeLists.txt
├── kaldi
│ ├── base
│ │ ├── CMakeLists.txt
│ │ ├── io-funcs.cc
│ │ ├── io-funcs.h
│ │ ├── io-funcs-inl.h
│ │ ├── kaldi-common.h
│ │ ├── kaldi-error.cc
│ │ ├── kaldi-error.h
│ │ ├── kaldi-math.cc
│ │ ├── kaldi-math.h
│ │ ├── kaldi-types.h
│ │ ├── kaldi-utils.cc
│ │ ├── kaldi-utils.h
│ │ ├── timer.cc
│ │ ├── timer.h
│ │ └── version.h
│ ├── CMakeLists.txt
│ ├── decoder
│ │ ├── CMakeLists.txt
│ │ ├── decodable-itf.h
│ │ ├── lattice-faster-decoder.cc
│ │ ├── lattice-faster-decoder.h
│ │ ├── lattice-faster-online-decoder.cc
│ │ └── lattice-faster-online-decoder.h
│ ├── feat
│ │ ├── CMakeLists.txt
│ │ ├── cmvn.cc
│ │ ├── cmvn.h
│ │ ├── feature-common.h
│ │ ├── feature-common-inl.h
│ │ ├── feature-fbank.cc
│ │ ├── feature-fbank.h
│ │ ├── feature-functions.cc
│ │ ├── feature-functions.h
│ │ ├── feature-mfcc.cc
│ │ ├── feature-mfcc.h
│ │ ├── feature-plp.cc
│ │ ├── feature-plp.h
│ │ ├── feature-spectrogram.cc
│ │ ├── feature-spectrogram.h
│ │ ├── feature-window.cc
│ │ ├── feature-window.h
│ │ ├── mel-computations.cc
│ │ ├── mel-computations.h
│ │ ├── online-feature.cc
│ │ ├── online-feature.h
│ │ ├── pitch-functions.cc
│ │ ├── pitch-functions.h
│ │ ├── resample.cc
│ │ ├── resample.h
│ │ ├── signal.cc
│ │ ├── signal.h
│ │ ├── wave-reader.cc
│ │ └── wave-reader.h
│ ├── fstbin
│ │ ├── CMakeLists.txt
│ │ ├── fstaddselfloops.cc
│ │ ├── fstdeterminizestar.cc
│ │ ├── fstisstochastic.cc
│ │ ├── fstminimizeencoded.cc
│ │ └── fsttablecompose.cc
│ ├── fstext
│ │ ├── CMakeLists.txt
│ │ ├── determinize-lattice.h
│ │ ├── determinize-lattice-inl.h
│ │ ├── determinize-star.h
│ │ ├── determinize-star-inl.h
│ │ ├── fstext-lib.h
│ │ ├── fstext-utils.h
│ │ ├── fstext-utils-inl.h
│ │ ├── kaldi-fst-io.cc
│ │ ├── kaldi-fst-io.h
│ │ ├── kaldi-fst-io-inl.h
│ │ ├── lattice-utils.h
│ │ ├── lattice-utils-inl.h
│ │ ├── lattice-weight.h
│ │ ├── pre-determinize.h
│ │ ├── pre-determinize-inl.h
│ │ ├── remove-eps-local.h
│ │ ├── remove-eps-local-inl.h
│ │ └── table-matcher.h
│ ├── lat
│ │ ├── CMakeLists.txt
│ │ ├── determinize-lattice-pruned.cc
│ │ ├── determinize-lattice-pruned.h
│ │ ├── kaldi-lattice.cc
│ │ ├── kaldi-lattice.h
│ │ ├── lattice-functions.cc
│ │ └── lattice-functions.h
│ ├── lm
│ │ ├── arpa-file-parser.cc
│ │ ├── arpa-file-parser.h
│ │ ├── arpa-lm-compiler.cc
│ │ ├── arpa-lm-compiler.h
│ │ └── CMakeLists.txt
│ ├── lmbin
│ │ ├── arpa2fst.cc
│ │ └── CMakeLists.txt
│ ├── matrix
│ │ ├── cblas-wrappers.h
│ │ ├── CMakeLists.txt
│ │ ├── compressed-matrix.cc
│ │ ├── compressed-matrix.h
│ │ ├── jama-eig.h
│ │ ├── jama-svd.h
│ │ ├── kaldi-blas.h
│ │ ├── kaldi-matrix.cc
│ │ ├── kaldi-matrix.h
│ │ ├── kaldi-matrix-inl.h
│ │ ├── kaldi-vector.cc
│ │ ├── kaldi-vector.h
│ │ ├── kaldi-vector-inl.h
│ │ ├── matrix-common.h
│ │ ├── matrix-functions.cc
│ │ ├── matrix-functions.h
│ │ ├── matrix-functions-inl.h
│ │ ├── matrix-lib.h
│ │ ├── optimization.cc
│ │ ├── optimization.h
│ │ ├── packed-matrix.cc
│ │ ├── packed-matrix.h
│ │ ├── qr.cc
│ │ ├── sparse-matrix.cc
│ │ ├── sparse-matrix.h
│ │ ├── sp-matrix.cc
│ │ ├── sp-matrix.h
│ │ ├── sp-matrix-inl.h
│ │ ├── srfft.cc
│ │ ├── srfft.h
│ │ ├── tp-matrix.cc
│ │ └── tp-matrix.h
│ └── util
│ ├── basic-filebuf.h
│ ├── CMakeLists.txt
│ ├── common-utils.h
│ ├── const-integer-set.h
│ ├── const-integer-set-inl.h
│ ├── edit-distance.h
│ ├── edit-distance-inl.h
│ ├── hash-list.h
│ ├── hash-list-inl.h
│ ├── kaldi-cygwin-io-inl.h
│ ├── kaldi-holder.cc
│ ├── kaldi-holder.h
│ ├── kaldi-holder-inl.h
│ ├── kaldi-io.cc
│ ├── kaldi-io.h
│ ├── kaldi-io-inl.h
│ ├── kaldi-pipebuf.h
│ ├── kaldi-semaphore.cc
│ ├── kaldi-semaphore.h
│ ├── kaldi-table.cc
│ ├── kaldi-table.h
│ ├── kaldi-table-inl.h
│ ├── kaldi-thread.cc
│ ├── kaldi-thread.h
│ ├── options-itf.h
│ ├── parse-options.cc
│ ├── parse-options.h
│ ├── simple-io-funcs.cc
│ ├── simple-io-funcs.h
│ ├── simple-options.cc
│ ├── simple-options.h
│ ├── stl-utils.h
│ ├── table-types.h
│ ├── text-utils.cc
│ └── text-utils.h
├── model
│ └── CMakeLists.txt
├── nnet
│ ├── CMakeLists.txt
│ ├── decodable.cc
│ ├── decodable.h
│ ├── nnet_itf.h
│ ├── paddle_nnet.cc
│ └── paddle_nnet.h
├── protocol
│ └── CMakeLists.txt
├── third_party
│ ├── CMakeLists.txt
│ └── README.md
├── utils
│ ├── CMakeLists.txt
│ ├── file_utils.cc
│ ├── file_utils.h
│ ├── ring_buffer.cc
│ ├── ring_buffer.h
│ ├── simdjson.cpp
│ └── simdjson.h
└── websocket
├── CMakeLists.txt
├── websocket_client.cc
├── websocket_client.h
├── websocket_server.cc
└── websocket_server.h
- gflag,glog,gtest:openfst 使用的是 gflag/glog。
- utils: absl-cpp
- config:使用 kaldi config
- threadpool: https://github.com/progschj/ThreadPool
- decoder:支持wfst解码,ctc beam search.
- frontend:模块组件化(方便定制新组件),流式级联(便于插入和按需组合),feature extractor进行抽象。目前支持 linear feature和fbank,与paddlespeech python端对齐。
- nnet:支持 deepspeech2 model。
- websocket:网络模块。
- examples: 使用实例,与speechx目录平级。