k2-fsa/sherpa-onnx

Speech-to-text, text-to-speech, speaker diarization, speech enhancement, source separation, and VAD using next-gen Kaldi with onnxruntime without Internet...

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 21 minutes ago
Added to GitGenius on September 4th, 2026
Created on September 1st, 2022
Open Issues & Pull Requests: 631 (+0)
GitHub issues: Enabled
Number of forks: 1,674
Total Stargazers: 14,654 (+0)
Total Subscribers: 120 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 476
New in 7 days: 9
Closed in 7 days: 8
Avg open age: 384 days
Stale 30+ days: 442
Stale 90+ days: 397

Recent activity

Opened in 7 days: 9
Closed in 7 days: 6
Comments in 7 days: 3
Events in 7 days: 4

Top labels

  • enhancement (60)
  • bug (57)
  • help wanted (22)
  • easy (12)
  • wontfix (8)
  • limited-information (7)
  • invalid (4)
  • no-plan (2)

Detailed Description

Sherpa-onnx is a speech processing framework that runs speech-to-text, text-to-speech, speaker diarization, speech enhancement, source separation, and voice activity detection locally using ONNX Runtime without requiring internet connectivity.

The tool solves the problem of deploying speech AI models on resource-constrained and embedded devices by packaging multiple speech tasks into a single framework built on next-generation Kaldi and ONNX Runtime. It operates entirely offline, making it suitable for privacy-sensitive applications and environments without reliable network access. The framework supports both streaming and non-streaming modes for speech recognition and includes additional capabilities like speaker identification, spoken language identification, keyword spotting, and audio tagging.

Adoption makes sense for teams building applications targeting embedded systems, mobile platforms, or edge devices where internet connectivity is unavailable or undesirable. The tool excels on Raspberry Pi, RISC-V architectures, and devices with specialized neural processing units from Rockchip, Qualcomm, Axera, and Ascend. It binds to twelve programming languages including C++, Python, JavaScript, Java, C#, Kotlin, Swift, Go, Dart, Rust, and Pascal, and provides pre-built demo applications for Flutter and Tauri frameworks. The broad platform support spans Android, iOS, HarmonyOS, Windows, macOS, and Linux across x64, x86, ARM64, ARM32, and RISC-V architectures, making it a practical choice when your target deployment spans multiple platforms and you need to avoid cloud dependencies.

The project maintains active development with regular updates to model support and platform coverage. The codebase shows consistent refinement across its C++ core and language bindings. Documentation is comprehensive, covering deployment scenarios from mobile applications to server-side WebSocket implementations. The community maintains an active Discord channel for user support and discussion.