LiveKit Agents plugin for Gnani Vachana speech AI — STT & TTS for Indian languages
Project description
livekit-plugins-gnani
LiveKit Agents plugin for Gnani Vachana — high-accuracy Speech-to-Text and low-latency Text-to-Speech for Indian languages.
Vachana is a production-ready speech AI platform by Gnani.ai supporting 10+ Indian languages with real-time streaming, multilingual transcription, and code-switching capabilities.
Installation
pip install livekit-plugins-gnani
This will also install the gnani-vachana core SDK as a dependency.
Prerequisites
You need a Gnani API key. Email speechstack@gnani.ai to get started — all new accounts receive free credits, no credit card required.
Set your credentials as environment variables:
export GNANI_API_KEY="your-api-key"
# For REST STT only (optional):
export GNANI_ORGANIZATION_ID="your-org-id"
export GNANI_USER_ID="your-user-id"
Quick Start
Speech-to-Text
from livekit.plugins.gnani import STT
stt = STT(language="hi-IN")
# Use with a LiveKit voice agent pipeline
Text-to-Speech
from livekit.plugins.gnani import TTS
tts = TTS(voice="sia")
# Use with a LiveKit voice agent pipeline
Features
STT
- Batch recognition — REST API (
POST /stt/v3) for file-based transcription - Real-time streaming — WebSocket API for live audio transcription with VAD
- 10 Indian languages — bn-IN, en-IN, gu-IN, hi-IN, kn-IN, ml-IN, mr-IN, pa-IN, ta-IN, te-IN
- Code-switching — Hinglish (en-hi-IN-latn) and Hindi-English mixed (en-hi-in-cm) for streaming
- Sample rates — 8 kHz and 16 kHz
TTS
- Chunked synthesis — REST API for single-request audio generation
- Real-time streaming — WebSocket API for low-latency streaming synthesis
- 8 voices — sia, raju, kanika, nikita, ravan, simran, karan, neha
- Configurable output — sample rate (8000–44100), encoding (linear_pcm, oggopus), container (raw, mp3, wav, mulaw, ogg)
Supported Languages
| Language | Code |
|---|---|
| Bengali | bn-IN |
| English (India) | en-IN |
| Gujarati | gu-IN |
| Hindi | hi-IN |
| Kannada | kn-IN |
| Malayalam | ml-IN |
| Marathi | mr-IN |
| Punjabi | pa-IN |
| Tamil | ta-IN |
| Telugu | te-IN |
Available Voices
| Voice | ID |
|---|---|
| Sia | sia |
| Raju | raju |
| Kanika | kanika |
| Nikita | nikita |
| Ravan | ravan |
| Simran | simran |
| Karan | karan |
| Neha | neha |
Architecture
gnani-vachana ← Core SDK (REST, WebSocket, SSE clients)
↑
livekit-plugins-gnani ← This package (LiveKit Agents adapter)
This plugin is a thin adapter that wraps the gnani-vachana SDK into LiveKit's stt.STT and tts.TTS base classes. All connection logic, authentication, and audio format handling lives in the core SDK.
Documentation
License
Apache 2.0 — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file livekit_plugins_gnani-0.2.0.tar.gz.
File metadata
- Download URL: livekit_plugins_gnani-0.2.0.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aff16ed4c60d00906e01e76f6114c0f94fb67a7d2ac720176e7af2afd99f0563
|
|
| MD5 |
52889703914907c01124651aa8a2b044
|
|
| BLAKE2b-256 |
2bcb0833a5ea925709d4d8cbf845a53f8784b005489163437e681949cb8ac7be
|
Provenance
The following attestation bundles were made for livekit_plugins_gnani-0.2.0.tar.gz:
Publisher:
workflow.yml on Gnani-AI-Mintlify/livekit-plugins-gnani
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
livekit_plugins_gnani-0.2.0.tar.gz -
Subject digest:
aff16ed4c60d00906e01e76f6114c0f94fb67a7d2ac720176e7af2afd99f0563 - Sigstore transparency entry: 1525214433
- Sigstore integration time:
-
Permalink:
Gnani-AI-Mintlify/livekit-plugins-gnani@01edaf72de2a9f39a5b37cb4df3622cc5b6d602f -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/Gnani-AI-Mintlify
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@01edaf72de2a9f39a5b37cb4df3622cc5b6d602f -
Trigger Event:
release
-
Statement type:
File details
Details for the file livekit_plugins_gnani-0.2.0-py3-none-any.whl.
File metadata
- Download URL: livekit_plugins_gnani-0.2.0-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57bd9b1002d742ce4fcc1b51e45b19cd97c129b2301fbf40dc89b5869a62f6d3
|
|
| MD5 |
b22a6320f1bdebbf7a45c0c02144e5ce
|
|
| BLAKE2b-256 |
527d1aa6ff6612bacb7bcdd0d08571757e36c75abca148f75d67fcb4694660e1
|
Provenance
The following attestation bundles were made for livekit_plugins_gnani-0.2.0-py3-none-any.whl:
Publisher:
workflow.yml on Gnani-AI-Mintlify/livekit-plugins-gnani
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
livekit_plugins_gnani-0.2.0-py3-none-any.whl -
Subject digest:
57bd9b1002d742ce4fcc1b51e45b19cd97c129b2301fbf40dc89b5869a62f6d3 - Sigstore transparency entry: 1525214460
- Sigstore integration time:
-
Permalink:
Gnani-AI-Mintlify/livekit-plugins-gnani@01edaf72de2a9f39a5b37cb4df3622cc5b6d602f -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/Gnani-AI-Mintlify
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@01edaf72de2a9f39a5b37cb4df3622cc5b6d602f -
Trigger Event:
release
-
Statement type: