/ Модель

Характеристики

Лицензия
CC BY 4.0
Базовая модель
pocket-tts
Опубликована
25 сен 2026

indus-pocket-tts

Синтез речиТекст → аудио

Компактная модель Indus-Labs синтезирует потоковую речь на хинди и хинглише с одним женским голосом и работает на CPU.

0скачиваний за 30 дней5лайковвеса обновлены25 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Indus-Labs разработала модель синтеза речи на основе Kyutai Pocket TTS для озвучивания текстов на хинди и хинглише, включая речь для индийских служб поддержки. Это дообученная и дистиллированная модель с 110 млн параметров и шестислойной архитектурой; она использует один женский голос Inaya, выдаёт потоковое аудио с частотой 24 кГц и рассчитана на работу на CPU без GPU. Для обработки чисел предусмотрена нормализация: суммы преобразуются в слова на хинди, а OTP, телефонные номера и номера заказов могут читаться по цифрам.

Модель подходит для коротких разговорных реплик, например озвучивания сообщений приложений, напоминаний, навигации, объявлений и реплик контакт-центра. В README приведены замеры производительности на серверном AMD EPYC, но скорость зависит от оборудования. Модель поддерживает хинди письмом деванагари и английский в смешанной речи; романизированный хинди читается как английский. Лицензия — CC BY 4.0; также действуют запрещённые способы использования, унаследованные от Kyutai, включая имитацию личности и обманные звонки.

Сценарии применения

  • озвучивание коротких реплик для индийских контакт-центров
  • чтение сумм и дат в сообщениях на хинди
  • озвучивание OTP и номеров по цифрам
  • голосовые уведомления и сообщения приложений
  • синтез речи для навигации и напоминаний

Ограничения

Доступен только один голос; клонирование голоса и управление эмоцией или стилем не поддерживаются. Модель может смазывать редкие литературные слова, длинные технические фразы и длинные последовательности цифр; романизированный хинди читается как английский.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

indus-pocket-tts

Hindi and Hinglish text-to-speech that runs on a CPU: 51 ms to first audio on a single CPU thread, no GPU.

  • 110M parameters, one female voice (Inaya), 24 kHz, streaming output
  • Digits in the input are handled for you: amounts become Hindi words (₹2,800 → दो हज़ार आठ सौ रुपये), and order numbers, OTPs and phone numbers are read digit by digit (OTP 4821 → चार आठ दो एक). Set ID_DIGITS=en to read identifiers in English instead (four eight two one)
  • Mixed Hindi–English (Hinglish) sentences, as used in Indian customer-service calls
  • A 6-layer model distilled from a 24-layer finetune of Kyutai Pocket TTS

Quick start

pip install torch --index-url https://download.pytorch.org/whl/cpu     # CPU-only PyTorch
pip install "pocket-tts @ git+https://github.com/kyutai-labs/pocket-tts@0c2db3b" huggingface_hub
hf download Indus-Labs/indus-pocket-tts --local-dir indus-pocket-tts

python indus-pocket-tts/speak.py "आपकी किश्त 2,800 रुपये है, जो हर महीने 10 तारीख को कटेगी।" out.wav --int8

--int8 loads compressed weights. It is about twice as fast and, in our tests, sounds the same.

From Python

import sys; sys.path.insert(0, "indus-pocket-tts")
from speak import load, synthesize, stream

model, voice = load(int8=True)                       # load once, reuse for every request
synthesize(model, voice, "नमस्ते! आपका payment successful हो गया है।", "out.wav")

for chunk in stream(model, voice, "कृपया 12 सितंबर से पहले 2,000 रुपये जमा कर दीजिए।"):
    ...   # float32 audio at 24 kHz, yielded as it is generated: send it to a speaker or a call

Performance

Measured on an AMD EPYC (Genoa) server with the install above. There are 20 Hindi and Hinglish call-centre lines; each stream is its own process with PyTorch pinned to one CPU thread. First audio is the time from submitting text, normalisation included, to receiving the first audio chunk, with the model already loaded and warmed up.

ConfigurationFirst audio p50p90SpeedCPU per second of audioRAM
int8, 1 stream51 ms55 ms6.3× real-time0.29 core-s1.2 GiB
int8, 4 streams in parallel51 ms60 ms5.7× per stream0.32 core-s1.2 GiB each
int8, 8 streams in parallel63 ms77 ms5.1× per stream0.35 core-s1.2 GiB each
full precision, 1 stream111 ms131 ms3.0× real-time0.51 core-s1.2 GiB
full precision, 4 streams113 ms136 ms2.8× per stream0.55 core-s1.2 GiB each

To reproduce this on your own machine: python benchmark.py --int8 (add --streams 4 for parallel streams).

