Thread-safe concurrent queue to process each audio stream separately.
N-best alternatives with LM and AM costs.
Word level timing and confidence scores.
Getting Started
Setup
Make sure you have gRPC, protobuf and Boost C++ libraries installed on your system. Kaldi also needs to be present and built. Let's build the server:
make KALDI_ROOT=/path/to/local/repo/for/kaldi/ -j8
Run make clean to clear old build files.
Running the server
For running the server, you need to first specify model config in a toml which tells the program which models to load, where to look for etc. Structure of model_spec_toml file is specified in a sample in resources.
# Make sure to have kaldi and openfst library available using LD_LIBRARY_PATH or something# e.g. env LD_LIBRARY_PATH=../../asr/kaldi/tools/openfst/lib/:../../asr/kaldi/src/lib/ ./build/kaldi_serve_app# Alternatively, you can also put all the required .so files in the ./lib/ directory since# that is added to the binary's rpath../build/kaldi_serve_app --help
Kaldi gRPC server
Usage: ./build/kaldi_serve_app [OPTIONS] model_spec_toml
Positionals:
model_spec_toml TEXT:FILE REQUIRED
Path to toml specifying models to load
Options:
-h,--help Print this help message and exit
-v,--version Show program version and exit
Clients
For simple microphone testing, you can do something like the following (needs evans installed):