# Обновления ElevenLabs: обзор новых инструментов и управление голосом

> Полное руководство по генерации речи в ElevenLabs: обзор моделей (v3, Multilingual v2, Flash, Turbo), аудио-теги интонации, фонемы IPA/Arpabet, словари PLS и правила нормализации текста.

Последние обновления платформы ElevenLabs кардинально расширили возможности искусственного интеллекта в синтезе человеческой речи. Разработчики получили дифференцированную линейку моделей: от ультрареалистичной Eleven v3 с поддержкой тонких эмоциональных модуляций до сверхбыстрых Flash и Turbo для потоковых сценариев в реальном времени.

В этом практическом руководстве разобраны все ключевые инструменты и методики работы с голосом: выбор архитектуры, управление эмоциональными аудио-тегами, точная настройка темпа через SSML, работа с международными фонетическими словарями (PLS) и обязательная нормализация текста перед отправкой в API.

---

## 1. Обзор моделей линейки ElevenLabs

Современная экосистема ElevenLabs предлагает четыре ключевые модели синтеза речи, оптимизированные под различные инженерные требования.

### 1.1. Архитектурные особенности и назначение моделей

- **Eleven v3 (alpha):** флагманская модель с наивысшим качеством и естественностью речи. Главное преимущество — нативная поддержка звуковых тегов для выражения эмоций (радость, грусть, шепот, крик, вздохи). Оптимизирована преимущественно под англоязычный контент и требует более длинных, контекстно насыщенных промптов.
- **Multilingual v2:** «золотой стандарт» для глобальных продуктов. Поддерживает более 30 языков с высокой точностью акцентов и диакритики. Обеспечивает стабильное произношение сложных предложений, хотя обладает менее драматичным диапазоном эмоциональных переходов, чем v3.
- **Flash v2.5:** высокоскоростная модель с низкой задержкой (latency ~75 мс) и лимитом до 5 000 символов на запрос. Оптимальный баланс между естественностью звучания и скоростью для интерактивных ассистентов.
- **Turbo v2.5:** экстремально быстрая модель для сценариев, где задержка критична (телефонные голосовые боты, синхронный перевод стримов). Жертвует микроинтонациями ради мгновенного отклика (~50 мс).

### 1.2. Сводная сравнительная таблица характеристик

| Модель | Качество и выразительность | Скорость генерации | Поддержка языков | Лимит символов | Оптимальное применение |
| :--- | :--- | :--- | :--- | :--- | :--- |
| **Eleven v3 (alpha)** | Максимальная, живая эмоциональность | Умеренная | Английский (другие экспериментально) | 15 000 | Подкасты, аудиокниги, кинодубляж, сюжетные диалоги |
| **Multilingual v2** | Высокая, стабильная | Средняя | 30+ языков | 15 000 | Мультиязычная локализация, корпоративные видео |
| **Flash v2.5** | Хорошая (сбалансированная) | Очень высокая | Английский, частично другие | 5 000 | Чат-боты, стриминг, игровые NPC, живой перевод |
| **Turbo v2.5** | Базовая утилитарная | Максимальная (~50 мс) | Базовый набор языков | 5 000 | IVR-системы, экстренные оповещения, телефония |

---

## 2. Критерии выбора модели под сценарий

Выбор модели определяется балансом между допустимой задержкой (latency), стоимостью генерации и требованиями к эмоциональности.

### 2.1. Творческое озвучивание против потокового стриминга

:::tabs
=== Креативное озвучивание (v3)
Для художественных аудиокниг, дубляжа трейлеров или рекламы выбирайте **Eleven v3**. Она способна воспроизводить драматические паузы, придыхание, смех и смену настроения внутри одного абзаца, создавая полную иллюзию живого актера.
=== Многоязычность (Multilingual v2)
Если ваш проект ориентирован на международную аудиторию, однозначный выбор — **Multilingual v2**. Она корректно справляется с текстами на разных языках и устойчива к переходам между кириллицей и латиницей.
=== Реальное время (Flash / Turbo)
Для голосовых интерфейсов, поддержки клиентов по телефону или интерактивных NPC в играх используйте **Flash v2.5** или **Turbo v2.5**. Они исключают неловкие паузы между вопросом пользователя и ответом системы.
:::

### 2.2. Многоязычная локализация и синтез в реальном времени

> [!TIP]
> Для масштабных сервисов эффективна гибридная архитектура: первые приветственные фразы генерируются через сверхбыструю **Flash v2.5**, а развернутые информационные справки — через **Multilingual v2**.

---

## 3. Управление интонацией, эмоциями и аудио-тегами

