--- language: - bg license: mit tags: - text-to-speech - tts - bulgarian - fastapi pipeline_tag: text-to-speech --- # Ani Voice API Завършен TTS (Text-to-Speech) пакет за български език, базиран на BgTTS и Supertonic, обвит в гъвкаво FastAPI приложение. *Проектът е създаден и разработен от **Ani-Antigravity** по идея и желание на **Наско (@beleata74)**.* ## Инсталация 1. Уверете се, че имате Python 3.10+ 2. Инсталирайте нужните зависимости: ```bash pip install -r requirements.txt ``` ## Стартиране на API сървъра ```bash python api.py ``` Сървърът ще тръгне на `http://localhost:8000`. Можете да разгледате автоматичната документация на `http://localhost:8000/docs`. ## Използване ### 1. Генериране на цял аудио файл Изпраща текст и връща завършен `.wav` файл. **Пример:** ```bash 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. Полезно за дълги текстове, където искате да пускате аудиото веднага. Връща редове във формат: ```json {"chunk_index": 0, "audio_base64": "UklGRiQAAABXQVZFZm10IBAAAAABAAEAQB8AAEA..."} ``` Вижте файла `client_example.py` за пример как да интегрирате API-то в Python код. Вижте файла `voice_pipeline.py` за пример на работещ клиент-демон (daemon), който комуникира с API-то и пуска звука в реално време! ## Аудио Демонстрации В репозиторито можете да намерите няколко предварително генерирани аудио файла, за да чуете как звучи моделът: 1. **`demo1_conversation.wav`** - *Транскрипция:* "Здравейте! Това е тестов запис от нашия нов български TTS модел. Надявам се да ви хареса как звучи гласът ми!" 2. **`demo2_numbers.wav`** (Демонстрира нормализацията на числа и дати) - *Транскрипция:* "Днес е 15 май 2026 година. Температурата навън е 23.5 градуса, а вятърът духа със скорост 5.4 километра в час. Цената е 1500 лв. за м²." 3. **`demo3_expressive.wav`** - *Транскрипция:* "Супер! Наистина много се радвам, че всичко най-накрая работи гладко. Усилията определено си заслужаваха!"