/kaldi-serve

Server framework for Kaldi ASR Toolkit

Primary LanguageC++Apache License 2.0Apache-2.0

Kaldi-Serve

GitHub tag (latest by date) GitHub

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:

License

This project is licensed under the Apache License version 2.0. Please see LICENSE for more details.