Debian-Accessibility — ПО

Синтезаторы речи и связанные API

EFlite

Речевой сервер для Emacspeak и yasr (или других программ чтения экрана), который позволяет им взаимодействовать с Festival Lite, свободным синтезатором речи, разработанным в CMU Speech Center в качестве ответвления Festival.

Из-за ограничений, унаследованных от своего базового компонента, в настоящий момент EFlite предоставляет поддержку только для английского языка.

eSpeak

eSpeak — программный синтезатор речи для английского языка и некоторых других языков.

eSpeak может производить английскую речь высокого качества. Он использует метод синтеза, который не используется в других синтезаторах речи с открытым исходным кодом (не конкатенативный синтезатор речи, поэтому он также имеет очень небольшой охват), и звучит совершенно по-другому. Вероятно, он звучит не очень естественно и не очень гладко, но некоторым его произношение покажется несколько более ясным и более простым для слушания в течении долгого времени.

Он может быть запущен из командной строки для чтения текста из файла или стандартного ввода. Он также хорошо работает в качестве Talker с системой синтеза речи KDE (KTTS), например, в качестве альтернативы Festival. Как таковой, он может зачитывать текст, который был выбран в буфере обмена, либо напрямую из браузера Konqueror или редактора Kate.

eSpeak также может использоваться с GNOME-speech и Speech Dispatcher.

Festival Lite

Небольшая быстрая программа синтеза речи в реальном времени. Она является последним дополнением к набору свободных программных инструментов для синтеза речи, включающему Festival Speech Synthesis System Университета Эдинбурга и проект Университета Карнеги-Меллон FestVox, инструменты, сценарии и документации для построения синтетических голосов. Тем не менее, сама по себе эта программа не требует для запуска что-либо из этого набора.

В настоящее время поддерживает английский язык.

Festival

Мультиязычная система синтеза речи общего назначения, разработанная в CSTR [Centre for Speech Technology Research] в Университете Эдинбурга.

Festival предлагает полную систему синтеза речи с различными API, а также окружение для разработки и исследования техник синтеза речи. Она написана на C++ и имеет основанный на Scheme интерпретатор команд для общего контроля.

Помимо исследования синтеза речи, festival полезна в качестве самостоятельной программы синтеза речи. Она может производить чёткую понятную речь из текста.

recite

Recite — программа для синтеза речи. Качество производимого звука не очень высоко, но его вполне может хватать для озвучивания отчётов о случайных ошибках.

Если передать программе текст на английском языке, recite конвертирует его в серию фонем, затем конвертирует фонемы в последовательность параметров голосового тракта, а затем синтезирует звук, который был бы произнесён голосовым трактом при произнесении введённого предложения. Recite может выполнять подмножество этих операций, поэтому она может использоваться для конвертации текста в фонемы, либо для создания высказывания на основе параметров голосового тракта, вычисленных другой программой.

Speech Dispatcher

Предоставляет независимую от устройств прослойку для синтезаторов речи. В качестве базовых компонентов поддерживает различные программные и аппаратные синтезаторы речи и предоставляет общую прослойку для приложений для синтеза речи и воспроизведения данных PCM через различные компоненты.

Различные высокоуровневые понятия, такие как добавление в очередь и прерывание речи, а также применение конкретных настроек пользователя, реализованы так, что они не зависят от оборудования, следовательно это освобождает программиста от лишнего труда по повторному изобретению колеса.

Интернационализованный синтез речи

Все доступные в настоящий момент свободные решения для программных синтезаторов речи, имеют один общий недостаток: по большей части, они ограничены английским языком и предоставляют лишь несущественную поддержку других языков, либо, в большинстве случаев, вообще не предоставляют таковой. Среди всех свободных программных синтезаторов речи для Linux лишь CMU Festival поддерживает более одного естественного языка. CMU Festival может синтезировать фразы на английском, испанском и валлийском. Немецкий не поддерживается. Французский не поддерживается. Русский не поддерживается. В то время, когда интернационализация и локализация являются трендами в ПО и различных сетевых сервисах, резонно ли требовать, чтобы слепые люди, заинтересованные в Linux, учили английской только для того, чтобы понимать вывод своего компьютера и общаться с другими людьми на иностранном языке?

К сожалению, синтезаторы речи не являются излюбленным доморощенным проектом Джейн Хакер (Jane Hacker). Создание толкового синтезатора речи предполагает выполнение трудоёмких задач. Конкатенативный синтез речи требует точного создания базы данных фонем, содержащей все возможные комбинации звуков целевого языка. Правила, определяющие трансформацию репрезентации текста в индивидуальные фонемы, также должны быть разработаны и отточены, обычно это требует разделения потока символов на логические группы, такие как предложения, фразы и слова. Для этого лексического анализа требуется лексикон конкретного языка, который редко выпускается под свободной лицензией.

