ObjectLocationTones (Звуковые сигналы расположения объектов)
Авторы:- Исходный код дополнения: Посетить Web-сайт objLocTones
Краткое описание
Дополнение ObjectLocationTones воспроизводит звуковые сигналы для определения расположения объектов на экране во время навигации.
При нажатии Ctrl+NumpadDelete можно включить или отключить автоматические сигналы.
Дополнение сообщает положение сфокусированного объекта и курсора в текстовых полях.
Жест NumpadDelete явно сообщает расположение текущего объекта.
Жест Windows+NumpadDelete сообщает положение курсора мыши.
Доступно непрерывное отслеживание мыши с настраиваемой опорной точкой по нажатию Shift+NumpadDelete.
Можно включить автоматическое воспроизведение контура каждого окна при его активации.
Доступно циклическое переключение режимов сообщения о курсоре.
В настройках можно регулировать длительность сигналов и громкость каналов.
Поддерживается генерация сигналов через MIDI с выбором инструмента.
Все настройки сохраняются и восстанавливаются при запуске.
Все особенности дополнения описаны в справочном руководстве.
Основная информация
| Название | Версия | Совместимость с API NVDA | Последняя протестированная версия NVDA | Минимальная версия NVDA | Дата загрузки в каталог | Размер | Лицензия |
|---|---|---|---|---|---|---|---|
| objLocTones | 26.1.0 | 2026.1 | 2026.1 | 2023.1 | 01-06-2026 22:11:33 | 270 Кб. | GPL v2 |
Информация о локализации на русский язык
🔝 Назад к оглавлениюСкачать
ObjLocTones-V.26.1.0.nvda-addon
⬇ Перейти к истории версий 🔝 Назад к оглавлениюРазделы
🔝 Назад к оглавлениюСправка
Подробнее
Object Location Tones (Звуковые сигналы местоположения объектов)
- Автор: Joseph Lee
- Ответственный за сопровождение: Dalen
- Скачать: Стабильная версия
- Совместимость с NVDA: 2023.1 и новее
После установки этого дополнения и перезапуска NVDA вы будете слышать звуковые сигналы, указывающие на местоположение различных объектов на экране по мере навигации. Чтобы отключить сообщение местоположения объектов, нажмите Ctrl+NumpadDelete. Чтобы снова включить его, используйте ту же комбинацию. Object Location Tones будет запоминать ваш выбор, и при запуске NVDA сохранит последнее состояние. Все настройки сохраняются даже после отключения и повторного включения дополнения.
Возможности:
- Сообщение местоположения сфокусированного объекта: Во время навигации позиционный звуковой сигнал будет указывать на текущее местоположение сфокусированного объекта. Эта функция помогает понять структуру приложения или веб-сайта, быстрее прокручивать длинные меню или списки файлов, а также лучше понимать, как ваша операционная система ведёт себя визуально.
- Сообщение местоположения курсора в текстовых полях: При навигации внутри редактируемых полей ввода позиционные сигналы будут указывать на местоположение курсора. Это помогает воспринимать, как документ прокручен по горизонтали и вертикали, насколько длинны ваши строки, когда и где они переносятся, лучше управлять отступами и многое другое.
- Включение/выключение позиционных сигналов: Вы можете включать или отключать автоматические позиционные сигналы во время навигации с помощью жеста
Ctrl+NumpadDelete. Эта функция позволяет активировать позиционные сигналы во время навигации только тогда, когда они вам нужны. - Включение/выключение сообщения о курсоре: Используйте жест
Ctrl+Windows+NumpadDelete, чтобы включить или отключить сообщение о местоположении курсора. Это позволяет оставить позиционные сигналы активными во время навигации, но отключить их для текстовых полей (или наоборот). - Явное сообщение местоположения объекта: Нажмите
NumpadDelete, чтобы явно сообщить местоположение сфокусированного объекта. В редактируемых полях ввода будет сообщено положение курсора, если включено сообщение о курсоре. Это полезно, когда сигналы во время навигации отключены или когда вы хотите снова услышать местоположение сфокусированного объекта без необходимости сначала уходить от него. - Явное сообщение местоположения курсора мыши: Используйте жест
Windows+NumpadDelete, чтобы сообщить местоположение курсора мыши с помощью позиционного сигнала. - Сообщение контура объекта: Используйте жест
Ctrl+Shift+NumpadDelete, чтобы услышать позиционный сигнал, указывающий контур текущего сфокусированного графического объекта. Это даёт вам представление о размере и расположении элементов управления или других элементов, что может быть полезно для понимания того, как визуальные элементы расположены на экране. Эта функция очень полезна при разработке графических интерфейсов. - Автоматическое сообщение контура окна переднего плана: Вы можете настроить Object Location Tones на автоматическое воспроизведение контура каждого вновь активированного окна переднего плана. Это обеспечивает мгновенную пространственную обратную связь при переключении между окнами или диалогами, без необходимости каждый раз выполнять ручной жест.
- Сообщение контура родительского объекта: Используйте жест
Ctrl+Alt+Shift+NumpadDelete, чтобы услышать контур родительского объекта текущего фокуса. Повторное нажатие перемещает вас дальше вверх по цепочке предков. Эта функция помогает понять отношения между сфокусированным объектом и его предками, что особенно полезно для разработки графических интерфейсов. - Непрерывное сообщение местоположения мыши: Используйте жест
Shift+NumpadDelete, чтобы включить непрерывное сообщение о местоположении курсора мыши относительно опорной точки. Эта функция воспроизводит один сигнал для мыши и другой для опорной точки. По умолчанию опорная точка устанавливается как местоположение сфокусированного объекта или системного курсора, если включено сообщение о курсоре, но её можно изменить на панели настроек. Другие варианты: положение центра экрана, центра окна переднего плана или верхнего левого угла любого из упомянутых, "Нет" (исключает опорную точку из вывода) или положение, в котором начался мониторинг мыши. Функция остаётся активной, пока тот же жест не будет использован для её отключения или пока мышь не остановится. Это полезно в приложениях или на веб-сайтах, где взаимодействие возможно только с помощью мыши, а также может помочь при редактировании и выделении текста. Эту функцию можно автоматически активировать при движении мыши, если выбрано соответствующее значение на панели настроек Object Location Tones. - Циклическое переключение режимов сообщения о курсоре: Используйте жест
Ctrl+Alt+Windows+NumpadDeleteдля циклического переключения различных режимов сообщения о курсоре. Доступные режимы: Строки: сообщает о движении курсора только при перемещении вверх или вниз по строкам; Столбцы: сообщает о движении курсора только при перемещении влево или вправо по тексту; Строки и столбцы: сообщает о движении курсора как в вертикальном, так и в горизонтальном направлениях; Нет: отключает сообщение о движении курсора в редактируемых текстовых полях. Эта функция позволяет точно настроить получаемую обратную связь при редактировании текста, адаптируясь к различным рабочим процессам и предпочтениям. - Использование MIDI (Цифровой интерфейс музыкальных инструментов) для генерации тонов: Эта функция позволяет вам использовать программные или аппаратные музыкальные синтезаторы с поддержкой MIDI для воспроизведения тонов вместо классических звуковых сигналов NVDA. Вы можете выбрать тоны, воспроизводимые любым инструментом, определённым стандартом General MIDI Level 1. В Microsoft Windows есть встроенный MIDI-синтезатор, поэтому вы можете использовать эту функцию сразу. Функция может быть активирована на панели настроек Object Location Tones. Хотя она стабильна, эта функция всё ещё находится на экспериментальной стадии, поскольку она полагается на ресурсы, не контролируемые NVDA. Пожалуйста, прочтите раздел ниже об использовании MIDI и о том, как правильно её настроить, чтобы получить позиционные сигналы, правильно отражающие расположение на экране.
- Панель настроек: Панель настроек позволяет дополнительно настроить сообщение позиционных сигналов. Вы можете регулировать длительность сигнала для навигации и сообщения о курсоре по отдельности, выбирать, как сообщать о движениях курсора (строки, столбцы, оба или никак), а также решать, сообщать ли о движениях курсора во время набора текста. Настройки, связанные с мышью, включают автоматический запуск мониторинга в реальном времени при движении мыши, настройку времени ожидания для мониторинга мыши, выбор опорной точки для мониторинга мыши и настройку чувствительности расстояния до целевого местоположения. Также есть опции, управляющие громкостью позиционных сигналов и их стереонаправлением. Вы также можете выбрать использование MIDI вместо классических звуковых сигналов NVDA и выбрать MIDI-инструмент. Панель настроек также включает опцию автоматического воспроизведения контура каждого объекта переднего плана при перемещении фокуса на него и поддерживает более динамичное поведение, при котором некоторые элементы управления могут появляться или становиться недоступными в зависимости от текущей конфигурации. В будущих выпусках будут добавлены новые опции.
Генерация тонов на основе MIDI
MIDI (Musical Instrument Digital Interface — Цифровой интерфейс музыкальных инструментов) — это не аудио, а протокол, используемый для передачи MIDI-совместимому синтезатору информации о том, какую ноту играть, какой инструмент использовать, с какой громкостью и как долго. Использование MIDI для позиционных сигналов даёт вам более музыкальный способ слышать положение на экране. Вы можете выбирать разные инструменты, получать более чёткие шаги высоты тона, используя все 128 MIDI-нот, и в целом создавать более приятный опыт прослушивания, который потенциально обеспечивает более выразительные и понятные звуковые подсказки. Когда вы включаете опцию Использовать MIDI для генерации тонов в настройках, Object Location Tones начинает отправлять MIDI-события вместо использования встроенной функции NVDA tones.beep(). Эти события направляются непосредственно на устройство вывода MIDI по умолчанию, установленное в вашей системе Windows. В большинстве случаев это будет Microsoft GS Wavetable Synth — встроенный программный синтезатор, входящий в состав Windows начиная с Windows 98. Сразу после установки флажка вы будете предупреждены, что эта опция является экспериментальной, и у вас попросят подтверждение. Это связано с тем, что воспроизведение тонов с помощью MIDI-инструкций зависит от программных и аппаратных компонентов, не контролируемых NVDA, и может существовать множество различных конфигураций. Например, если с вашим программным синтезатором что-то не так, его громкость снижена, или ваш аппаратный синтезатор выключен или настроен неправильно, вы просто не услышите позиционных сигналов, а дополнение Object Location Tones не будет знать, что что-то не в порядке. Часто случается, что сторонние синтезаторы перестают работать после выхода компьютера из сна или гибернации, или после возобновления работы виртуальной машины. В этих случаях переход в настройки, отключение и повторное включение MIDI решит проблему. Экспериментальное предупреждение будет изменено или удалено после того, как собранные отзывы пользователей помогут смягчить упомянутые проблемы. Когда вывод MIDI выключен, элемент выбора MIDI-инструмента на панели настроек автоматически отключается. Это помогает понять, что выбранный инструмент применяется только тогда, когда активна генерация тонов MIDI.
Ограничения встроенного синтезатора Microsoft
Хотя он работает "из коробки", что отлично, так как позволяет Object Location Tones работать с MIDI без каких-либо дополнительных требований, синтезатор Microsoft GS Wavetable Synth имеет серьёзные ограничения:
- Он устарел и неэффективен, и не обновлялся десятилетиями.
- Он имеет заметную задержку, часто от 30 мс до более 1 секунды, в зависимости от вашей машины и аудиодрайверов. Эта задержка особенно критична для мониторинга мыши или быстрой навигации, когда требуется мгновенная обратная связь.
- Он не может загружать или изменять SoundFont'ы. Вы ограничены теми инструментами General MIDI, с которыми он поставляется.
- Он не поддерживает аудиоэффекты, такие как реверберация, хорус или огибающие фильтра. Из-за этого инструменты часто звучат сухо, плоско и без пространственной глубины.
- Некоторые инструменты не воспроизводят весь диапазон MIDI-нот (0–127), что означает, что части экрана могут давать неправильные сигналы для вертикальной навигации.
Тем не менее, одним из хороших качеств GS Wavetable Synth является то, что инструменты являются моно, что помогает точно отображать горизонтальное пространство.
Вы можете добиться лучших результатов с программными синтезаторами сторонних производителей
Если вы хотите получить более отзывчивый и гибкий звук, вы можете установить более качественный программный синтезатор. Два популярных бесплатных:
-
CoolSoft VirtualMIDISynth Прост в использовании, имеет хороший интерфейс и может установить себя в качестве системного MIDI-устройства по умолчанию. Позволяет загружать собственные SoundFont'ы и настраивать всё через панель управления.
-
FluidSynth Разработан для работы с аудио в реальном времени с очень низкой задержкой. Он мощный и быстрый, но не имеет встроенного графического интерфейса. Он больше подходит, если вы знакомы с инструментами командной строки или внешними интерфейсами, такими как Qsynth.
Чтобы использовать любой из них с Object Location Tones, вам нужно убедиться, что они установлены в качестве вывода MIDI по умолчанию. CoolSoft может обработать это автоматически. В противном случае вам потребуется настроить системный MIDI Mapper или использовать инструмент маршрутизации. Вам также потребуется загрузить и установить SoundFont для использования с любым из двух синтезаторов. Хороший выбор бесплатных SoundFont'ов можно найти на официальном сайте CoolSoft VirtualMIDISynth.
SoundFont'ы: на что обратить внимание
SoundFont'ы — это файлы (*.sf2), содержащие сэмплированные инструменты. Ваш синтезатор будет использовать их для фактического воспроизведения MIDI-нот. Для этого дополнения вам не нужно ничего сложного, но следует помнить о нескольких вещах:
- Инструмент, используемый для позиционных сигналов, должен быть моно. Стереоинструменты (например, многие пианино) могут исказить отображение положения экрана на стереопространство, и ваше определение горизонтального положения будет неверным.
- Инструмент не должен иметь медленной атаки или затухания в начале (обычно у струнных инструментов), иначе нота может быть неслышна из-за настроек длительности сигнала, и даже если она будет слышна, у вас будет задержка позиционной обратной связи.
- Инструмент должен охватывать все 128 MIDI-нот (от 0 до 127). Если это не так, у вас будет неправильное отображение высоты тона на вертикальную плоскость.
- Старайтесь выбирать компактный SoundFont, размером около 32 МБ. Это обеспечивает низкое использование памяти при сохранении хорошего звучания. Огромные SoundFont'ы, созданные для музыкального производства, не добавляют здесь ничего полезного и просто тратят оперативную память.
Вы можете выбрать, какой инструмент будет использовать дополнение, в его настройках. После выбора желательно проверить, как он ведёт себя при использовании для позиционной обратной связи. Для этого перемещайтесь по фиксированным областям интерфейса, таким как рабочий стол, панель задач, меню "Пуск" и системный трей. Если ноты пропадают или кажутся несоответствующими высоте, особенно у верхнего и нижнего краёв экрана, или элементы, расположенные один под другим (например, пункты меню), сообщаются с сильно различающимся горизонтальным положением, особенно между верхним и нижним краями экрана, переключитесь на другой инструмент.
Для продвинутых пользователей
Если вы музыкант или у вас есть MIDI-оборудование, вы также можете направлять MIDI-вывод на аппаратный синтезатор или MIDI-звуковой модуль. Пока устройство отображается как стандартный MIDI-вывод и может быть установлено по умолчанию, оно будет работать с этим дополнением. Такая настройка даёт вам полный контроль над звуком и задержкой, хотя требует немного больше усилий для конфигурации.
Включённые MIDI-компоненты
Object Location Tones включает в себя внешние двоичные файлы для своей MIDI-функциональности. MIDI-пакет, поставляемый с этим дополнением, представляет собой сильно модифицированный автономный вариант pygame.midi, адаптированный для использования внутри дополнения, а не импортируемый из полной установки pygame. Пакет расширяет функциональность оригинального pygame.midi, добавляя API высокого уровня для управления MIDI-событиями.
Включённая поддержка MIDI основана на:
pygame.midiиз проекта pygamePortMidi— кроссплатформенной библиотеке MIDI ввода-вывода, используемой под капотомPyPortMidi/pm_python— привязках Python для PortMidi
Соответственно, MIDI-пакет дополнения содержит такие файлы, как portmidi.dll и скомпилированные модули расширения Python (*.pyd) из pm_python, необходимые для поддержки MIDI.
Важные примечания:
- Жест
Ctrl+NumpadDeleteотключает как сообщение о навигации, так и сообщение о курсоре, если оно включено. Это сделано для удобства и обратной совместимости. Повторное использование жеста снова включит сообщение о курсоре, если только оно не было явно отключено с помощью своего жеста или панели настроек до этого. Чтобы включить сообщение о курсоре при выключенном сообщении о навигации, используйте либо панель настроек, либо жестCtrl+Windows+NumpadDeleteпосле отключения позиционных сигналов для навигации. - Если элемент управления находится где-то за пределами экрана, сигналы для его местоположения воспроизводиться не будут.
- Некоторые сообщения о местоположении курсора могут быть неточными в определённых типах полей ввода, особенно в приложениях с нестандартными графическими элементами управления. Ошибки обычно возникают в конце документов или когда документы пусты.
- Если вы решите использовать MIDI для генерации тонов, убедитесь, что выбранный инструмент из выбранного SoundFont'а является моно и не имеет задержки в начале нот. В противном случае позиционные сигналы не будут соответствовать положению на экране или могут быть неслышны из-за длительности позиционного сигнала, или и то, и другое. Также убедитесь, что инструмент охватывает весь диапазон нот 0-128, чтобы быть уверенным, что позиционные сигналы правильны и/или слышны.
- Если индикаторы выполнения приложений начинают подавать сигналы при переводе фокуса на интерфейс, и ваши сообщения индикатора выполнения настроены на звуковые сигналы, и вы не используете MIDI для генерации тонов, может возникнуть некоторая путаница, так как Object Location Tones также будет издавать звуковые сигналы. Использование MIDI или регулировка длительности позиционного сигнала на панели настроек могут помочь отличить сигналы индикатора выполнения от позиционных сигналов.
- Если другое дополнение использует эмулированные нажатия клавиш (особенно с добавлением звуковых сигналов, когда вы не используете MIDI), может возникнуть интерференция, пока вы не определите, как взаимодействуют сигналы обоих дополнений. Например, Braille Extender может использовать эмулированные нажатия клавиш для улучшения взаимодействия с дисплеем Брайля.
- Если другое дополнение изменяет определённые части NVDA (особенно если оно устаревшее или несовместимое), некоторые события могут не обнаруживаться Object Location Tones. Например, старая версия Braille Extender может阻止 Object Location Tones обнаруживать набор текста, что приведёт к сообщению местоположения курсора во время набора текста независимо от ваших настроек, что может раздражать.