mirror of
https://github.com/HIllya51/LunaTranslator.git
synced 2024-12-29 16:44: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. Отображение перевода
|
||
|
||
Если хотите читать по имени и не хотите отображать имя в оригинальном тексте и переводе, то необходимо вставить действие перед отображением оригинального текста и выполнением синтеза речи.
|
||
|
||
Учитывая, что в большинстве случаев цель исправления и цель исправления голоса совпадают, введен параметр `Применить к переводу`, чтобы текст, переданный для перевода, совпадал с текстом после исправления голоса.
|
||
|
||
Конечно, если используется большая модель для перевода, сохранение имени в оригинальном тексте также является хорошим решением, поэтому этот параметр по умолчанию не активирован.
|
||
|
||
Конечно, если не хотите сохранять имя в переводе, можно также рассмотреть фильтрацию имени в `Оптимизации перевода`, но в этом случае оригинальный текст все равно будет отображаться, и мне это не нравится. |