Главный прорыв новых версий ElevenLabs — возможность направлять манеру речи диктора прямо через текстовую разметку.

### 3.1. Возможности модели Eleven v3 и звуковые теги

Модель Eleven v3 распознает встроенные аудио-теги, работающие как режиссерские ремарки:

- **Эмоциональные состояния:** `<happy>`, `<sad>`, `<angry>`, `<excited>`, `<calm>`, `<sarcastic>`.
- **Звуковые эффекты и реакции:** `<laugh>`, `<sigh>`, `<cough>`, `<gasp>`, `<whisper>`, `<shout>`.
- **Стилевые переходы:** обертывание отдельных реплик позволяет менять настроение персонажа по ходу повествования.

### 3.2. Влияние пунктуации, регистра и пауз на мелодику речи

Кроме явных тегов, нейросеть чутко реагирует на стандартную текстовую пунктуацию:
- **Точка (`.`):** полноценная пауза с нисходящей интонацией законченной мысли.
- **Запятая (`,`):** короткая ритмическая задержка с сохранением связующего тона.
- **Тире (`—`) или многоточие (`...`):** создают эффект естественного колебания или задумчивости рассказчика.
- **ЗАГЛАВНЫЕ БУКВЫ:** заставляют модель выделить ключевое слово ударением и громкостью.

---

## 4. Практические примеры интонации и диалогов

Рассмотрим правильное использование тегов на конкретных текстовых шаблонах.

### 4.1. Сценарии монолога, диалога и эмоциональных переходов

> 💡 **Пример монолога с аудио-тегами:**
```text
<laugh> It’s funny how life works sometimes. You think you’ve planned everything perfectly... but then <sigh> something unexpected happens.
```
*Результат: модель начинает фразу с естественного короткого смеха, делает выразительную паузу на многоточии и выдыхает перед словом «something».*

> 💡 **Пример драматического диалога двух персонажей:**
```text
<angry> "I told you never to open that door!" </angry>
<calm> "I know, but you don't understand what was inside..." </calm>
```
*Результат: первая реплика звучит громко и агрессивно, а ответная — тихим, успокаивающим тоном.*

### 4.2. Рекомендации: стабильность генерации, подбор голоса и баланс тегов

1. **Длина контекста:** избегайте промптов из 1–2 слов. Для стабильной генерации передавайте фразы длиной от 10 слов.
2. **Акустическая совместимость голоса:** не все клонированные голоса одинаково хорошо реагируют на тег `<shout>` или `<whisper>`. Тестируйте промпт на 2–3 дикторах библиотеки VoiceLab.
3. **Умеренность тегов:** не комбинируйте более трех эффектов в одном предложении, чтобы избежать звуковых артефактов.

---

## 5. Управление темпом, паузами и скоростью речи

Для точной синхронизации речи с видеорядом или интерфейсом применяют точные задержки и системные параметры скорости.

### 5.1. SSML-теги пауз и пунктуационные задержки

Для установки точной продолжительности молчания используется SSML-тег паузы:

```xml
Hello there <break time="1.5s" /> welcome to our system.
```

- Поддерживаются значения в секундах (`1.5s`) или миллисекундах (`500ms`).
- Допустимый диапазон длительности одной паузы: от `0.1s` до `3.0s`.

### 5.2. Параметр скорости речи (speed) в API

Скорость генерации задается в конфигурации запроса через параметр `speed`:
- `1.0` — эталонная скорость выбранного диктора.
- `0.8` — размеренный, спокойный темп для медитаций или обучающих лекций.
- `1.2` — динамичная подача для рекламы и новостных сводок.
- Допустимый рабочий диапазон: от `0.5` до `2.0`.

---

## 6. Управление произношением: фонемы, alias-теги и словари PLS

Когда модель сталкивается со специфическими терминами, акронимами или редкими именами, на помощь приходят фонетические правила.

### 6.1. Фонетическая разметка (IPA / CMU Arpabet) и alias-теги

С помощью тега `<phoneme>` можно задать точную транскрипцию слова по международному алфавиту IPA:

```xml
<phoneme alphabet="ipa" ph="həˈləʊ">hello</phoneme>
```

Для простых сокращений удобно использовать подстановки через тег `<alias>`:

```xml
<alias text="laugh out loud">LOL</alias>
```
*Модель озвучит полную фразу вместо непонятной аббревиатуры.*

### 6.2. Корпоративные словари произношения (PLS)

Для масштабных проектов ElevenLabs поддерживает стандарт **Pronunciation Lexicon Specification (PLS)**. Вы можете загрузить XML-файл словаря в настройки рабочего пространства (Workspace), и все голоса системы будут автоматически следовать корпоративным стандартам произношения брендов.

