mirror of
https://github.com/HIllya51/LunaTranslator.git
synced 2024-12-29 00:24:13 +08:00
61 lines
6.7 KiB
Markdown
61 lines
6.7 KiB
Markdown
|
## Синтез речи с использованием разных голосов для разных персонажей
|
|||
|
|
|||
|
Во-первых, если текущий текст не содержит имени или другой идентифицирующей информации, то в селекторе текста можно дополнительно выбрать текст имени. Отображаемый текст будет расположен в порядке выбора.
|
|||
|
|
|||
|
Затем, в настройках игры -> `Голос` (или в интерфейсе настроек `Настройки голоса`, но это будут глобальные настройки, не рекомендуется делать глобальные настройки) отключите `Следовать по умолчанию`, затем активируйте `Указание голоса`, добавьте строку в его настройках, установите `Условие` на `Содержит`, введите имя в `Цель`, а затем выберите голос в `Указать как`.
|
|||
|
|
|||
|
![img](https://image.lunatranslator.org/zh/tts/1.png)
|
|||
|
|
|||
|
Однако, поскольку дополнительно выбрали текст имени, отображаемый и переведенный текст содержит дополнительную информацию об имени, и голос также будет произносить имя. Чтобы решить эту проблему, активируйте `Исправление голоса`, используя регулярные выражения, чтобы отфильтровать имя и его символы.
|
|||
|
Если также активировано `Применить к переводу`, то это исправление голоса также удалит имя из отображаемого и переведенного текста, что сделает отображаемый текст таким же, как и при невыбранных элементах имени.
|
|||
|
|
|||
|
![img](https://image.lunatranslator.org/zh/tts/3.png)
|
|||
|
|
|||
|
## Подробное объяснение указания голоса
|
|||
|
|
|||
|
Когда текущий текст соответствует условиям, выполняется действие, указанное в `Указать как`.
|
|||
|
|
|||
|
#### Условия
|
|||
|
|
|||
|
1. Регулярное выражение
|
|||
|
Использовать ли регулярное выражение для определения.
|
|||
|
1. Условие
|
|||
|
**Начало/Конец** Когда установлено на Начало/Конец, условие выполняется только тогда, когда цель находится в начале или конце текста.
|
|||
|
**Содержит** Условие выполняется, если цель появляется в тексте. Это более мягкое определение.
|
|||
|
Когда одновременно активировано `Регулярное выражение`, регулярное выражение автоматически обрабатывается для совместимости с этим параметром.
|
|||
|
1. Цель
|
|||
|
Текст для определения, обычно **имя**.
|
|||
|
Когда активировано `Регулярное выражение`, его содержимое будет использоваться как регулярное выражение для более точного определения.
|
|||
|
|
|||
|
#### Указать как
|
|||
|
|
|||
|
1. Пропустить
|
|||
|
Когда определено, что условие выполнено, пропустить чтение текущего текста.
|
|||
|
|
|||
|
1. По умолчанию
|
|||
|
Использовать голос по умолчанию для содержимого, соответствующего условиям. Обычно, когда используется очень мягкое определение, легко вызвать ошибки. Перемещение определения для этого действия перед более мягким определением может избежать ошибок.
|
|||
|
1. Выбрать голос
|
|||
|
После выбора появится окно для выбора голосового движка и голоса. При выполнении условия будет использоваться этот голос для чтения.
|
|||
|
|
|||
|
## Некоторые проблемы с исправлением голоса
|
|||
|
|
|||
|
Весь процесс:
|
|||
|
|
|||
|
1. Извлечение текста
|
|||
|
1. Обработка текста - Предварительная обработка текста
|
|||
|
1. Указание голоса
|
|||
|
1. Исправление голоса
|
|||
|
1. -> Выполнение синтеза речи
|
|||
|
1. Отображение оригинального текста (не обновлять при получении перевода)
|
|||
|
1. Оптимизация перевода - Предварительная обработка
|
|||
|
1. Перевод
|
|||
|
1. Оптимизация перевода - Постобработка
|
|||
|
1. Отображение перевода
|
|||
|
|
|||
|
Если хотите читать по имени и не хотите отображать имя в оригинальном тексте и переводе, то необходимо вставить действие перед отображением оригинального текста и выполнением синтеза речи.
|
|||
|
|
|||
|
Учитывая, что в большинстве случаев цель исправления и цель исправления голоса совпадают, введен параметр `Применить к переводу`, чтобы текст, переданный для перевода, совпадал с текстом после исправления голоса.
|
|||
|
|
|||
|
Конечно, если используется большая модель для перевода, сохранение имени в оригинальном тексте также является хорошим решением, поэтому этот параметр по умолчанию не активирован.
|
|||
|
|
|||
|
Конечно, если не хотите сохранять имя в переводе, можно также рассмотреть фильтрацию имени в `Оптимизации перевода`, но в этом случае оригинальный текст все равно будет отображаться, и мне это не нравится.
|