kaldi-serve
kaldi-serve copied to clipboard
Server framework for Kaldi ASR Toolkit
Kaldi-Serve
A plug-and-play abstraction over Kaldi ASR toolkit, designed for ease of deployment and optimal runtime performance.
Key Features:
- Real-time streaming (uni & bi-directional) audio recognition.
- Thread-safe concurrent Decoder queue for server environments.
- RNNLM lattice rescoring.
- N-best alternatives with AM/LM costs, word-level timings and confidence scores.
- Easy extensibility for custom applications.
Installation
Dependencies
Make sure you have the following dependencies installed on your system before beginning the build process:
Build from Source
Let's build the shared library:
cd build/
cmake ..
make -j${nproc}
You will find the the built shared library in build/src/
to use for linking against custom applications.
Python bindings
We also provide python bindings for the library. You can find the build instructions here.
Docker Image
Using pre-built images
You can also pull a pre-built docker image from our Docker Hub repository:
docker pull vernacularai/kaldi-serve:latest
docker run -it -v /path/to/my/app:/home/app vernacularai/kaldi-serve:latest
You will find our headers in /usr/include/kaldiserve
and the shared library libkaldiserve.so
in /usr/local/lib
.
Building the image
You can build the docker image using the Dockerfile provided.
docker build -t kaldi-serve:lib .
Getting Started
Usage
You can include the headers and link the shared library you get after the build process, against your application and start using it.
Plugins
It's also worth noting that there are a few plugins we actively maintain and will keep adding to, that use the library:
- gRPC Server
License
This project is licensed under the Apache License version 2.0. Please see LICENSE for more details.