Skip to main content

Sarvam AI Sarvam AI TTS

The SarvamTTSService provides high-quality speech synthesis for Indian languages. It supports multiple regional languages and offers both WebSocket-based streaming and standard HTTP interfaces.

Installation

To use Sarvam AI, install the required dependencies:

pip install "piopiy-ai[sarvam]"

Prerequisites

  • A Sarvam AI API key (Get yours here).
  • Set your API key in your environment:
    export SARVAM_API_KEY="your_api_key_here"

Configuration

SarvamTTSService (WebSocket) Parameters

ParameterTypeDefaultDescription
api_keystrRequiredYour Sarvam AI API key.
voice_idstr"anushka"Speaker voice ID (see below).
modelstr"bulbul:v2"Model ID (bulbul:v2, bulbul:v3).
paramsInputParamsNoneConfiguration parameters (see below).

InputParams Options

OptionTypeDefaultDescription
languageLanguageLanguage.ENTarget language (e.g., Language.HI).
pitchfloat0.0Voice pitch adjustment (-0.75 to 0.75).
pacefloat1.0Speech pace multiplier (0.3 to 3.0).
loudnessfloat1.0Volume multiplier (0.1 to 3.0).
temperaturefloat0.6Randomness for v3 models (0.01 to 1.0).

Usage

Basic Streaming Setup

import os
from piopiy.services.sarvam.tts import SarvamTTSService
from piopiy.transcriptions.language import Language

tts = SarvamTTSService(
api_key=os.getenv("SARVAM_API_KEY"),
voice_id="anushka",
params=SarvamTTSService.InputParams(
language=Language.HI # Hindi
)
)

Available Voices

GenderVoice IDs
Femaleanushka, manisha, vidya, arya
Maleabhilash, karun, hitesh

Notes

  • Language Support: Sarvam supports Bengali, English (India), Gujarati, Hindi, Kannada, Malayalam, Marathi, Odia, Punjabi, Tamil, and Telugu.
  • Model Versions: bulbul:v2 is the stable standard, while bulbul:v3 offers enhanced naturalness and lower latency.