Журнал LinuxFormat - перейти на главную

LXF129:Orca

Материал из Linuxformat
Перейти к: навигация, поиск
Технологии доступа Пусть Linux почитает вам на ночь

Содержание

Orca: Читаем вслух

Нужна помощь в общении с компьютером из-за проблем со зрением? Или вы просто любите покомандовать? Боб Мосс поможет тем и другим.

TTS (Text-to-speech, озвучивание текста) и распознавание речи стали обычным делом для окружения Windows. Для этого предназначены такие коммерческие продукты, как Dragon NaturallySpeaking или утилиты, встроенные в Vista и Windows 7. Но не спешите в порыве разочарования сносить корневой раздел: вам будет приятно узнать, что в мире свободного ПО думают обо всех, включая тех, кому не обойтись без этих важных дополнений. Существует широкий спектр свободных синтезаторов речи, читалок с экрана и движков распознавания голоса – и многие из них по умолчанию присутствуют в основных дистрибутивах, а пользователь включает их по необходимости. И, в отличие от Windows-аналогов, они бесплатные!

LXF129 58 1.jpgВсего одна строка кода сохранит синтезированный вами текст для дальнейшего использования во всемирно известных проектах.

Espeak, голос!

Мы начнем настраивать TTS и распознавание речи на рабочем столе Gnome (пользователи KDE могут просто пролистать дальше и почитать про Perlbox Voice). В качестве движка для экранной читалки Orca возьмем синтезатор речи eSpeak, так что первым шагом будет его установка и настройка.

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

Те из вас, кто пользуется Ubuntu Karmic, обнаружат, что eSpeak уже установлен по умолчанию, а владельцы более старых дистрибутивов могут загрузить исходные тексты с http://espeak.sourceforge.net/download.html, собрать и установить их обычным порядком.

Чтобы проверить, что eSpeak работает, введите в терминале следующую команду:

espeak “Hello, world”

Тут вы должны насладиться сладким голосом вашего Linux-компьютера; однако eSpeak не просто робот, как может показаться на первый взгляд. Можно задать мужской и женский голоса, указав при опции -v параметры m1, m6, f1 и f4 соответственно.

espeak -v m1 “Hello, world”

Наш текст повторится мужским голосом, используемым по умолчанию. Для уточнения, как должен звучать этот повторяемый текст, добавим en к параметру после ключа -v:

espeak -v en+f4 “Hello, world”

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

