Разработчик: Blind adventurer
Этот мод перехватывает текст для создания речевого сопровождения, отправляемое на поддерживаемый игрой синтезатор (Windows.Media.SpeechSynthesis), и перенаправляет текст в NVDA через NVDA Controller Client. Он может отключать (заглушать) исходный голосовой движок OneCore в игре, сохраняя при этом тайминг игрового озвучивания. Мод, как и используемый игрой звуковой движок, озвучивает только английский язык.
Мост был протестирован в реальных условиях с:
•
Assassin’s Creed IV: Black Flag Resynced (ACBlackFlag.exe)
•
Assassin’s Creed Shadows (ACShadows.exe)
В нижеуказанном архиве используется наиболее проверенная версия кода 0.5.
Также я предполагаю, что эта программа может подойти и для других игр Ubisoft, но это требует тестирования.
Например, в «Star Wars Outlaws™ ».
ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ О РИСКАХ
Лаунчер внедряет WinRtNvdaBridge.dll в работающий игровой процесс, используя LoadLibraryW. Игры могут использовать технологии защиты от взлома (anti-tamper), и этот инструмент доступности не был одобрен компаниями Ubisoft, Steam или разработчиками игр. Нет никаких гарантий от сбоя запуска, вылета, срабатывания защиты или блокировки учетной записи. Используйте его, только если вы принимаете этот риск.
Обычные команды Start, Watch, Diagnose, Stop и Test не изменяют игровые файлы. Отдельная команда разработчика —apply-ini, которая может редактировать пользовательский конфигурационный файл, описана ниже как неудачный эксперимент.
БЫСТРЫЙ СТАРТ
- Извлеките весь архив в папку, доступную для записи. Не запускайте программу из ZIP-файла.
- Запустите NVDA.
- Запустите одну из поддерживаемых игр и включите в ней встроенное экранное озвучивание.
- Запустите Diagnose-Bridge.cmd.
-
Успешная базовая диагностика покажет примерно следующее:
Game profiles: 2 (профилей игр: 2)
Bridge DLL: present (DLL моста: присутствует)
NVDA Controller: loaded; NVDA: running (Контроллер NVDA: загружен; NVDA: запущен)
Когда игра открыта, диагностика также должна назвать игру и сказать:
Profile validation: passed (Проверка профиля: пройдена) -
Запустите Start-Bridge.cmd. Успешное подключение покажет сообщение:
Bridge loaded into. (Мост загружен в <имя игры>). - Перемещайтесь по озвучиваемому меню. Успех: NVDA произносит игровое озвучивание, а исходный голос OneCore беззвучен. Неудача: слышен только исходный игровой голос, NVDA молчит, или лаунчер сообщает об ошибке.
- Запустите Stop-Bridge.cmd перед закрытием игры, когда это возможно. Это отключает перехватчики (хуки) и восстанавливает громкость голоса OneCore.
Чтобы запустить мост до запуска игры, используйте Watch-Bridge.cmd. Он ожидает появления поддерживаемой игры и подключается автоматически.
После использования Stop-Bridge.cmd перезапустите игру перед повторным подключением моста. Библиотека DLL остается загруженной в процессе, даже если ее перехватчики безопасно отключены.
САМОПРОВЕРКА БЕЗ ИГРЫ
Закройте поддерживаемые игры, запустите NVDA и выполните Test-Bridge.cmd. NVDA должна произнести короткую тестовую фразу. Ожидаемые результаты в консоли:
WinRT call succeeded. (Вызов WinRT выполнен успешно.)
AudioVolume after hook: 0 (Громкость звука после перехвата: 0)
AudioVolume after stop: 1 (Громкость звука после остановки: 1)
Это доказывает, что локальный перехват WinRT, перенаправление в NVDA, отключение звука и восстановление громкости работают. Однако это не доказывает, что конкретная версия игры все еще использует тот же путь озвучивания.
КОМАНДЫ
Start-Bridge.cmd
Подключается к поддерживаемой игре, которая уже запущена.
Watch-Bridge.cmd
Ожидает запуска поддерживаемой игры, затем подключается.
Diagnose-Bridge.cmd
Сообщает информацию о профилях, необходимых файлах, доступности NVDA, обнаруженной игре, проверке профиля и о том, загружена ли DLL моста.
Stop-Bridge.cmd
Отключает перехватчики и восстанавливает громкость голоса OneCore в игре.
Test-Bridge.cmd
Запускает локальное дымовое тестирование моста без внедрения в игру.
КОНФИГУРАЦИЯ: Bridge.ini
Bridge.ini считывается при запуске DLL. Перезапустите игру после изменения файла.
MuteOriginal=1
Отключает звук исходного голоса OneCore в игре. Установите 0, чтобы слышать оба голоса.
SpeechMode=Latest
Отбрасывает устаревшие фразы из очереди и озвучивает самую новую. Это рекомендуемая настройка для быстрого отклика.
SpeechMode=Queue
Озвучивает каждую перехваченную фразу по порядку. Используйте, когда полнота важнее отзывчивости.
SpeechMode=Interrupt
Прерывает речь NVDA перед каждой новой фразой.
CancelPrevious=0
Переключатель совместимости. Установите 1, чтобы отменять предыдущую фразу NVDA всякий раз, когда обрабатывается новая фраза. Режим SpeechMode также может управлять отменой.
DeduplicateMs=350
Игнорирует идентичное повторное сообщение, полученное в течение 350 миллисекунд.
LogText=1
Записывает перехваченное озвучивание в WinRtNvdaBridge.log. Установите 0 для обеспечения конфиденциальности после устранения неполадок; журнал может содержать текст меню и другое внутриигровое содержимое.
ForwardSsml=0
Удаляет SSML-разметку и передает в NVDA обычный текст. Это рекомендуется, так как перенаправление сырого SSML ранее вызывало проблемы с пунктуацией.
SymbolLevel=100
Используется только при ForwardSsml=1. Возможные значения: 0, 100, 200 или 300.
ПРОФИЛИ ПОДДЕРЖИВАЕМЫХ ИГР: Games.ini
Games.ini содержит список разрешенных имен исполняемых файлов и требуемых соседних файлов. Лаунчер отказывается использовать профиль, если его проверки безопасности не совпадают. Не добавляйте неизвестный исполняемый файл без необходимости: профиль авторизует внедрение DLL в этот процесс.
Профиль для Shadows также сохраняет старые экспериментальные правила INI для исследовательских целей. Они никогда не применяются обычными командами моста. Разделение по языку не увенчалось успехом в реальных тестах, поскольку состояние языка в Steam могло переопределять локальные значения INI. Не рассматривайте эти правила как рабочую функцию.
Если вы намеренно экспериментируете, сначала закройте игру. Явные команды:
BridgeLauncher.exe —apply-ini ACShadows.exe
BridgeLauncher.exe —restore-ini ACShadows.exe
Первая команда один раз создает резервную копию ACShadows.ini.nvda-bridge.bak. Команда restore копирует эту резервную копию поверх отредактированного INI-файла. Уточните точный путь и значения в Games.ini перед использованием любой из этих команд.
УСТРАНЕНИЕ НЕПОЛАДОК
NVDA говорит «not available» (недоступен) в Diagnose:
Сначала запустите NVDA. Убедитесь, что nvdaControllerClient.dll находится рядом с DLL моста.
Нет запущенной поддерживаемой игры:
Сначала запустите игру или используйте Watch-Bridge.cmd. Убедитесь, что имя процесса совпадает с ACBlackFlag.exe или ACShadows.exe.
Ошибка проверки профиля (Profile validation failed):
Не найдены ожидаемые соседние игровые файлы. Не обходите эту проверку, пока вы не убедитесь в точной версии игры и структуре ее установки.
Не удается открыть игровой процесс или внедрение заблокировано:
Запускайте игру и мост с одинаковым уровнем привилегий. Программное обеспечение безопасности или защита от взлома могут блокировать внедрение. Не ослабляйте безопасность системы только для того, чтобы заставить мост работать.
DLL загружена, но перехват речи не сработал:
Прочитайте WinRtNvdaBridge.log. Ищите строки «Hooks installed» (Перехватчики установлены) или «ERROR:» (ОШИБКА:). Возможно, обновление игры или Windows изменило путь к WinRT озвучиванию.
NVDA молчит, но исходный голос игры работает:
Убедитесь, что встроенное озвучивание включено, NVDA запущена, установлено LogText=1, и в журнале есть строки TEXT:, SSML: или CLEAN:. Некоторые комбинации языков в игре могут полностью предотвращать вывод WinRT озвучивания.
Речь обрывается:
Попробуйте установить SpeechMode=Queue и CancelPrevious=0, затем перезапустите игру.
Речь отстает от навигации по меню:
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.