Новый речевой сервер swiftmac для Emacspeak на macOS

Дата:04.04.2023
Источник:GitHub
Поделиться в Twitter Поделиться в F******k Поделиться в VKontakte Поделиться в Telegram Поделиться в Mastodon

Представлен новый речевой сервер swiftmac для самоозвучивающейся рабочей среды Emacspeak на операционных системах macOS. Пока это первая публичная версия, которая ещё дорабатывается, но перед проектом ставится задача подготовить полноценную замену текущей реализации речевого сервера Emacspeak на основе Python-скрипта, печально известной сбоями и утечкой памяти. В перспективе планируется, что swiftmac будет включён в состав Emacspeak и станет поставляться вместе с ним.

При проектировании swiftmac были сформулированы следующие требования к проекту:

  • Реализация исключительно на Swift без дополнительных зависимостей.
  • Компилируемый и многопоточный для полных неблокирующих операций.
  • Высокая надёжность, чтобы речевой вывод не ломался, как бывало раньше с реализацией через Python.
  • Не требуется никакой настройки или специальной установки в Emacs или операционной системе.
  • Полная поддержка всех команд речевого сервера eMacspeak.
  • С отдельным тестовым скриптом для подтверждения работы всех функций.

Пока не всё из этого достигнуто, так что это лишь первый тестовый релиз alpha 0.3, хотя уже и достаточно стабильный для повседневного использования.

Среди запланированной, но ещё не реализованной функциональности, выделяется:

  • Поддержка изменения голоса.
  • Делегат обработки ошибок.
  • Передача звуковых сигналов.
  • Завершение обработки splitCaps, то есть сигналов на заглавных буквах.
  • Завершение тестового драйвера на основе Python для проверки функциональности.
  • Обработка эха с помощью пользовательского NSSpeechSynthesizer с эффектом эха.
  • Поддержка изменения высоты тона для заглавных букв.

Получить всю необходимую информацию и материалы по swiftmac можно в его репозитории на GitHub.

Чтобы помочь с отладкой, необходимо собрать swiftmac в режиме отладки (запуск make с параметром install-debug) и затем отправлять разработчику файл /tmp/swiftmac-debug-....log.

Также есть пока недокументированные настройки для изменения громкости звуков, голосов и тонов отдельно. Это можно сделать через переменные окружения SWIFTMAC_SOUND_VOLUME, SWIFTMAC_VOICE_VOLUME и SWIFTMAC_TONE_VOLUME соответственно. Область допустимых значений от 0 до 1, то есть 0.5 - это половинная громкость.


Метки


Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2024