Список доступных акцентов и языков можно отыскать на (http://espeak.sourceforge.net/languages.html).

И, наконец, если вам хочется сохранить выход в WAV-файле, просто используйте аргумент -w.

espeak -w ~/Desktop/mySound.wav “My Sound!”

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

Настройка Orca

Скорая помощь

Для выхода из читалки экрана нажмите управляющую клавишу Orca и Q.

LXF129 59 1.jpg В Ubuntu 9.10 Orca стоит по умолчанию, нужно только сделать его видимым через меню настроек.

Убедившись, что синтезатор речи eSpeak установлен и работает, займемся настройкой Orca в качестве читалки экрана. Пользователи Ubuntu увидят, что она уже стоит по умолчанию, и им нужнопросто перейти в Система > Параметры > Главное меню [System > Preferences > Main Menu] и в Универсальном доступе [Universal Access] поставить галочку около Orca, чтобы он показался в меню приложений. В большинстве других дистрибутивов на базе Gnome Orca находится в том же меню в области Служебные [Accessoires] или Универсальный доступ [Universal Access], а если там его нет, то пакет доступен в репозиториях всех основных дистрибутивов.

Запустив Orca из меню приложений, вы увидите окно терминала. Здесь вам не потребуется мастерство обращения с командной строкой: все, что нужно – ввод чисел, Y или N.

Сперва вас спросят, какой синтезатор речи вы будете использовать вместе с Orca. Поскольку мы только что настроили eSpeak, вот его и выбирайте! В большинстве случаев он будет номером 2.

Затем программа представит вам длинный список языков и акцентов. Говорящим по-английски будет интересно взглянуть на диапазон разнообразных доступных акцентов (есть даже специальные голоса для Шотландии и Ланкашира). Большинство выберет 12 (English) или 16 (US English), хотя не забыты и говорящие на других языках, от русского аж до древнегреческого.

Последует вывод широкого спектра опций: например, включать ли чтение шрифта Брайля и какую принять раскладку клавиатуры. От последней зависит, будут ли Caps Lock или Insert использоваться в Orca как управляющие клавиши (вы осознаете их важность, дозрев до использования «горячих» сочетаний). Ответ на многие вопросы зависит только от личного вкуса, ведь потом эти установки легко и поменять, через графическое меню. Единственный главный выбор, который вы должны сделать – это указать, следует ли Orca стартовать автоматически при входе в систему, или вы предпочитаете запускать его вручную; хотя и это можно будет поменять. По завершении установщик закроет ваш сеанс, хотя в большинстве дистрибутивов и конфигураций рекомендуется полностью перезагрузить систему, для гарантии, что устранены все смежные проблемы.

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

LXF129 59 2.jpg Широкий набор опций утилиты на строек Orca приспособит программу под ваш вкус.

Orca предлагает собственную экранную лупу: она находится на соответствующей вкладке в диалоге Настройки [Preferences]. Это меню предлагает пользователям огромное количество опций, определяющих, какой именно увеличивающий пузырь всплывает рядом с указателем, когда вы его двигаете. Можно также задать увеличение, размер и цвет перекрестия, и даже отключить обычный курсор, чтобы видеть больше увеличенного содержимого.

Делай, что сказано

Самая простая утилита распознавания речи на рабочем столе Gnome называется GnomeVoiceControl. Большая часть основных дистрибутивов имеет пакет gnome-voice-control в своих репозиториях, или можно взять архив с исходным кодом и исчерпывающее руководство по установке на официальном сайте проекта: http://live.gnome.org/GnomeVoiceControl.

Установив GnomeVoiceControl, просто щелкните правой кнопкой по панели Gnome, выберите Добавить апплет [Add Applet] и добавьте апплет Voice Control. Вы увидите, что по умолчанию он бездействует – тогда щелкните по нему правой кнопкой, выберите Начать управление голосом [Start Voice Control] и наблюдайте за инициализацией и калибровкой. Когда все будет готово, можете говорить в микрофон; вы увидите, что появится сообщение «Слушаю» [«Listening»] (если нет – проверьте правильность настройки звуковой карты).

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

Perlbox: TTS на KDE

Если вы хотите решение все-в-одном для TTS и голосового управления для рабочего стола KDE, ответом может стать Perlbox.

Пользователям KDE, которые с завистью читали две предыдущие страницы, я припас хорошую новость: для них существует решение, столь же простое в настройке, как Orca и eSpeak: Festival с интерфейсом Perlbox. И, как всегда в KDE, вы получаете еще и приятный и интуитивный GUI для создания решения, заточенного специально под ваше окружение рабочего стола, с кучей параметров-опций. Мы начнем с настройки Festival в качестве синтезатора речи, поскольку в приложениях KDE он используется чаще, чем eSpeak.

Фестиваль Festival

LXF129 60 1.jpg GUI, основанный на Tk, гарантирует, что включение управления голосом и синтеза речи максимально просто.

Наши постоянные читатели, помнящие учебники по разработке с Python в LXF108 и LXF109, сочтут синтезатор речи Festival смутно знакомым, а для новичков скажем, что он не похож на eSpeak и обеспечивает тонкую настройку голоса на ваш вкус. Первым делом при установке Perlbox Voice нужно убедиться в наличии работающей конфигурации для Festival. Вы увидите, что требуемые пакеты есть в репозиториях всех основных дистрибутивов, так что установка с помощью менеджера пакетов проста.

Как и в случае с eSpeak, можно поэкспериментировать и посмотреть, работают ли те разнообразные функции, что есть у Festival. Начнем, введя в терминале следующее:

echo “Hello, world” | festival --tts

Это направит фразу, любимую всеми учебниками, на Festival, который затем преобразует строку в речь. Если все хорошо, то вы услышите, как ваша машина говорит с вами.

Однако Festival не ограничивается только повторением фраз: он умеет читать вслух целые документы, если ввести

festival --tts ~/file.txt

Хотя пользоваться Festival можно и так, вы увидите, что его намного удобнее настроить, открыв специальную оболочку. Просто введите в терминале festival, а затем следующее:

(SayText “Hello, world”)
Скорая помощь

В Festival есть маленькая утилита под названием text2wav, которая позволяет экспортировать синтезированный текст в файл WAV способом, аналогичным eSpeak.

Это должно воспроизвести первую выполненную нами команду, когда мы проверяли, работает ли Festival. Вторую можно воспроизвести с помощью

(tts “~/file.txt” nil)

Если на каком-нибудь шаге вы столкнетесь с трудностями, просто введите (help), а для выхода из оболочки Festival введите (exit).

Вот мы и проверили, правильно ли установлен Festival; теперь переходим к добавлению Perlbox Voice и разных его зависимостей.

Магия Perl

Perlbox Magic основан на Qt, и в результате он будет дружить с остальной частью рабочего стола KDE. Однако прежде чем двигаться дальше, следует убедиться через менеджер пакетов, что у вас установлен Perl-Tk.

Вам также необходимо позаботиться о наличии Sphinx2 (это хорошо зарекомендовавший себя движок для распознавания речи, который работает за кулисами). В репозиториях основных дистрибутивов он обычно называется sphinx2‑bin.

Когда вы создадите все эти предпосылки, рекомендуем скачать последний архив с http://sourceforge.net/projects/perlbox/files/Perlbox%20Voice%20for%20TK/Perlbox-Voice%200.09/perlbox-voice-0.09.noarch.tgz/download. Там есть и Debian, и RPM-пакеты, предоставленные проектом, хотя, по нашему опыту, они работают не для всех конфигураций, так что сборка из исходников будет более надежной.

После распаковки архива, запустите терминал, перейдите в нужный каталог и введите:

perl perlbox-voice.install

Потом придется нажать на Enter и полюбоваться на GPL: вы не сможете установить пакет, не согласившись с ней. По завершении работы скрипта установки вы сможете запустить Perlbox Voice с помощью

perlbox-voice

и на этой стадии уже выскочит GUI и выдаст звуковое приветствие! Если вы предпочитаете выполнять программы не из терминала, либо воспользовуйтесь Alt+F2, либо создайте новую ссылку на приложение в виджете Просмотр папки (в качестве команды используйте ту, что приведена выше).

Голосовой тренинг

Установив Perlbox Voice, вы, скорее всего, захотите испытать его. На наше счастье, это можно сделать сразу же, поскольку начальные установки довольно разумные. Однако если вы фанат настроек, зайдите в раздел Vocab: там можно задавать свои сочетания для определенных программ. Например, сказав «web», можно автоматически запускать Firefox; но если вы решите провести некоторое время под Opera или Chromium, здесь вы легко сможете это исправить.

Секция Control в GUI позволяет протестировать умение Perlbox синтезировать речь: просто введите текст и щелкните – и слушайте, что вам прочтут. Здесь также можно включать и выключать распознавание голоса, нажав на соответствующую кнопку. Это может оказаться удобным при перемещении из шумного место в тихое.

Экранная лупа

LXF129 60 2.jpg Хотя Perlbox Voice не имеет собственного увеличителя экрана, у пользователей KDE есть KMagnifier.

В отличие от Orca, Perlbox не предоставляет экранной лупы. Однако пользователи KDE могут воспользоваться старым добрым KMagnifier. Эта маленькая полезная программа стоит в KDE 4 по умолчанию. Просто запустите ее из KickStart, как любое другое приложение, и наслаждайтесь видом увеличенной области, расположенной под курсором, в отдельном окне. Несмотря на свою простоту, KMagnifier очень гибок. В выпадающем меню можно менять масштаб увеличения, прятать курсор мыши и даже увеличивать весь экран; это очень полезный инструмент.

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

Альтернативы

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

  • KSayIt
Сайт: www.kde-apps.org/content/show.php?content=10028

Это KDE-эквивалент Orca, хотя перекладывает увеличение экрана на KMagnifier и делает упор на чтении текстовых файлов и web-страниц.

  • Open Mind Speech
Сайт: http://freespeech.sourceforge.net

Open Mind Initiative взялось за записи голоса, чтобы получить пакет изощренных программ для TTS и распознавания речи. Многие из них все еще в состоянии активной разработки, однако в будущем на эту коллекцию программ обязательно надо будет взглянуть.

  • XVoice
Сайт: http://xvoice.sourceforge.net

Эта достопочтенная программа является предтечей для многих утилит распознавания голоса, и предназначена для работы с любым приложением в X Window System. Она уже давно не разрабатывается, поскольку основана на закрытом движке распознавания речи ViaVoice от IBM (сейчас вообще снятом с разработки). Однако сочувствующим программистам может показаться интересным предыдущее портирование XVoice на систему распознавания речи Sphinx, особенно потому, что со времени окончания работ Sphinx сильно возмужал.

  • Simon
Сайт: https://sourceforge.net/projects/speech2text

Simon – сравнительно новое приложение; оноиспользует движок распознавания речи Julius. Для интерфейса применяется инструментарий Qt, и пользователи KDE согласятся, что это приятный и легкий выбор. Главное назначение Simon – преобразовывать надиктованную речь в текст в текущем открытом файле.

Персональные инструменты
купить
подписаться
Яндекс.Метрика