EnhancedTones (Улучшение тональных сигналов)
- Автор: 'David CM
- Исходный код дополнения: Посетить Web-сайт enhancedTones
Краткое описание
Дополнение EnhancedTones изменяет способ управления тональными сигналами в NVDA, чтобы сделать этот процесс более эффективным.
Кроме того, в этом дополнении реализовано несколько генераторов волн, позволяющих пользователю настраивать звуковой сигнал. С его помощью вы сможете легко внедрить больше генераторов.
Если вы хотите создать свой собственный генератор волн и интегрировать его в это дополнение, обратитесь к разделу для разработчиков.
Это дополнение было создано для решения некоторых проблем с определенными звуковыми картами, которые теперь встречаются реже, так как у нас есть лучшие драйверы звуковых карт. Но некоторые люди сообщали, что эти проблемы все еще присутствуют, например, большие задержки при воспроизведении мелодий, или вообще не воспроизводятся первые мелодии. Теперь у этого дополнения больше возможностей, так что оно может быть полезным, даже если у вас нет проблем с генерацией родных тонов. Попробуйте сами и посмотрите, работает ли это для вас.
Я решил создать другие генераторы тонов, чтобы пользователи могли настроить звук звукового сигнала, и некоторым людям, в том числе и мне, это понравилось. Один пользователь с потерей слуха сообщил, что ему было удобнее использовать генератор синусоидальных тонов.
Подробнее об особенностях дополнения можно прочитать в справке.
Основная информация
Название | Версия | Совместимость с API NVDA | Последняя протестированная версия NVDA | Минимальная версия NVDA | Дата загрузки в каталог | Размер | Лицензия |
---|---|---|---|---|---|---|---|
enhancedTones | 24.1.1 | 2024.1 | 2024.2 | 2018.3.0 | 10-07-2024 00:48:04 | 51 Кб. | GPL v2 |
Информация о локализации на русский язык
🔝 Назад к оглавлениюСкачать
EnhancedTones-V.24.1.1.nvda-addon
⬇ Перейти к истории версий 🔝 Назад к оглавлениюРазделы
🔝 Назад к оглавлениюСправка
Подробнее
EnhancedTones (Улучшение тональных сигналов)
Дополнение EnhancedTones изменяет способ управления тональными сигналами в NVDA, чтобы сделать этот процесс более эффективным.
Кроме того, в этом дополнении реализовано несколько генераторов волн, позволяющих пользователю настраивать звуковой сигнал. С его помощью вы сможете легко внедрить больше генераторов.
Если вы хотите создать свой собственный генератор волн и интегрировать его в это дополнение, обратитесь к разделу для разработчиков.
Особенности:
- Улучшает процесс подачи звукового сигнала, воспроизводя его фрагментами до тех пор, пока он не завершится или не будет прерван новым сигналом.
- Реализует несколько типов генераторов волн, которые по звучанию сильно отличаются друг от друга. Повеселитесь, пробуя разные генераторы, и, возможно, один из них вам понравится!
- Если тон прерывается другим тоном с той же частотой, волна не прерывается, а только увеличивает свою продолжительность. Таким образом, можно избежать раздражающих пауз при быстром воспроизведении тонов.
- Если тон прерывается другим тоном другой частоты, будет произведена развертка частоты, чтобы перейти на новую частоту. Это также позволяет избежать пауз между тонами.
Последние две функции позволяют добиться более приятного звучания при использовании таких функций, как отслеживание звука мышью.
Скачать.
Последнюю версию можно скачать по этой ссылке
Изначальная идея этого дополнения.
Это дополнение было создано для решения некоторых проблем с определенными звуковыми картами, которые теперь встречаются реже, так как у нас есть лучшие драйверы звуковых карт. Но некоторые люди сообщали, что эти проблемы все еще присутствуют, например, большие задержки при воспроизведении мелодий, или вообще не воспроизводятся первые мелодии. Теперь у этого дополнения больше возможностей, так что оно может быть полезным, даже если у вас нет проблем с генерацией родных тонов. Попробуйте сами и посмотрите, работает ли это для вас.
Описание оригинального процесса подачи звукового сигнала.
Для контекста. Когда NVDA подает звуковой сигнал, она делает следующее:
- импортирует generateBeep.
- останавливает проигрыватель.
- генерирует звуковой сигнал.
- отправляет сгенерированный сигнал в плеер.
Это может вызвать проблемы на некоторых звуковых картах, например, большие задержки при воспроизведении тонов или вообще не воспроизведение первых тонов. Похоже, что проблема возникает при остановке проигрывателя, особенно если это повторяется быстро.
У меня была такая проблема в прошлом на одном из моих компьютеров. Это и послужило причиной создания этого дополнения. Мое дополнение не останавливает плеер, и это устранило проблему.
Описание процесса звукового сигнала дополнения.
- Сначала создается фоновый поток, который будет обрабатывать звуковые сигналы и взаимодействовать с выходом плеера.
- Поток ожидает данных для подачи звукового сигнала, используя блокировку событий.
- Когда вызывается функция звукового сигнала, информация отправляется в поток и блокировка потока снимается.
- Поток вызывает функцию, которая инициирует генерацию формы волны для звукового сигнала, и снова блокирует сигнал события.
- Он запрашивает у генератора форму сигнала в виде фрагментов и отправляет каждый фрагмент в выходной плеер. Генератор может генерировать форму сигнала параллельно во время отправки или генерировать всю форму сигнала в начале.
- Если во время отправки формы сигнала в плеер блокировка снимается, это означает, что был получен запрос на новый звуковой сигнал, то он прекращает отправку данных и переходит к шагу № 3, чтобы начать обработку требуемого нового звукового сигнала.
- Если вся форма сигнала была отправлена на плеер без перерыва, он переходит к шагу № 2, чтобы дождаться нового сигнала. Помните, что блокировка была заблокирована на шаге 4, поэтому шаг 2 снова будет приостановлен.
Таким образом, выходной плеер никогда не останавливается, и процесс становится более эффективным.
Примечание к дополнении.
Если вы попробуете это дополнение, даже если у вас нет проблем с оригинальным способом генерации тонов, вы увидите, что тональность стала более плавной, особенно в быстро повторяющихся тонах.
Кроме того, в этом дополнении реализовано несколько генераторов тонов, по умолчанию включен синусоидальный генератор. Но вы можете переключить его на генератор тона NVDA.
Мои собственные генераторы тона написаны исключительно на Python. Поэтому они менее эффективны, чем генератор тона NVDA, но разница не заметна из-за лучшего способа обработки процесса воспроизведения и из-за того, что форма волны не генерируется полностью с нуля, а создается на лету во время воспроизведения.
Я решил создать другие генераторы тонов, чтобы пользователи могли настроить звук звукового сигнала, и некоторым людям, в том числе и мне, это понравилось. Один пользователь с потерей слуха сообщил, что ему было удобнее использовать генератор синусоидальных тонов.
Примечание: Генерация тонов - это не то же самое, что функция вывода тонов на вашу звуковую карту. Поэтому даже если вы используете встроенный в NVDA генератор тонов, вы все равно увидите улучшения.
Скачать.
Последняя версия доступна для загрузки по адресу.
Требования
Вам необходима NVDA 2018.3 или более новая версия.
Установка
Просто установите его как дополнение в NVDA.
Использование
Функциональность дополнения будет включена после его установки.
Чтобы включить или отключить его, перейдите в настройки NVDA и выберите "Улучшенные тона". В этой категории вы можете установить следующие параметры:
- Включить это дополнение. Если его отключить, будет использоваться оригинальная функция NVDA. Генератор тональных сигналов: здесь вы можете изменить генератор тональных сигналов. Выберите один из них и нажмите Enter, чтобы сохранить настройки, а затем попробуйте выбранный генератор.
для разработчиков.
Если вы хотите реализовать новые формы генерации тона, просто создайте класс, аналогичный имеющимся в коде генераторам тона, и зарегистрируйте его с помощью функции registerGenerator.
Для каждого класса генератора вы должны указать id, имя, методы startGenerate и nextChunk.
Вы можете реализовать класс AbstractGenerator, который реализует наиболее важные методы. Минимальные шаги для правильного расширения этого класса - это реализация функции sampleGenerator, а для создания корректного генератора необходимо указать идентификатор и имя. Это проще, чем создавать генератор с нуля.
вклад, отчеты и пожертвования
Если вам нравится мой проект или это программное обеспечение полезно для вас в повседневной жизни, и вы хотели бы внести свой вклад, вы можете сделать пожертвование следующими способами:
Если вы хотите исправить ошибки, сообщить о проблемах или новых возможностях, вы можете связаться со мной по адресу: dhf360@gmail.com.
Или в репозитории github этого проекта: Enhanced tones on GitHub
В этом репозитории вы можете получить последний релиз этого дополнения.
Перевод
История версий
Список версий
- EnhancedTones-V.24.1.1.nvda-addon
- EnhancedTones-V.2.2.nvda-addon
- EnhancedTones-V.2.1.nvda-addon
- EnhancedTones-V.2.0.nvda-addon
- EnhancedTones-V.1.3.nvda-addon
- EnhancedTones-V.1.2.1-dev.nvda-addon
- EnhancedTones-V.1.2-dev.nvda-addon
- EnhancedTones-V.1.1-dev.nvda-addon
- EnhancedTones-V.1.0a.nvda-addon
- EnhancedTones-V.1.0-dev.nvda-addon