Реализация синтеза эмоциональной речи (Expressive TTS)

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Реализация синтеза эмоциональной речи (Expressive TTS)
Средняя
от 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

Реализация синтеза эмоциональной речи (Expressive TTS)

Эмоциональный TTS передаёт не только слова, но и интонацию: радость, сочувствие, серьёзность. Критично для голосовых ботов, где нейтральный роботизированный голос снижает удовлетворённость клиентов.

Подходы к эмоциональному TTS

Azure Neural TTS со стилями — наиболее зрелое решение:

import azure.cognitiveservices.speech as speechsdk

AZURE_STYLES = {
    "cheerful": "радостный",
    "sad": "грустный",
    "angry": "раздражённый",
    "fearful": "напуганный",
    "disgruntled": "недовольный",
    "serious": "серьёзный",
    "depressed": "подавленный",
    "gentle": "мягкий",
    "embarrassed": "смущённый",
    "customerservice": "клиентский сервис"
}

def synthesize_with_emotion(text: str, style: str = "customerservice") -> bytes:
    ssml = f"""
    <speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis'
           xmlns:mstts='https://www.w3.org/2001/mstts' xml:lang='ru-RU'>
      <voice name='ru-RU-SvetlanaNeural'>
        <mstts:express-as style='{style}' styledegree='1.5'>
          {text}
        </mstts:express-as>
      </voice>
    </speak>"""

    speech_config = speechsdk.SpeechConfig(
        subscription=AZURE_SPEECH_KEY,
        region="westeurope"
    )
    synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config)
    result = synthesizer.speak_ssml_async(ssml).get()
    return result.audio_data

ElevenLabs с Voice Settings — контроль через stability/similarity:

# Высокая экспрессивность: низкая stability, высокий style
emotional_settings = {
    "stability": 0.3,       # нестабильность = вариативность интонации
    "similarity_boost": 0.5,
    "style": 0.8,           # высокий стиль = больше эмоций
    "use_speaker_boost": True
}

Bark с текстовыми маркерами:

emotional_text = "Поздравляем! [laughs] Ваш заказ принят! [gasps] Это невероятно!"
audio = generate_audio(emotional_text, history_prompt="v2/ru_speaker_6")

Эмоциональная маршрутизация в диалоге

def choose_tts_style(message_context: dict) -> str:
    if message_context.get("is_apology"):
        return "gentle"
    elif message_context.get("is_celebration"):
        return "cheerful"
    elif message_context.get("is_urgent"):
        return "serious"
    return "customerservice"

Сроки: интеграция Azure со стилями — 2–3 дня. Кастомная эмоциональная маршрутизация — 1 неделя.