### 6.3. Контекстные приемы и диалоговая подача

> [!NOTE]
> Если вы не хотите перегружать текст XML-тегами, используйте фонетическую транслитерацию: напишите сложное слово по слогам (например, *"Не-о-банк"* вместо *"Необанк"*).

---

## 7. Нормализация текста: числа, даты, валюты и сокращения

Нейросети преобразуют символы в звук последовательно. Неподготовленный текст приводит к тому, что дата `11/05` звучит как «одиннадцать дробь пять».

### 7.1. Почему модели ошибаются в числах и специальных символах

Модели Text-to-Speech не всегда способны автоматически распознать контекст: является ли число `1984` календарным годом, денежной суммой, номером квартиры или телефонным кодом.

### 7.2. Три метода нормализации: выбор модели, промптинг и RegEx

1. **Выбор модели:** Multilingual v2 содержит более надежные встроенные правила чтения чисел, чем экспериментальная v3.
2. **Вербализация в промпте:** пишите числа словами непосредственно в исходном тексте.
3. **Программный препроцессинг (RegEx):** перед вызовом API регулярные выражения заменяют знаки валют и форматы дат на словесные эквиваленты.

### 7.3. Справочная таблица нормализации числовых и текстовых данных

| Категория | Сырой ввод | Нормализованный текст для API |
| :--- | :--- | :--- |
| **Номер телефона** | `+1 202-555-0173` | `плюс один, два ноль два, пять пять пять, ноль один семь три` |
| **Календарная дата** | `24.08.1991` | `двадцать четвертого августа тысяча девятьсот девяносто первого года` |
| **Валюта** | `$250` | `двести пятьдесят долларов` (или `two hundred and fifty dollars`) |
| **Диапазон** | `10-15 кг` | `от десяти до пятнадцати килограммов` |
| **Аббревиатура** | `НАТО` | `НАТО` (как слово) или `С-Е-О` (через дефис, если нужно по буквам) |

---

## 8. Интеграция через API и примеры реализации

Для стабильного серверного синтеза передавайте предварительно нормализованный текст с явным указанием параметров стабильности голоса.

### 8.1. Формирование запроса с нормализованным текстом

> [!IMPORTANT]
> Параметры `stability` (стабильность) и `similarity_boost` (схожесть) регулируют вариативность: значение стабильности `0.5` обеспечивает живую эмоциональность, тогда как `0.8` делает голос более строгим и дикторским.

### 8.2. Образцы кода для Python, TypeScript и cURL

:::tabs
=== Python SDK
```python
import requests

url = "https://api.elevenlabs.io/v1/text-to-speech/21m00Tcm4TlvDq8ikWAM"
headers = {
    "xi-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "text": "Двадцать четвертого августа состоится презентация обновленной платформы.",
    "model_id": "eleven_multilingual_v2",
    "voice_settings": {
        "stability": 0.5,
        "similarity_boost": 0.8,
        "speed": 1.0
    }
}

response = requests.post(url, headers=headers, json=data)
with open("output.mp3", "wb") as f:
    f.write(response.content)
```
=== TypeScript (Node.js)
```typescript
import fs from "fs";

const voiceId = "21m00Tcm4TlvDq8ikWAM";
const url = `https://api.elevenlabs.io/v1/text-to-speech/${voiceId}`;

const payload = {
  text: "Двадцать четвертого августа состоится презентация обновленной платформы.",
  model_id: "eleven_multilingual_v2",
  voice_settings: {
    stability: 0.5,
    similarity_boost: 0.8,
    speed: 1.0
  }
};

async function generateSpeech() {
  const response = await fetch(url, {
    method: "POST",
    headers: {
      "xi-api-key": process.env.ELEVENLABS_API_KEY || "",
      "Content-Type": "application/json"
    },
    body: JSON.stringify(payload)
  });

  const arrayBuffer = await response.arrayBuffer();
  fs.writeFileSync("output.mp3", Buffer.from(arrayBuffer));
}

generateSpeech();
```
=== cURL (Bash)
```bash
curl -X POST "https://api.elevenlabs.io/v1/text-to-speech/21m00Tcm4TlvDq8ikWAM" \
  -H "xi-api-key: $ELEVENLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Hello! Welcome to the new ElevenLabs voice synthesis platform.",
    "model_id": "eleven_multilingual_v2",
    "voice_settings": {
      "stability": 0.5,
      "similarity_boost": 0.8
    }
  }' \
  --output output.mp3
```
:::