Разработка системы Text-to-Speech (синтез речи)

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Разработка системы Text-to-Speech (синтез речи)
Средняя
от 1 недели до 3 месяцев
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1240
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1167
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    867
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1084
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    829

Разработка системы Text-to-Speech (синтез речи)

TTS-система преобразует текст в натуральную речь. Современные нейронные TTS генерируют аудио, практически неотличимое от человеческого, при задержке 200–500 мс. Архитектура и выбор движка зависят от требований к качеству, латентности и объёму.

Архитектурные решения

Облачный TTS — быстрый старт, предсказуемое качество:

  • OpenAI TTS: лучшее качество на английском, хорошее на русском
  • ElevenLabs: самое натуральное звучание, клонирование голоса
  • Yandex SpeechKit: оптимален для русскоязычных продуктов

Self-hosted TTS — контроль данных, предсказуемая стоимость:

  • Coqui XTTS v2: мультиязычный, клонирование из 6 секунд
  • Piper: легковесный, CPU-capable, хорошее качество на русском
  • Silero TTS: российский open-source, отличный русский

Базовая система с FastAPI

from fastapi import FastAPI
from fastapi.responses import StreamingResponse
import io
import soundfile as sf
from TTS.api import TTS

app = FastAPI()
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2")

@app.post("/synthesize")
async def synthesize(text: str, language: str = "ru"):
    wav = tts.tts(
        text=text,
        language=language,
        speaker_wav="reference_voice.wav"  # для клонирования
    )

    buffer = io.BytesIO()
    sf.write(buffer, wav, samplerate=24000, format='WAV')
    buffer.seek(0)

    return StreamingResponse(buffer, media_type="audio/wav")

Выбор движка по сценарию

Сценарий Рекомендация Причина
Голосовой бот Yandex SpeechKit / Azure Низкая латентность
Аудиокниги Coqui XTTS / ElevenLabs Максимальное качество
IVR меню Piper / Silero Простые фразы, низкие расходы
Брендированный голос Fine-tuned XTTS Уникальность

Preprocessing текста

Перед подачей в TTS обязателен нормализатор: расшифровка аббревиатур, чисел, дат:

def normalize_for_tts(text: str, language: str = "ru") -> str:
    # числа: "15 000 руб." → "пятнадцать тысяч рублей"
    # даты: "01.03.2024" → "первое марта две тысячи двадцать четвёртого года"
    # аббревиатуры: "ООО" → "общество с ограниченной ответственностью"
    ...

Сроки

  • Базовая интеграция облачного TTS: 2–3 дня
  • Self-hosted с очередью и кэшированием: 1 неделя
  • Полная система с кастомным голосом: 3–4 недели