Одной из наиболее перспективных систем синтеза речи является Mbrola, которая имеет базы данных фонем для более чем десяти различных языков. К сожалению, лицензия, выбранная проектом, довольно ограничительна. Mbrola может поставляться лишь в предварительно собранном двоичном виде. Кроме того, базы данных фонем предназначены только для невоенного и некоммерческого использования. Мы связались с разработчиками проекта, но они не могут изменить лицензирование своей работы из-за ограничений, установленных различными участниками проекта. К сожалению, учитывая ограничительную модель лицензирования Mbrola, она не может быть использована в качестве основы для дальнейшей работы в этом направлении, по меньшей мере, в контексте операционной системы Debian.

Без мультиязыкового синтезатора речи широкого назначения, Linux не может быть принят программами, реализующими вспомогательные технологии, а также людьми с ограничениями по зрению. Что мы можем сделать для того, чтобы улучшить эту ситуацию?

По сути, возможно два подхода:

  1. Организовать группу людей, желающих помощь в этом деле, и попытаться активно улучшить ситуацию. Это может оказаться сложным, поскольку это требует многих специфических знаний о синтезе речи, получить которые не очень-то просто при самостоятельном подходе к изучению. Тем не менее, это не должно отпугнуть вас. Если вы считаете, что вы можете мотивировать достаточно большую группу людей не достижение некоторых улучшений, это стоит сделать.
  2. Получить финансирование и нанять несколько институтов, которые уже знают, как создавать необходимые базы данных фонем, лексики и правила трансформации. Этот подход имеет своим преимуществом то, что у него выше вероятность создания качественных результатов, также он должен достичь некоторых улучшений значительно раньше, чем первый подход. Конечно, следует заранее договориться по поводу лицензии, под которой будет выпущены результаты работы, и эта лицензия должна удовлетворять Критериям Debian по определению Свободного ПО. Идеальным решением было бы, конечно, убедить какой-нибудь университет осуществить финансирование такого проекта и передать его результаты сообществу СПО.

Последнее, но не менее важное, заключается в том, что сегодня, как кажется, большинство коммерчески успешных продуктов для синтезирования речи не используют конкатенативный синтез речи в основном потому, что базы данных звуков занимают слишком много пространства на диске. Это нежелательно для небольших встраиваемых продуктов, например для мобильных телефонов. Выпущенное недавно свободное ПО, такое как eSpeak, пытается использовать этот подход, возможно стоит к нему приглядеться.

Расширения Emacs для обзора экрана

Emacspeak

Система вывода речи, которая позволяет невидящим людям работать в системе UNIX. Если вы запустите Emacs с Emacspeak, вы будете получать речевой отклик на все ваши действия. Выгода от этого будет зависеть от того, насколько хорошо вы используете Emacs. Нет ничего, что вы не могли бы сделать в Emacs :-). Этот пакет включает в себя речевые серверы, написанные на tcl для поддержки речевых синтезаторов DECtalk Express и DECtalk MultiVoice. Для поддержки других синтезаторов посмотрите отдельные пакеты с речевыми серверами серверами, такие как Emacspeak-ss или eflite.

speechd-el

Клиент Emacs для речевых синтезаторов, дисплеев Брайля и других альтернативных интерфейсов ввода. Он предоставляет полное речевое окружение и окружение Брайля для Emacs. Он нацелен, в первую очередь, на слабо видящих пользователей, которым требуется не-визуальное взаимодействие с Emacs, но он может использоваться и теми, кому требуется сложная речь или другой вид альтернативного вывода из Emacs.

Программы для чтения консоли (текстовый режим)

BRLTTY

Служба, предоставляющая доступ к консоли Linux для слепых, использующая дисплей Брайля. Она управляет терминалом Брайля и предоставляет возможности по обзору всего экрана.

Следующие модели дисплеев поддерживаются в настоящее время (в версии 3.4.1-2):

BRLTTY также предоставляет инфраструктуру клиент/сервер для приложений, желающих использовать дисплей Брайля. Служба слушает входящие соединения по протоколу TCP/IP на определённом порту. Разделяемая объектная библиотека для клиентов предоставляется пакетом libbrlapi. Статическая библиотека, заголовочные файлы и документация представлены в пакете libbrlapi-dev. Эта функциональность используется, например, в Gnopernicus для предоставления поддержки типов дисплеев, которые в настоящее время не поддерживаются Gnopernicus напрямую.

Screader

Фоновая программа screader читает экран и передаёт информацию пакету синтезирования речи (такому как festival), либо оборудованию для синтезирования речи.

Yasr

Программа для чтения экрана консоли общего назначения для GNU/Linux и других UNIX-подобных операционных систем. Название yasr является акронимом, который означает либо Yet Another Screen Reader (Ещё Одна программа Чтения Экрана), либо Your All-purpose Screen Reader (Ваша программа Чтения Экрана для Любых Целей).

В настоящее время yasr пытается поддерживать оборудование для синтезирования речи Speak-out, DEC-talk, BNS, Apollo, и DoubleTalk. Она также может взаимодействовать с речевыми серверами Emacspeak и может, таким образом, использоваться с теми синтезаторами речи, которые пока не поддерживаются напрямую, например, такими как Festival Lite (через eflite) или FreeTTS.

