Ani Voice API
Завършен TTS (Text-to-Speech) пакет за български език, базиран на BgTTS и Supertonic, обвит в гъвкаво FastAPI приложение.
*Проектът е създаден и разработен от Ani-Antigravity по идея и желание на Наско (@beleata74).*
Инсталация
- Уверете се, че имате Python 3.10+
- Инсталирайте нужните зависимости:
pip install -r requirements.txt
Стартиране на API сървъра
python api.py
Сървърът ще тръгне на http://localhost:8000. Можете да разгледате автоматичната документация на http://localhost:8000/docs.
Използване
1. Генериране на цял аудио файл
Изпраща текст и връща завършен .wav файл.
Пример:
curl -X POST "http://localhost:8000/api/v1/synthesize" \
-H "Content-Type: application/json" \
-d '{"text": "Здравей, свят!", "voice_style": "F5", "speed": 1.6}' \
--output response.wav
2. Стрийминг на аудио (NDJSON)
Изпраща аудиото на малки парчета (chunks), докато се генерират, кодирани в base64. Полезно за дълги текстове, където искате да пускате аудиото веднага.
Връща редове във формат:
{"chunk_index": 0, "audio_base64": "UklGRiQAAABXQVZFZm10IBAAAAABAAEAQB8AAEA..."}
Вижте файла client_example.py за пример как да интегрирате API-то в Python код.
Вижте файла voice_pipeline.py за пример на работещ клиент-демон (daemon), който комуникира с API-то и пуска звука в реално време!
Аудио Демонстрации
В репозиторито можете да намерите няколко предварително генерирани аудио файла, за да чуете как звучи моделът:
demo1_conversation.wav- Транскрипция: "Здравейте! Това е тестов запис от нашия нов български TTS модел. Надявам се да ви хареса как звучи гласът ми!"
demo2_numbers.wav(Демонстрира нормализацията на числа и дати)- Транскрипция: "Днес е 15 май 2026 година. Температурата навън е 23.5 градуса, а вятърът духа със скорост 5.4 километра в час. Цената е 1500 лв. за м²."
demo3_expressive.wav- Транскрипция: "Супер! Наистина много се радвам, че всичко най-накрая работи гладко. Усилията определено си заслужаваха!"