Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Технологии: Разные > Системы распознования и синтеза речи |
Автор: JS0n 12.5.2008, 13:47 |
Добрый день. Вчера посмотрел фильм "Железный человек" и остался под сильным впечатлением от системы, которая помогала ему создавать костюм. А ведь это на самом деле удобно - общаться с компьютером/телефоном/кпк/плеером посредством голоса. Например, водители автомобилей покупают всякие хэндсфри, нашлепки на руль и т.д., а могли бы сказать своему телефону "Набери-ка мне Васька, перейди в режим громкой связи и сделай звук погромче" и не отвлекаться от дороги. Да много еще таких примеров... Сегодня начал изучать средства для разработки подобных систем. Неплохая статья по этой теме есть здесь: http://lib.juga.ru/article/articleview/178/1/69 Может кто-то уже делал что-то подобное или работал с такими системами? Поделитесь опытом и соображениями по этому поводу. |
Автор: powerOn 12.5.2008, 16:09 |
Причём тут Java? |
Автор: COVD 12.5.2008, 16:48 | ||||
в приведенной JSOn ссылке этот вопрос освещен в отдельном параграфе:
|
Автор: man_without_face 12.5.2008, 17:00 |
Дык это например Нейронные Сети. Что тут такого? ничего сверхнового нет. Такие системы пишутся дипломниками. Только в простейшем виде конечно. |
Автор: JS0n 12.5.2008, 17:43 | ||
Как раз таки искусственные нейронные сети используются только для усиления мощности распознавателей. А сами распознаватели основаны на скрытой марковской модели (НММ).
Меня интересуют уже готовые системы и работающие системы распознавания речи. Например, я хочу выполнять какие-то операции голосом (например, запуск приложений). |
Автор: val_vp 12.5.2008, 17:55 |
всем привет, вот первое что выкинул google --- http://www.e-speaking.com/ |
Автор: man_without_face 12.5.2008, 21:44 |
"Змей Горыныч" вроде так зовётся клёвая на старые времена прога для этих целей. |
Автор: cube 13.5.2008, 14:03 |
че за бред, у тебя на телефоне голосового набора нет? знаешь почему никто не пользуется голосовым набором? потому что например телефон, коряво разбирает речь. У меня друг купил смартфон, 5 раз кричал в него "Сколько время?", только потом после 3-его "Повторите пожалуйста!" - услышал "восемнадцать часов, шесть минут", эт опри том что дело было дома, в нешумном помещении... Еще хуже когда он начал вызывать какие-то спец функции, аппарат часто ошибался, запускал какие-то приложения... Представляю если все это будет за рулем движущегося автомобиля... Все о чем ты гоовришь, оно и сечас есть, мой первый телефон нокия 8210 распознавал голос по интонации... и если честно был в сто тыщ раз точнее нового смартфона моего друга. |
Автор: man_without_face 14.5.2008, 17:17 |
cube, а вы не думали, что в мобильных телефонах отстойный софт? |
Автор: man_without_face 15.5.2008, 14:04 |
Да я о том, что в большинстве моб.телефонов происходит тупое сровнение сказанных слов с набором уже существующих, т.е. без учёта различных критериев, таких как интонация, шум и т.д. |
Автор: DRUID3 1.6.2008, 15:09 | ||
Системы распознавания речи строятся на том, что распознают фонемы в человеческой речи (коих около 1000) Фурье или вейвлет(намного эффективнее) преобразованием и анализируя их очередность выделяют слова. В сотовиках стоят примитивные анализаторы спектра (Фурье) которые записывают звуковой всплеск, ставят ему в соответствие команду, а потом все время сравнивают Фурье образ и если критерий похожести(коэффициент корреляции) превышает некий порог - значит это и была комманда. Система сверхприметивнейшая(дипломники тоже такие-же и пишут) и ничего общего с современным совтоянием распознавания речи(образов) это не имеет.
Мощность это работа выполняемая за единицу времени (школьный учебник физики) ![]() Нейронные сети это пришедший к нам из бионики метод описания нелинейных динамических систем. Их сейчас лепят куда надо и куда не надо - особенно люди далекие от фундаментальных школ (радиотехнической, кибернетической) - зачастую совершенно без понимания, что основная сила НС в древовидном распараллеливании (которое эффективно можно использовать в ПЛИС например) и огромном труде на данный момент проделанном биониками(по-типу Хайкина) а отнюдь не в исчерпывающей математической достоверности. Марковские модели - стыдливое прикрытие теорией вероятностей грубой и не вполне адекватной модели - причем в любом случае их применения. Но у них есть огромный "+" - они работают. Вот как аналоговый радиоприемник (полосовой фильтр в котором - дальний родственник ММ) - кажется примитив - а музыка из него льется (и зачастую более качественно чем в плохо смоделированной цифровой системе). Кстати, насколько помню, в проекте Festival (синтез речи 4 Linux) есть инстументы и ее анализа. Но... Все это имеет микроскопическое отношение к системе показаной в фильме. Понятное дело, что это фантастика. Но фантастика уровня Жюль Верновской подводной лодки - вполне осуществимая. Но в фильме система не просто распознавала слова ("повери вправо","перестань" и т.д.) - она оперировала понятиями - т.е. за одним словом скрывалось целое дерево возможных моделей поведения - и только вся голосовая команда отбирала из этого множества нужную. Нельзя взять нейронную сеть, отрезать кухонным ножем сколько нам надо и получить задуманное. Это как если бы пытаться насыпав в коробку радиодетали, перемешивая их получить телевизор. Сделать такую систему - можно только срастив систему распознавания речи с исполнительными устройствами и языком программирования оперирующим данными в виде объединения слов. Такие языки были (есть и будут есть, просто мало распространены сейчас) например Forth(4th) - нечто среднее между языком, интерпритатором и ОС... Правда он для стековой архитектуры и пришлось бы говорить в стиле учителя Йоды... Вобщем система реальна но до показанного в кино - огромный кусок работы... |
Автор: Asal 26.6.2008, 14:44 | ||
DRUID3, а какие еще существуют модели? Более адекватные. |
Автор: ОлегДорожко 7.9.2008, 16:09 |
Здравствуйте. Как сделать так, чтобы программа просто реагировала на звук голоса, при этом все равно что скажет пользователь? Например, пользователь сидит, программа перед ним листает страницы и вдруг пользователь говорит Стоп И программа останавливает листание Как написать такую программу? Можно ли сделать это на Java? или на другом языке программирования? Хочу вставить такой модуль в СуперБлокнот Извините, если слишком оффтоп.. |
Автор: man_without_face 8.9.2008, 17:57 |
Хе. Возвращайтесь обратно с СуперБлокнотом на forum.ishodniki.ru. =) |
Автор: ОлегДорожко 9.9.2008, 09:59 |
man_without_face, ![]() |
Автор: Fiyanov 3.11.2008, 08:05 |
cube, голосовой набор есть практически во всех нокиях начиная с 3310. Качество его конечно не самое высокое, но помоему вполне приемлемое для такого не сильно хитрого устроиства как телефон. Добавлено через 1 минуту и 45 секунд А вообще конечно у подобных систем большое будущее тем более в автомобиле строении... Топовые модели уже говорят с водителем... |