Yasr работает, открывая псевдотерминал с оболочкой, перехватывает весь ввод и вывод. Она ищет экранирующие последовательности и обслуживает виртуальное окно, содержащее то, что, как считает эта программа, находится на экране. Таким образом, она не использует возможности, специфичные для Linux и может быть перенесена на другие UNIX-подобные операционные системы без особых проблем.

Графические интерфейсы пользователя

Специальные возможности графических интерфейсов пользователя на платформах UNIX лишь недавно получили значительные улучшения в связи с разработкой GNOME Desktop, в частности GNOME Accessibility Project.

Специальные возможности GNOME

Assistive Technology Service Provider Interface

Этот пакет содержит ключевые компоненты Специальных возможностей GNOME. Он позволяет программам, реализующим вспомогательные технологии (таким как программы для чтения экрана), запрашивать у всех приложений, запущенных на рабочем столе, информацию, связанную со специальными возможностями, а также предоставляет контактные механизмы для поддержки инструментариев отличных от GTK.

Привязки для языка Python предоставляются в пакете python-at-spi.

The ATK accessibility toolkit

ATK — инструментарий, предоставляющий специальные возможности для приложений или других инструментариев. Реализуя эти интерфейсы, другие инструментарии или приложения могут использоваться с такими инструментами как программы для чтения экрана, лупы, а также другие альтернативные устройства ввода.

Исполняемая часть ATK, необходимая для запуска приложений, собранных с таковой поддержкой, доступна в пакете libatk1.0-0. Файлы разработки для ATK, необходимые для компиляции программ или инструментариев, использующих ATK, предоставляются пакетом libatk1.0-dev. Привязки для языка Ruby предоставляются в пакете libatk1-ruby.

gnome-accessibility-themes

Пакет gnome-accessibility-themes содержит несколько тем оформления (со специальными возможностями) окружения рабочего стола GNOME, разработанных для слабовидящих.

Всего предоставляется 7 тем, они представляют собой комбинации высокого и низкого контраста, обратного контраста, а также содержат увеличенные текст и иконки.

gnome-speech

Библиотека GNOME Speech даёт простой и в то же время общий API для программ для конвертации текста в речь, а также вывода речи.

Поддерживаются несколько базовых компонентов, но в настоящее время лишь базовый компонент Festival включен в этом пакете; другие компоненты требуют либо Java, либо проприетарное ПО.

Gnopernicus

Gnopernicus разработан для того, чтобы позволить пользователям с ограниченным зрением или без зрения получить доступ к приложениям GNOME. Он также предоставляет ряд возможностей, включая увеличение области экрана, отслеживание фокуса, вывод Брайля и др.

gnome-orca

Orca — это гибкая и расширяемая программа для чтения с экрана, предоставляющая доступ к графическому рабочему столу через настраиваемые пользователем комбинации речи, Брайля и/или увеличения области экрана. Разрабатывается Sun Microsystems, Inc., Accessibility Program Office с 2004 года, Orca была создана при активном участии её конечных пользователей.

Orca может использовать GNOME-speech (по-умолчанию) и Speech Dispatcher для передачи пользователю вывода речи. BRLTTY используется для поддержки дисплеев Брайля (и для бесшовной интеграции консольного и GUI вариантов Брайля).

Специальные возможности KDE

kmag

Увеличьте часть экрана так же, как если бы вы использовали лупу для увеличения газеты с мелким шрифтом или фотографии. Это приложения полезно для разнообразных людей: от исследователей до художников и дизайнеров веб-страниц, а также для людей с низким зрением.

Нестандартные методы ввода

Dasher

Dasher — это информационно эффективный интерфейс ввода текста, управляемый естественными непрерывными указательными жестами. Dasher — это конкурентоспособная система ввода текста в случаях, когда полноразмерная клавиатура не может использоваться, например,

Версия Dasher с поддержкой слежения за движением глаз позволяет опытным пользователям писать текст так же быстро, как при письме вручную - 25 слов в минуту; используя мышь, опытные пользователи могут писать около 39 слов в минуту.

Dasher использует более продвинутый алгоритм предсказания, чем система T9(tm), часто используемая в мобильных телефонах, что делает ввод чувствительным к окружающему контексту.

GOK

GOK [GNOME Onscreen Keyboard] — динамическая экранная клавиатура для UNIX и UNIX-подобных операционных систем. Она поддерживает прямое выделение, останавливающее выделение, автоматическое сканирование и обратное сканирование, а также содержит дополнение слов.

GOK содержит буквенно-цифровую клавиатуру и клавиатуру для запуска приложений. Клавиатуры определяются в XML, что позволяет изменять существующие клавиатуры и создавать новые. Методы доступа также определяются в XML, что даёт возможность изменять существующие методы доступа и создавать новые.