Реализация просодического контроля речи (скорость, тон, громкость)

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

Реализация просодического контроля речи (скорость, тон, громкость)

Просодика — ритм, темп, интонация, громкость речи. Точный контроль просодики позволяет адаптировать синтез к контексту: медленнее для числовых данных, громче для предупреждений, выше тон для вопросов.

SSML-контроль просодики

<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xml:lang='ru-RU'>
  <!-- Скорость: x-slow, slow, medium, fast, x-fast, или % -->
  <prosody rate="slow">
    Номер вашего заказа: А-один-два-три-четыре.
  </prosody>

  <!-- Тональность: x-low, low, medium, high, x-high, или ±st -->
  <prosody pitch="+2st">
    Это хорошая новость!
  </prosody>

  <!-- Громкость: silent, x-soft, soft, medium, loud, x-loud, или дБ -->
  <prosody volume="loud">
    Внимание!
  </prosody>

  <!-- Комбинированное управление -->
  <prosody rate="90%" pitch="-1st" volume="-3dB">
    Подождите, пожалуйста, один момент.
  </prosody>
</speak>

Динамическое управление в runtime

from dataclasses import dataclass

@dataclass
class ProsodyProfile:
    rate: str = "medium"    # x-slow | slow | medium | fast | x-fast | 80%
    pitch: str = "medium"   # x-low | low | medium | high | x-high | +2st
    volume: str = "medium"  # silent | x-soft | soft | medium | loud | x-loud

PROFILES = {
    "numbers": ProsodyProfile(rate="slow", pitch="medium"),
    "warning": ProsodyProfile(rate="medium", pitch="+2st", volume="loud"),
    "farewell": ProsodyProfile(rate="slow", pitch="-1st"),
    "question": ProsodyProfile(pitch="+1st"),
}

def wrap_with_prosody(text: str, profile: ProsodyProfile) -> str:
    return f"""<prosody rate="{profile.rate}" pitch="{profile.pitch}"
                        volume="{profile.volume}">{text}</prosody>"""

Контекстное управление через NLP

def detect_prosody_context(text: str) -> ProsodyProfile:
    """Автоматически определяем нужную просодику"""
    if text.endswith("?"):
        return PROFILES["question"]
    if any(w in text.lower() for w in ["внимание", "важно", "срочно"]):
        return PROFILES["warning"]
    if any(char.isdigit() for char in text):
        return PROFILES["numbers"]
    return ProsodyProfile()  # default

Ограничения по провайдерам

  • Google TTS: полная поддержка <prosody> через SSML
  • Azure: rate в диапазоне 0.5–2.0, pitch ±50%
  • OpenAI TTS: только параметр speed (0.25–4.0), без SSML
  • Yandex SpeechKit: параметр speed через API, ограниченный SSML

Сроки: базовое управление просодикой — 1–2 дня. Контекстная автоматическая маршрутизация — 3–4 дня.