Пользовательский словарь произношения¶
Войдите в аккаунт, откройте Playground → Синтез и раскройте Словарь произношения под полем текста. Словарь принадлежит вашему аккаунту и автоматически применяется к новым озвучкам, включая фоновые задачи. Поддерживаются Playground, Studio, TTS v1/v3, OpenAI-совместимый Speech API и gRPC TTS. Перевод и переозвучка видео пока не используют словарь.
- Нажмите Добавить запись.
- В поле Слово или фраза введите исходный текст, например
API. - В поле Как произносить укажите замену:
эй пи ай. - Выберите язык или Все языки и нажмите Сохранить словарь.
- Проверьте фразу в блоке Проверить произношение в тексте. Проверка показывает текст после нормализации и сохранённых замен без генерации аудио и списания кредитов. Вставить до 5000 символов из основного поля можно кнопкой Взять текст для синтеза.
Словарь содержит до 300 записей. Исходная фраза — до 200 символов, произношение — до 400. Запись можно временно отключить переключателем или удалить. Оба изменения начинают действовать после сохранения.
Совпадение не зависит от регистра и учитывает границы слов: правило API
не меняет APIs. При совпадении нескольких фраз выбирается самая длинная.
Для одного термина правило конкретного языка имеет приоритет над правилом
Все языки. Замены применяются один раз, результат одной замены не
запускает следующую. В правилах допустим обычный текст; регулярные выражения,
SSML и фонетические коды не интерпретируются.
Совпадения в исходном тексте защищаются от изменения нормализатором:
например, правило для API сработает, даже если нормализатор обычно
транслитерирует английские слова. Явно заданные в SSML phoneme, sub и
say-as сохраняют своё произношение.
Исходный текст не меняется в редакторе. Фоновая озвучка сохраняет версию словаря при запуске и использует её при продолжении. Поэтому сохранение новых правил не меняет уже начатую задачу и готовое аудио.
Несохранённые изменения остаются в раскрываемом блоке, включая случаи ошибки сервера. Если словарь изменился в другой вкладке, сохранение блокируется, чтобы не перезаписать чужую версию. Скопируйте нужные правки и нажмите Загрузить сохранённый словарь: интерфейс запросит подтверждение замены локальных правок. Черновик хранится только до ухода из раздела или выхода из аккаунта. Сохранённый словарь доступен при следующем входе.
API¶
Методы используют аутентификацию аккаунта; публичная анонимная озвучка не читает персональный словарь.
GET /api/tts/v1/pronunciationвозвращает{version, revision, entries}.PUT /api/tts/v1/pronunciationпринимает{revision, entries}и возвращает новую версию. Передавайтеrevisionиз последнего чтения. Код409означает, что словарь уже изменился; локальные правки следует сопоставить с новым результатомGET.POST /api/tts/v1/pronunciation/previewпринимает{text, lang}и возвращает{original_text, prepared_text, revision}. Используются только сохранённые правила; полеtextограничено 5000 символами.
Формат одной записи:
{
"id": "053d77eb-502a-401b-b9f5-cb339fb9fc60",
"term": "API",
"replacement": "эй пи ай",
"language": "ru-RU",
"enabled": true
}
id — UUID. language — BCP-47 или *; сервер нормализует регистр кода.
Нельзя повторять идентификатор или один термин для одного языка.
Включение после обновления¶
Frontend уже собран в static/app.js. Для применения backend-изменений
перезапустите сервис штатным способом. Таблица user_pronunciation_dictionary
создаётся при инициализации схемы; для окружений с Aerich добавлена миграция
18_20260913120000_user_pronunciation_dictionary.py.