Голос и ПК
by Евгений Викторович Арбатский - На днях опять освежал свои знания в области использования голоса на ПК (голосовое управление, генерация речи). Немного предыстории:
- в 90-е годы (1996-1998) была чудесная и надежная операционная система OS/2 Warp, а затем OS/2 Merlin. Одной из особенностей этой системы было то, что уже в те годы IBM встроила голосовое управление (ViaVoice). В начале надо было 1.5-2 часа тренировать систему на свой голос (на английском языке), а затем становилось возможным:
Если говорить про Linux - то в те года работа с голосом под Linux отсутствовала.
Шли года и я подумал что наверно за десяток лет все изменилось, но анализ в 2006-2008гг. показал что ничего особенно хорошего и не появилось. В Windows появился англоязычный Sam(?), который может произносить текст, но русскоязычного не нашел. IBM свой ViaVoice выдает как-то особенно, что так и не получилось его скачать и опробовать. Под Linux получилось запустить лишь синтезацию английской речи.
За 2-3 последних дня снова посмотрел что есть и наконец смог под Linux запустить перевод русского текста в речь (на базе festival). Обрадовавшись начал пробовать все остальное: речь в KDE (ktts - работает, но пользоваться нормально проблематично), ICQ (pidgin + pidgin-festival - не работает).
После пары вечеров экспериментов получилось связать pidgin и festival - для этого понадобилось написать плагин на perl. В результате теперь все приходящие сообщения озвучиваются. Из минусов можно отметить:
- в 90-е годы (1996-1998) была чудесная и надежная операционная система OS/2 Warp, а затем OS/2 Merlin. Одной из особенностей этой системы было то, что уже в те годы IBM встроила голосовое управление (ViaVoice). В начале надо было 1.5-2 часа тренировать систему на свой голос (на английском языке), а затем становилось возможным:
- диктовать тексты (но скорость набора была не большая);
- управлять компьютером (было достаточно хорошее распознавание).
Если говорить про Linux - то в те года работа с голосом под Linux отсутствовала.
Шли года и я подумал что наверно за десяток лет все изменилось, но анализ в 2006-2008гг. показал что ничего особенно хорошего и не появилось. В Windows появился англоязычный Sam(?), который может произносить текст, но русскоязычного не нашел. IBM свой ViaVoice выдает как-то особенно, что так и не получилось его скачать и опробовать. Под Linux получилось запустить лишь синтезацию английской речи.
За 2-3 последних дня снова посмотрел что есть и наконец смог под Linux запустить перевод русского текста в речь (на базе festival). Обрадовавшись начал пробовать все остальное: речь в KDE (ktts - работает, но пользоваться нормально проблематично), ICQ (pidgin + pidgin-festival - не работает).
После пары вечеров экспериментов получилось связать pidgin и festival - для этого понадобилось написать плагин на perl. В результате теперь все приходящие сообщения озвучиваются. Из минусов можно отметить:
- Порой ставит неверные ударения;
- Текст должен быть только русский, либо только английский;
- Комбинации слов с цифрами могут необрабатываться (Например, А17);
- Голос только мужской :);
- В тексте встречаются опечатки и ошибки, которые затем озвучиваются :).
Re: Голос и ПК
by Евгений Викторович Арбатский - Выкладываю свой плагин (версия 1.3).
Выяснил с утра что у меня есть исходники pidgin-festival, поэтому постараюсь его посмотреть и доработать, если там функциональность больше, а то пока не ясно имеет это смысл или нет.
А вчера в ходе экспериментов выяснил что festival не желает произносить ни слова, если его запускать через SOAP в Apache. Но дело тут не в SOAP, а, как я понимаю, в пользователе, от имени которого идет запуск. Вот эту проблему пока не смог решить. Даже от имени root-а не получается, только под своим аккаунтом срабатывает. Возможно, сказываются ограничения, связанные с безопасностью звуковой системы - пока не знаю.
Выяснил с утра что у меня есть исходники pidgin-festival, поэтому постараюсь его посмотреть и доработать, если там функциональность больше, а то пока не ясно имеет это смысл или нет.
А вчера в ходе экспериментов выяснил что festival не желает произносить ни слова, если его запускать через SOAP в Apache. Но дело тут не в SOAP, а, как я понимаю, в пользователе, от имени которого идет запуск. Вот эту проблему пока не смог решить. Даже от имени root-а не получается, только под своим аккаунтом срабатывает. Возможно, сказываются ограничения, связанные с безопасностью звуковой системы - пока не знаю.
Re: Голос и ПК
by Евгений Викторович Арбатский - Если с синтезом русского голоса все уже достаточно хорошо, то пока не могу решить задачу распознавания русского голоса. Выяснил что за прошедшие года (в ~2002-2003) IBM продали свой ViaVoice разработчикам DragonDictate(?). Поэтому найти нормальный ViaVoice SDK под Linux не получается. А на нем были основаны различные приложения обработки звука и распознавания голоса.
Опробовал Sphinx и пока не поннял как им нормально и удобно пользоваться. Хотя вроде бы есть русские акустические модели.
Опробовал julian/julius - в quickstart наборе все запускается и распознает набор команд на английском. Но опять же не ясно как подключить свой набор команд на русском.
Задача обучения (traning) оказывается не простой - вернее не могу найти нормальное описание. Придется разбираться с существующей документацией.
Когда разберусь, то получится сделать элементарный алгоритм самообучения - при низкой вероятности распознавания можно задавать уточняющий вопрос: "Вы сказали 'слово'?" и на основании точно распознаваемого ответа "Да" / "Нет" - проводить "на лету" дообучение акустической модели.
Опробовал Sphinx и пока не поннял как им нормально и удобно пользоваться. Хотя вроде бы есть русские акустические модели.
Опробовал julian/julius - в quickstart наборе все запускается и распознает набор команд на английском. Но опять же не ясно как подключить свой набор команд на русском.
Задача обучения (traning) оказывается не простой - вернее не могу найти нормальное описание. Придется разбираться с существующей документацией.
Когда разберусь, то получится сделать элементарный алгоритм самообучения - при низкой вероятности распознавания можно задавать уточняющий вопрос: "Вы сказали 'слово'?" и на основании точно распознаваемого ответа "Да" / "Нет" - проводить "на лету" дообучение акустической модели.