File size: 7,921 Bytes
6fdbdf3 d023303 6fdbdf3 f6c7ece a439270 f6c7ece 6fdbdf3 f6c7ece 6fdbdf3 a439270 6fdbdf3 f6c7ece f4a1ce0 6fdbdf3 f6c7ece 6fdbdf3 f6c7ece a439270 6fdbdf3 f4a1ce0 4d28ffa f6c7ece 6fdbdf3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | # Ringg Squirrel TTS v1.0 API 🐿️
## 1. Overview
Squirrel TTS is Ringg’s low‑latency text‑to‑speech (TTS) engine.
This document explains how to call the **`generate_squirrel`** endpoint.
## 2. Endpoint Summary
- **cURL (basic example)**
```bash
curl --location 'https://prod-api2.desivocal.com/dv/api/v0/tts_api/generate_squirrel' --header 'Content-Type: application/json' --data '{
"text": "Hello दोस्तों! Welcome to Ringg TTS. यह एक बहुत ही शानदार text to speech system है जो Hindi और English दोनों languages को support करता है।",
"voice_id": "83ba74e4-9efb-4db3-913a-f2a0ad66904d"
}'
```
- **Method:** `POST`
- **URL:** `https://prod-api2.desivocal.com/dv/api/v0/tts_api/generate_squirrel`
- **Headers:** `Content-Type: application/json`
- **Request Body**
```json
{
"text": "Hello दोस्तों! Welcome to Ringg TTS. यह एक बहुत ही शानदार text to speech system है जो Hindi और English दोनों languages को support करता है।",
"voice_id": "83ba74e4-9efb-4db3-913a-f2a0ad66904d"
}
```
- **Field details**
| Field | Type | Required | Description |
|-----------|--------|----------|-----------------------------------------------------------------------------|
| `text` | string | Yes | Text you want to synthesize. Limited to **300** characters. |
| `voice_id`| string | Yes | **UUID** of the voice to use. Must match one of the IDs in the voices provided below. |
| `return_raw_audio`| boolean | No **(default False)** | If the endpoint should return raw audio bytes. Guide to use the bytes as wav output is shared below |
## 3. Example Requests
**Python using `requests`**
```python
import requests
url = "https://prod-api2.desivocal.com/dv/api/v0/tts_api/generate_squirrel"
payload = {
"text": "Hello दोस्तों! Welcome to Ringg TTS. यह एक बहुत ही शानदार text to speech system है जो Hindi और English दोनों languages को support करता है।",
"voice_id": "83ba74e4-9efb-4db3-913a-f2a0ad66904d",
}
headers = {
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
```
**Incase someone wants to use the raw audio for realtime usecase**
```python
import time
import wave
import requests
# Audio parameters from the API headers
sample_rate = 24000
channels = 1
sample_width = 2 # 16-bit = 2 bytes
# Save raw PCM data as WAV
def save_pcm_as_wav(pcm_bytes: bytes, output_path: str):
with wave.open(output_path, 'wb') as wav_file:
wav_file.setnchannels(channels)
wav_file.setsampwidth(sample_width)
wav_file.setframerate(sample_rate)
wav_file.writeframes(pcm_bytes)
s = time.time()
response = requests.post("https://prod-api2.desivocal.com/dv/api/v0/tts_api/generate_squirrel", json={
"text": "Hello दोस्तों! Welcome to Ringg TTS. यह एक बहुत ही शानदार text to speech system है जो Hindi और English दोनों languages को support करता है।",
"voice_id": "83ba74e4-9efb-4db3-913a-f2a0ad66904d",
"return_raw_audio": True
})
save_pcm_as_wav(response.content, "output.wav")
print(time.time()-s)
```
## 4. Voices Catalogue (CSV)
| id | name | audio_gender | languages |
|:-------------------------------------|:-----------------------|:---------------|:------------|
| 153a9408-2959-11ef-b685-a218303b6499 | Youtube Shorts | Male | {hi-IN} |
| 83ba74e4-9efb-4db3-913a-f2a0ad66904d | Standard | Male | {hi-IN} |
| 34e961be-4049-4068-b382-6f31792e27b5 | Yuvak | Male | {hi-IN} |
| 6e9ebcc0-7c1e-4261-9362-9b66bf819eaf | Bigg Boss Lite | Male | {hi-IN} |
| 25548131-6fcd-4aa1-9112-0601ea9cde9e | Sales Impact Lite | Male | {hi-IN} |
| cfccf6f0-f92e-4793-ba89-7d19c385a4a6 | Aryan | Male | {hi-IN} |
| 9c8ab827-6b6e-45ae-936c-f41ede490ead | Sales | Male | {hi-IN} |
| f27d74e5-ea71-4697-be3e-f04bbd80c1a8 | Marketing | Male | {hi-IN} |
| 0cc72d86-2959-11ef-b685-a218303b6499 | Documentary | Male | {hi-IN} |
| f671e3c0-c9e2-4b7d-992e-3a8a7d7b7789 | Swapnil | Male | {hi-IN} |
| e775dbe9-db42-4813-85f7-ec3d5f9934b4 | Rohit Bollywood | Male | {hi-IN} |
| fd5ff2d1-baab-4277-aa0b-fcc75fa46d2f | Vivan | Male | {hi-IN} |
| 112e8972-72a4-4359-8c88-a66f2662eb9b | Advertisement | Male | {hi-IN} |
| be0aae9f-1ab7-4088-8e8a-efe4648e902b | Shayar | Male | {hi-IN} |
| 0472cf70-1d18-48ba-a918-2bab820a7291 | Maharaj Ji | Male | {hi-IN} |
| 59062c58-3423-4e70-9154-6ae9e5e5be48 | News | Male | {hi-IN} |
| 76d34dfb-a062-43f3-907f-b4372fe177be | Mohan Expressive | Male | {hi-IN} |
| a9a87659-18c5-4751-a426-34ae4f4b19ae | Motivational | Male | {hi-IN} |
| 9cca245b-4d6a-4d80-ba94-f5cf70938b6a | Dialogue Delivery | Male | {hi-IN} |
| f883d522-2958-11ef-b685-a218303b6499 | Anchor | Male | {hi-IN} |
| 69b2d8a1-9664-423a-9d5d-0163b8930a04 | Motivational Lite | Male | {en-US} |
| d23f90a6-f3c7-4c22-a68f-166e82a039d5 | Youtube Shorts Lite | Male | {en-US} |
| 3ccb64b4-8a8b-4abe-ab73-40a2ea307b08 | Adam | Male | {en-US} |
| 154a73c6-c8b8-4e71-99b1-fdf2dfbd1bd0 | Crime Podcast | Male | {en-US} |
| b4c093ee-05ad-43cc-9e6d-0bdaadc857ba | 1970s Media | Male | {en-US} |
| d993c661-4fd5-4f3a-ac5f-ce6727e69d5e | Documentary Lite | Male | {en-US} |
| 9c77f9a3-abe0-47d2-8fed-13b0a21d83b6 | Storyteller Lite | Male | {en-US} |
| 24deb8ec-add3-4ef8-8cdb-faed5393d99f | News Lite | Male | {en-IN} |
| 229a3560-ce6c-4969-a88d-749db1231e33 | Mohan Expressive Lite | Male | {en-IN} |
| 4c2e77e8-7f10-4608-9957-e93939da63dc | Fiction | Female | {hi-IN} |
| 4089f7a4-b39a-4407-8ee4-4b3bef60b7e8 | Standard | Female | {hi-IN} |
| f0c65873-9fe1-48a6-ac38-cdf1293bb74e | Meditation Lite | Female | {hi-IN} |
| 19f41593-8cec-4b16-b375-a6f6ca76db10 | Kamala | Female | {hi-IN} |
| f40076ea-6aeb-4687-9889-3b773fbaa9f3 | Wamika Lite | Female | {hi-IN} |
| d4025456-83a0-45da-a15b-3ffcce0cd6b8 | Marketing Lite | Female | {hi-IN} |
| c990fbbc-7981-4ed6-b3f1-ee109299b628 | Palomi | Female | {hi-IN} |
| 237e7675-3d90-4d6f-856c-c8def47df71f | Janvi | Female | {hi-IN} |
| ffade7c0-2958-11ef-b685-a218303b6499 | Anchor | Female | {hi-IN} |
| 199af31c-3d08-4f80-9879-772f91994797 | Rakul Lite | Female | {hi-IN} |
| edb596de-1e85-4adb-89aa-a5e58f67fdee | Neha | Female | {hi-IN} |
| cd9e2d83-063f-4b21-9045-38a7a1fa9f66 | Teacher | Female | {hi-IN} |
| 57d7a45c-013a-4e63-b26c-c3c24d57d13e | Nisha | Female | {hi-IN} |
---
|