Repolode
k2-fsa

k2-fsa/sherpa

A PyTorch-based speech-to-text inference framework for deploying pre-trained transducer and CTC end-to-end ASR models, with C++ and Python APIs.

Stars
1,011
Forks
152
Open issues
110
Last commit
15 hours ago

What is it?

sherpa is an inference framework for speech recognition built on PyTorch. It focuses exclusively on end-to-end models, namely transducer-based and CTC-based architectures, and is aimed at deployment: running pre-trained models to transcribe speech rather than training them.

The project provides both C++ and Python APIs. It is part of the next-gen Kaldi ecosystem, and training or fine-tuning is handled by the separate icefall project. A WebSocket-based server is included for serving recognition over the network.

For deployments that should not depend on PyTorch, the same authors maintain sherpa-onnx and sherpa-ncnn, which also target iOS, Android and embedded systems.

Key features

  • 01Supports transducer- and CTC-based end-to-end speech recognition models.
  • 02Provides both C++ and Python APIs.
  • 03Includes a WebSocket server for network-based transcription.
  • 04Built on PyTorch for running pre-trained models.

Use cases

  • Deploying a pre-trained speech recognition model as a streaming service over WebSocket.
  • Adding offline or online speech-to-text to a Python or C++ application.
  • Comparing a PyTorch-based deployment path against the ONNX or ncnn variants from the same project family.

Quick start

  1. 1

    Open the documentation for installation and usage instructions

  2. 2

    Or try it in the browser without installing anything

Things to know

  • It focuses only on transducer and CTC end-to-end models, not other model types.
  • It is for deployment and inference only; training or fine-tuning requires the separate icefall project.

Topics

FAQ

What is sherpa?
A PyTorch-based speech-to-text inference framework for deploying pre-trained transducer and CTC end-to-end ASR models, with C++ and Python APIs. sherpa is an inference framework for speech recognition built on PyTorch. It focuses exclusively on end-to-end models, namely transducer-based and CTC-based architectures, and is aimed at deployment: running pre-trained models to transcribe speech rather than training them.
Is sherpa free to use? What license does it have?
sherpa is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is sherpa still maintained?
Actively maintained. The last commit to sherpa was on Oct 20, 2026.
What can I use sherpa for?
Deploying a pre-trained speech recognition model as a streaming service over WebSocket. Adding offline or online speech-to-text to a Python or C++ application. Comparing a PyTorch-based deployment path against the ONNX or ncnn variants from the same project family.
How do I install sherpa?
Open the documentation for installation and usage instructions Or try it in the browser without installing anything
Where can I get sherpa?
The source code and installation instructions are on GitHub: https://github.com/k2-fsa/sherpa

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects