Загальні питання реабілітації >
Зюликов А.А. Разработка приложений MS DOS со встроенным речевым выводом
Комп'ютерні технології та вища освіта людей з особливими потребами: Дистанційне навчання в системі соціально-трудової реабілітації. Збірник наук. доп. і ст. / Уклад. Л. В. Коваленко. - К.: Вища шк., 2002. - 255 с. - Укр., рос.
Наличие той или иной программы доступа к экрану в большинстве случаев дает возможность незрячему пользователю эффективно работать со многими приложениями. И все же вследствие своей универсальности эти программы часто не могут обеспечить полноценного использования всех возможностей приложения. Такой недостаток легко объясним. Поскольку программа доступа всегда является внешней по отношению к любому приложению, она должна сама «догадываться», какую информацию необходимо сообщить незрячему пользователю в каждый конкретный момент.
Приложение со встроенным речевым выводом лишено этого недостатка, так как всегда «знает», что нужно «говорить».
Разумеется, я не предлагаю разрабатывать заново все общеупотребительные программы, такие как текстовые редакторы, Norton Commander и др. Речь идет о разработке программ, ориентированных именно на незрячего пользователя. И в этом случае представляется весьма эффективным использование в таких специфических программах встроенного речевого вывода.
1. Основные положения
Далее описываются общие принципы и идеи, на основе которых были разработаны два приложения со встроенным речевым выводом: «Суперчтец» - многофункциональный просмотрщик текстов и «MIDI-Композитор» - секвенсер для незрячих музыкантов. Краткое описание этих приложений приводится в разделах 2 и 3.
1.1. Инструментальные средства
Для создания эффективных программ со встроенным речевым выводом сначала был разработан универсальный инструмент, позволяющий программировать интерфейс любого «говорящего» приложения. В качестве базы такого инструмента была выбрана система объектов «Turbovision» и система программирования «BORLAND C++» версии 3.1. Речевой вывод был встроен во все визуальные объекты «Turbovision», после чего стало возможным программировать любое «говорящее» приложение, практически не заботясь о том, что оно должно быть «говорящим».
1.2. Контекстная помощь
Система «говорящей» контекстной помощи делает разрабатываемые приложения самодокументированными и весьма несложными в освоении. При возникновении любого затруднения в процессе работы достаточно нажать клавишу F1 и вы получите описание именно той ситуации, в которой вы находитесь.
Помощь организована в виде гипертекста. Таким образом, раздел помощи может иметь ссылки на другие разделы. «Нажимая» на эти ссылки, вы можете открывать новые разделы, а затем возвращаться назад. Раздел «Индекс» содержит перечень всех ссылок в алфавитном порядке.
Как только открывается новый раздел помощи, речевой вывод автоматически начинает его читать. Этот процесс может быть прерван нажатием любой клавиши, после чего текст помощи можно читать построчно в ручном режиме. Кроме того, имеется возможность перемещения по ссылкам на другие разделы в обоих направлениях. Наконец, в любой момент вы можете возобновить автоматическое чтение помощи.
1.3. Речевой вывод
Для организации речевого вывода необходимы следующие компоненты:
1) драйвер речевого доступа типа SDRV, весьма распространенный среди незрячих пользователей;
2) звуковая плата (Sound Blaster), либо устройство COVOX, подключаемое к параллельному порту.
Кроме того, речевой вывод может быть направлен непосредственно на так называемый автономный синтезатор речи, подключаемый к последовательному порту.
1.4. Дополнительные возможности
К дополнительным возможностям разработанного инструментария следует отнести современный многооконный интерфейс, поддержку мыши и полную настройку цвета всех визуальных объектов, что в совокупности обеспечивает удобство пользователям с ослабленным зрением.
2. «Суперчтец»
В настоящий момент существует достаточно много программ, предназначенных для просмотра текстовых файлов. Однако все они разрабатывались для просмотра текста с экрана и не учитывают особенностей программ речевого синтеза, с которыми работает большинство незрячих. Многие из программ-просмотрщиков имеют весьма полезные функции, но эти функции разрозненные, и для эффективной работы приходится пользоваться несколькими такими программами.
Программа «Суперчтец» включает в себя все наиболее полезные возможности программ-просмотрщиков и содержит ряд оригинальных функций, очень удобных как при прослушивании литературных произведений, так и при работе с документами и справочниками.
Многооконный интерфейс программы позволяет одновременно работать с несколькими текстовыми файлами. Развитая система поиска и позиционирования текста позволяет быстро находить нужную информацию даже в текстах большого объема. Сохранение всех параметров сеанса при его завершении позволяет полностью восстановить этот сеанс при следующем запуске программы. Имеются возможности получения такой речевой информации, как номер строки и столбца курсора, процент прочитанного текста, полное и сокращенное имя файла в активном окне.
Теперь кратко опишем наиболее интересные особенности и возможности программы «Суперчтец».
2.1. Многооконный интерфейс
Программа обеспечивает многооконный интерфейс, позволяющий одновременно работать с несколькими файлами. При этом все режимы работы можно задавать индивидуально для каждого окна. Их можно открывать и закрывать в процессе работы, а также изменять их размер и местоположение на экране. Первые 9 окон имеют номера от 1 до 9, что позволяет быстро активизировать каждое из них нажатием соответствующих комбинаций клавиш.
2.2. Режимы чтения
«Суперчтец» обеспечивает два режима чтения текста: непрерывный (диктор) и ручной.
При включении режима диктора текст воспроизводится речевым выводом непрерывно, начиная с текущей позиции. Существует два режима диктора: чтение по предложениям и чтение по строкам. При чтении по предложениям текст читается с соблюдением интонаций, соответствующих знакам препинания, обрабатывается перенос слов (перенесенное слово читается слитно), а курсор при остановке диктора устанавливается на начало последнего читавшегося предложения. При чтении по строкам также соблюдаются интонации по знакам препинания и делается небольшая интонационная пауза в конце каждой строки, перенос слов не обрабатывается, а курсор при остановке диктора устанавливается на начало последней читавшейся строки. Такой режим облегчает чтение текстов программ и стихов.
Режим диктора может быть прерван нажатием любой клавиши, после чего программа переходит в режим ручного чтения.
В ручном режиме пользователь может перемещаться по тексту в любом направлении следующими способами:
• по символам;
• по словам;
• по строкам;
• по экранным страницам;
• по разделам (раздел - фрагмент текста, ограниченный сверху и снизу пустыми строками);
• по заголовкам;
• по условной разметке текста на фрагменты по 10 %;
• по ранее установленным закладкам;
• по номеру строки.
Кроме того, имеется возможность поиска текста, описанная в разделе 2.4.
2.3. Позиционирование текста
Для прямого позиционирования текста предусматриваются следующие возможности:
• переход по заданному номеру строки;
• переход к началу текста;
• переход к концу текста;
• процентное позиционирование;
• переход к закладкам.
При процентном позиционировании весь текст условно делится на 10 равных фрагментов. Процентное позиционирование позволяет непосредственно переходить на точки такой разметки, нажимая клавиши 1-9 на цифровой клавиатуре.
2.4. Поиск
Функция поиска позволяет находить в тексте заданную пользователем строку символов. Поиск строки может быть дополнен следующими режимами:
• направление поиска (вперед или назад);
• чувствительность к регистру малых и больших букв;
• глобальный поиск (от начала или от конца файла в зависимости от направления поиска); если не задан глобальный поиск, то поиск производится от текущей позиции;
• поиск по всем окнам: производится сначала в текущем окне, а затем, в случае неудачи, во всех открытых в данный момент окнах.
2.5. Закладки
В процессе чтения пользователь может отмечать необходимые места в тексте так называемыми закладками. Затем пользователь может быстро перейти к любой из этих закладок. Имеется возможность вызова списка всех установленных закладок и выбора из этого списка интересующей закладки для перехода к ней или удаления ее из списка. Кроме того, можно удалить сразу все закладки, даже не заходя в список.
2.6. Правильное произношение
«Суперчтец» обеспечивает правильное произношение некоторых слов, таких как «что», «ее», «еще» и многих других. Кроме того, обеспечивается правильное произношение слов, оканчивающихся на «его» и «ого». Такое исправление произношения связано с тем, что речевой драйвер типа SDRV не обеспечивает правильного произношения, а некоторые словосочетания произносит вообще некорректно.
2.7. Чтение английских текстов
«Суперчтец» обеспечивает правильное произношение большинства английских слов, насколько это позволяет русскоязычный синтезатор речи. Это делает весьма удобным и быстрым чтение английских текстов и не требует словаря исключений.
2.8. Замена латинских букв похожими русскими
В некоторых русских текстах буквы, совпадающие по написанию с латинскими, набраны не в русском, а в латинском регистре клавиатуры. Правильное чтение таких текстов через синтезатор речи вообще невозможно без замены этих букв на русские. «Суперчтец» предусматривает режим чтения таких текстов без фактической замены латинских букв в самом текстовом файле.
2.9. Замена всех латинских букв
Данный режим предоставляет еще один способ чтения текстов, набранных в латинском регистре. Латинские буквы заменяются русскими, похожими по произношению. При этом, конечно, не обеспечивается правильное английское произношение.
2.10. Сохранение параметров сеанса
Программа обеспечивает автоматическое сохранение всех параметров сеанса работы при его завершении. При следующем вызове программы предыдущий сеанс работы восстанавливается. При этом:
• открываются все окна, которые были открыты при завершении предыдущего сеанса;
• текст в каждом окне позиционируется на то место, на котором он был при завершении предыдущего сеанса;
• в каждом окне устанавливаются необходимые параметры чтения;
• включается режим непрерывного чтения в активном окне.
Таким образом, пользователь возобновляет прослушивание текста с того места, на котором он остановился в предыдущий раз.
2.11. Быстрая загрузка файлов
«Суперчтец» обеспечивает мгновенный доступ к открываемому файлу независимо от его размера и от того, с какой позиции необходимо открыть этот файл. Это достигается за счет того, что в момент открытия файла считывается только та его часть, которая должна находиться на экране. Остальные части файла будут считываться в процессе работы по мере необходимости. Таким образом, если вы читали довольно большой файл (3 - 5 Мб) и завершили сеанс, прочитав большую часть его, то при следующем вызове программы чтение будет возобновлено немедленно, без каких-либо затрат времени на загрузку уже прочитанной части файла. Однако такую возможность нельзя использовать, если между этими сеансами файл был изменен.
Следует отметить, что даже такой мощный текстовый редактор, как MultiEdit, не поддерживает подобной возможности.
2.12. Различные кодировки и типы файлов
«Суперчтец» пока обеспечивает чтение текстовых файлов только в альтернативной кодировке (MS DOS) и в кодировке Windows. В ближайшее время предполагается расширение этого списка. Так, например, существует острая необходимость добавления возможности чтения файлов типа НТМ, а также файлов, созданных в редакторе WinWord.
3. MIDI-Композитор
«MIDI-Композитор» - это «говорящий» секвенсер для незрячих музыкантов. Программа позволяет незрячему музыканту абсолютно самостоятельно создавать и редактировать музыкальные произведения любой степени сложности. «MIDI-Композитор» является уникальной программой-секвенсером, работающей в MS DOS и обеспечивающей все основные возможности таких известных программ, как Cakewalk и Qbase, работающих в Windows. «MIDI-Композитор» намного ускоряет процесс создания музыкального произведения по сравнению с использованием встроенного секвенсера синтезаторов рабочих станций. Это достигается благодаря тому, что, во-первых, незрячий человек не имеет возможности самостоятельно читать информацию с дисплея синтезатора, в то время как «MIDI-Композитор» обеспечивает полный речевой доступ ко всей необходимой информации, и во-вторых, «MIDI-Композитор» по своим характеристикам и возможностям намного удобнее и мощнее любого встроенного в синтезатор секвенсера.
Поскольку «MIDI-Композитор» является довольно мощной программой с многочисленными возможностями, ограничусь лишь кратким их перечислением в следующих разделах.
3.1. Файлы
«MIDI-Композитор» обеспечивает работу с файлами двух типов: ops - собственные файлы и mid - стандартные MIDI-файлы. В основном используются файлы типа ops, так как они позволяют сохранять информацию в полном объеме, в то время как файлы типа mid поддерживаются исключительно в целях совместимости с другими программами-секвенсерами.
Кроме того, для работы с системными эксклюзивными сообщениями (Sysex) «MIDI-Композитор» может использовать файлы типа syx.
3.2. Запись и воспроизведение
«MIDI-Композитор» обеспечивает запись и воспроизведение MIDI-материала на 128 дорожках.
Запись возможна как в реальном времени (в режиме замены или наложения), так и в пошаговом режиме. Предусмотрена возможность синхростарта.
Запись производится с MIDI-входа звуковой карты, подключенного к MIDI-клавиатуре.
Воспроизведение может осуществляться через два MIDI-порта: внутренний (звуковая карта) и внешний (MIDI-выход звуковой карты). Каждая дорожка назначается одному из этих портов и одному из 16 MIDI-каналов. Таким образом, возможно одновременное использование до 32 различных инструментов, причем каждый инструмент может быть записан на нескольких дорожках. Воспроизведение любой дорожки может быть отключено, а также любая дорожка может быть сделана солирующей или добавлена в группу солирующих дорожек.
3.3. Позиционирование
«MIDI-Композитор» позволяет устанавливать позицию музыкального произведения на нужный такт, долю и тик с максимальной степенью точности. Возможно перемещение в обоих направлениях с шагом в тик, долю, такт и 10 тактов. Кроме того, можно перемещаться на начало и конец произведения, а также на начало и конец выбранного фрагмента.
3.4. Редактирующие возможности
Редактирующие возможности MIDI-Композитора позволяют производить практически любую операцию по изменению музыкального материала. Так, например, вы можете удалять, вырезать, сдвигать, транспонировать, заменять и накладывать различные фрагменты вашего произведения. Развитая система квантования позволяет выравнивать неточно сыгранные пассажи с любой степенью приближения. Функция «Компрессор» обеспечивает ограничение диапазона динамики нажатия клавиш, а функция «Динамика» позволяет осуществить плавное изменение динамики в заданном диапазоне.
Кроме перечисленных редактирующих операций имеется возможность непосредственного редактирования таблицы событий, позволяющая вставлять и удалять отдельные события, изменять любой параметр события, проигрывать события в ручном режиме. Существует также возможность просмотра и редактирования информации о размерах и темпах и функция плавного изменения темпа.
Система отката и восстановления любых изменений позволяет избежать случайных ошибок при редактировании, а также сравнивать звучание до и после выполнения какого-либо действия. Глубина отката практически не ограничена.
Почти все операции «MIDI-Композитора» могут быть вызваны как через меню, так и посредством «горячих» клавиш. Последняя возможность при определенном навыке обеспечивает довольно высокую скорость работы.
3.5. Метроном
Метроном звучит в начале каждой доли такта. Начало такта (первая доля) может быть выделено другим звуком метронома и/или другой силой удара по клавише (динамикой). Метроном может включаться отдельно при записи, воспроизведении и синхростарте. Кроме того, метроном может быть использован для отсчета перед началом записи. Метроном может быть направлен на любой из 16 MIDI-каналов одного из двух MIDI-портов.
3.6. Сохранение сеанса
При завершении сеанса «MIDI-Композитор» автоматически сохраняет все параметры этого сеанса. Информация восстанавливается при последующем запуске программы без указания имени файла в командной строке.
3.7. Режим плеера
В режиме плеера сразу же после старта программы и загрузки указанного файла автоматически включается воспроизведение, а при достижении конца проигрываемого файла программа завершается.
Заключение
В заключение отмечу, что обе программы постоянно совершенствуются и пополняются новыми возможностями с учетом пожеланий пользователей и моего собственного опыта работы.
|