Measured on an otherwise idle machine. When the same server was busy serving other traffic, the same build gave 57 ms p50 and 5.3× — so expect figures in that band under load. Run benchmark.py --int8 on your own hardware before quoting any of it.

The first request after loading is slower, about 66 ms with int8. Loading the model takes 3–6 s once per process. Results on other CPUs will differ; ARM and older x86 chips will be slower.

Quality

Intelligibility (ASR match, 20 lines)Naturalness (UTMOS, out of 5)
int80.834.20
full precision0.804.17

Intelligibility compares the input text with what Whisper large-v3 transcribes back. It is a character-level match, so it penalises English loanwords and reads as a floor, not a word-error rate. The int8/full-precision difference is within run-to-run sampling noise.

Samples

All generated with --int8; full-precision versions sit alongside in samples/. Each number line was generated four times and every take was checked for what was actually spoken. The amounts in these samples deliberately use digits the model keeps in Hindi — see Numbers under Limitations.

FileWhatInput text
01_greeting.mp3Greetingनमस्ते इंडस लैब्स में आपका स्वागत है
02_emi_amount.mp3Instalment amount and dateआपकी किश्त 2,800 रुपये है, जो हर महीने 10 तारीख को कटेगी।
03_otp.mp3OTP, read digit by digitआपका OTP 4821 है, इसे किसी के साथ शेयर न करें।
04_order_number.mp3Order number, read digit by digitआपका ऑर्डर नंबर 78213 है और यह 2 दिन में पहुँच जाएगा।
05_hinglish.mp3Hinglishआपका payment successful हो गया है
06_deadline.mp3Due date and amountकृपया 12 सितंबर से पहले 2,000 रुपये जमा कर दीजिए।
07_long_explanation.mp3Long, technical sentence (weakest case)अगर आपको अपने बिल की गणना समझनी है तो मैं आपको बता सकती हूँ कि इसमें ऊर्जा शुल्क स्थिर शुल्क और विद्युत शुल्क तीनों शामिल होते हैं और हर घटक अलग अलग दर से जुड़ता है
08_transfer.mp3Call transferमैं आपको हमारे एजेंट से connect कर रही हूँ कृपया लाइन पर बने रहिए

How it was made

  1. Finetune. Kyutai's 24-layer Pocket TTS was finetuned on about 90 hours of Hindi and Hinglish customer-service speech in a single voice, with a new 4,000-token SentencePiece tokenizer for Devanagari and Latin text.
  2. Numbers. Every training line containing a number was transcribed back with Whisper (digits suppressed, so it had to spell what it heard). Lines whose audio said the number in English while the text said it in Hindi were dropped — about a third of them — and roughly 0.8 h of number-focused speech was added in their place. This is what makes amounts, dates, times and percentages come out in Hindi.
  3. Distillation. The 24-layer model was distilled into 6 layers (100,000 steps), with classifier-free guidance baked in. The student matches the teacher on intelligibility at roughly 3× the speed.
  4. Release. The audio encoder is removed from the published weights, as in Kyutai's own public release, and the voice ships as a pre-computed state in voices/inaya.safetensors.

Limitations

  • One voice. Voice cloning is disabled on purpose: the weights carry no audio encoder.
  • No emotion or style tags. Delivery follows the text and the voice.
  • Domain and vocabulary. It learned everyday spoken Hindi and Hinglish, and handles navigation, reminders, announcements, learning and app messages. Literary and descriptive prose is its weak point: uncommon or ornate words are slurred, so it is not yet an audiobook narrator.
  • Script. Hindi words are expected in Devanagari; romanised Hindi ("aap kaise hain") is read as English.
  • Numbers. Amounts, dates, times and percentages are spoken in Hindi. Long strings of numbers are the weak case: counting through a list of ten or more, or reading a 9+ digit identifier, can drop or slur one. Check the numbers that matter to you.
  • Long, technical sentences (billing jargon, many compound words) are sometimes slurred; short conversational sentences are the strong case.
  • Normaliser coverage. It handles numbers, currency, dates, times, percentages and common abbreviations. Product names and unusual formats may need pre-processing.
  • Package version. Pin pocket-tts to the commit above. PyPI 3.1.0 also runs, but produces slightly longer, lower-rated audio with this model.

Responsible use

This model inherits Kyutai's prohibited-use terms. Do not use it to impersonate anyone, for fraud or deceptive calls, or to mislead listeners about whether they are hearing a machine. Where the law requires callers to be told they are speaking with an automated system, tell them.

Licence and attribution

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Нельзя запустить

В репозитории нет config.json: не понять архитектуру модели.

Ревизия весов
39899d3

0 моделей