Перейти к основному содержимому

Голосовой API (TTS)

Голос Dhamma.Gift — открытый сервис синтеза речи: тот же, что читает в плеере сайта и в словаре. Обращаться к нему можно из браузера или с сервера — без ключа и без регистрации.

Адрес: https://api.dhamma.gift · CORS открыт · лимит 60 запросов в минуту с одного IP.

Прочитать фразу​

POST /api/tts/pali с JSON:

ПолеЗначение
textтекст, до 2000 символов. Пали в IAST (Evaṁ me sutaṁ), перевод на английском или русском
voiceголос (ниже); по умолчанию pratham
rateскорость, 0.25–3; 1 — собственный темп голоса (сайт читает пали на 0.875)

Ответ — {"audioContent": "<MP3 в base64>"}, в том же виде, что у Google Text-to-Speech, так что плеер, написанный для Google, проигрывает его как есть. MP3, моно, 22 кГц, ~40 кбит/с; повторные запросы отдаются из кэша.

curl -s https://api.dhamma.gift/api/tts/pali -H 'content-type: application/json' \
-d '{"text":"Evaṁ me sutaṁ.","voice":"pratham","rate":0.875}' \
| python3 -c 'import json,sys,base64; open("evam.mp3","wb").write(base64.b64decode(json.load(sys.stdin)["audioContent"]))'
const r = await fetch('https://api.dhamma.gift/api/tts/pali', {
method: 'POST', headers: { 'content-type': 'application/json' },
body: JSON.stringify({ text: 'Evaṁ me sutaṁ.', voice: 'pratham', rate: 0.875 })
});
new Audio('data:audio/mp3;base64,' + (await r.json()).audioContent).play();

Голоса​

voiceЯзыкЧто это
prathamпалинейроголос Piper + наши правила произношения пали (IAST → звуки, ударение, долгие гласные). Бета
dgпали«o Dhamma.Gift»: голос, обученный на настоящем чтении пали. Бета
alan, norman, kathleenанглийскийголоса Piper; слова пали и сокращения (Ven., SN 56.11) читаются правильно
ruslan, irinaрусскийголоса Piper; пали латиницей читается по-палийски

GET /api/tts/dg-voices отдаёт список в виде {голос: язык}; GET /api/tts/health показывает, что сервис работает и какая версия правил произношения в нём.

Как читается пали: звучит каждая буква, знаки препинания дают паузы, …pe… читается как «peyyāla».

Весь текст одним MP3​

POST /api/tts/memo — строки читаются одна за другой с паузами любой длины между ними (у Google не больше 10 секунд); так сохраняет файл страница Memo.

ПолеЗначение
segmentsстроки, до 200 и до 20 000 символов всего
voice, rateкак выше
delayпауза между строками, секунд, до 300
end_delayпауза в конце, секунд, до 600
soundgong.mp3 или tick.mp3 в конце, или пусто

Ответ — сам MP3 (audio/mpeg), длиной не больше 45 минут. Такой запрос считается за десять в минутном лимите.

Лицензии​

  • Код сервиса и правила пали: github.com/dhammagift/pali-tts.
  • pratham: веса MIT (rhasspy/piper-voices), записи AI4Bharat IndicVoices (CC BY 4.0).
  • dg: CC BY-NC-SA 4.0 — только некоммерческое использование.
  • Английские и русские голоса: rhasspy/piper-voices, у каждого своя лицензия.

Что ещё по этому адресу​

Тот же адрес отдаёт MCP-сервер (/mcp) и API сайта (/api/…) — те же тексты и та же база, что на dhamma.gift.