Unspoken для современной NVDA, с использованием pyopenal
Версия v1 unspoken-ng использовала steam audio. Однако для этого требовалась компиляция исходного кода на C++ для сборки дополнения, и само дополнение было довольно большим. Версия v2 теперь использует PyOpenAl, что уменьшает размер дополнения и устраняет необходимость в libverb.
К сожалению, предыдущие версии Unspoken имели множество серьёзных проблем из-за зависимости от неподдерживаемой аудиобиблиотеки:
Эта версия Unspoken теперь использует библиотеку 3D-аудио под названием pyopenal. Pyopenal — это хорошо документированная библиотека, используемая во многих приложениях. Это означает, что библиотека проверена в боевых условиях, отлажена и поддерживается.
В случае с этим проектом я, по сути, просто релиз-менеджер, документатор и контактное лицо. Unspoken-ng был бы невозможен без:
После установки дополнение создаст новую категорию в настройках под названием «unspoken». Здесь вы можете включать и отключать звуки, изменять, будет ли NVDA объявлять типы элементов управления в дополнение к воспроизведению звуков, а также настраивать параметры реверберации.
Если всё, что вы хотите сделать, это собрать дополнение для NVDA, вы можете сделать это с помощью scons. Если же вы хотите внести изменения в привязки SteamAudio, вам понадобится Steam Audio SDK и компилятор Microsoft Visual C++. Когда всё это у вас будет, вы можете собрать привязки и дополнение, запустив build.bat.
Если вы хотите исправить любую из этих проблем, пул-реквесты будут приняты с радостью и благодарностью:
Я, Сэмюэл Пру (Samuel Proulx) aka fastfinge, публично обязуюсь сопровождать существующую функциональность всех функций дополнения, присутствующих в репозитории fastfinge/unspoken-ng, в будущем, чтобы поддерживать совместимость с изменениями API NVDA. Если я не смогу этого сделать, я найму кого-то другого для выполнения этой работы от моего имени. Я сам завишу от этой функциональности в некоторых критически важных рабочих процессах. Однако дополнение в текущем виде удовлетворяет мои потребности. Если вы захотите решить любую из вышеуказанных известных проблем, я тепло приветствую вас и приглашаю отправить пул-реквест. Когда я приму его, я буду поддерживать добавленную функциональность. Но эти проблемы не влияют на мой рабочий процесс, поэтому я не буду работать над ними самостоятельно.