Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 42, средняя оценка - 4.76
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
#1

Голосовое управление и распознавание\сравнение речи - C++

13.04.2013, 12:03. Просмотров 6113. Ответов 29
Метки нет (Все метки)

Доброго времени суток, друзья!
В виду того, что скоро предстоит выбирать тему курсовой работы, я решил немного активизироваться и вспомнил, что вот уже пару лет во мне тлеет мечта разработать программу, которая бы могла управлять системой при помощи человеческого голоса. Ну, это совсем глобально.
Цель сейчас - написать программу, которая распознавала бы 10-15 голосовых команд (обязательное условие - язык C++)Сроку - год)
В дальнейшем планирую не бросать и развивать проект, но пока оцениваю свои возможности более менее трезво и понимаю, что за год смогу создать только маленькую "распознавалку"=)
А теперь внимание, вопрос-просьба:
Помогите, кто чем может - советом, указаниями и т.д.
Хотя бы посоветуйте, в какую сторону начинать копать.
Допустим, с захватом голоса проблем нет, какие необходимы дальнейшие преобразования? Какие существуют алгоритмы сравнения (я знаю, что это самая сложная часть)
Да, я читал google, да я знаю (вики) о нейронных сетях и вообще немного времени посвятил изучению данной проблемы. Но это все очень разбросанно и поверхностно)
Может, кто-то посоветует хорошие книжки?Или ваш собственный опыт?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2013, 12:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Голосовое управление и распознавание\сравнение речи (C++):

Голосовое управление программой - C++
Здравствуйте, я еще неопытный программист, но хочу попробовать сделать программу с голосовым управлением. На днях юзал гугл голосовой...

голосовое управление. диплом - C++
Доброго времени суток. Хочу создать программу голосового управления(на подобие умных домов) что-то простенькое - открыть браузер, ворд и...

Голосовое управление - C++
Привет всем. Захотелось создать прогу с голосовым управлением. Как?) не знаю как сделать, что бы прога после фразы, поняла, что надо...

Распознавание речи(+ команд) - C++
привет!!) вопрос такой - при помощи чего можно распознавать речь, какие есть варианты?? интересует реализация прежде всего...

Голосовое управление. Активация записи - C++
Здравствуйте! Хочу добавить в свой проект умного дома голосовое управление. Нужно несколько команд - включить свет/выключить свет/открыть...

Голосовое управление операционной системой - C++
Такой вопрос: можно ли сделать голосовое управление? например, грубо говоря, произносишь слово "время" и на экране показывается время. т.е....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kins
59 / 58 / 6
Регистрация: 03.02.2013
Сообщений: 167
13.04.2013, 22:08 #16
Цитата Сообщение от Izobara Посмотреть сообщение
Так после нескольких месяцев мучений я смотреть не мог на код.
Поидее, если заступорились, то стоило отложить проект до "лучших времен", или ненадолго попросту. Ведь умные люди советуют: "утро вечера мудренее..", и со временем пришл бы ответ, или новое решение проблемы, может не скоро, но всеже пришло.)

Цитата Сообщение от Nagdiel Посмотреть сообщение
Мое мнение - не стоит.
Ну каждому свое, надо ведь развиваться, интересоваться все новым и новым, а не выучить одно и медленно начинать деградировать.))

Цитата Сообщение от Nagdiel Посмотреть сообщение
А ведь корпорации тратят большие деньги на исследования в области распознавания речи.
вранье все это, хотели бы- сделали, ну или уже сделали, только не распространяются об этом, взять хотя бы Kinect - в нем вроде реализовано простое голосовое управление- читал просто где-то когда-то про это.)
0
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
13.04.2013, 22:13  [ТС] #17
Kins, С английским-то легче=) И Api от мелкомягких есть...и вообще тема у них актуальна. А вот с русским - провал(
0
Kins
59 / 58 / 6
Регистрация: 03.02.2013
Сообщений: 167
13.04.2013, 22:15 #18
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
С английским-то легче=)
А в чем отличие звуков английского языка от русского? Я не про слова, а про звуки.
0
Nagdiel
114 / 114 / 3
Регистрация: 23.12.2012
Сообщений: 195
13.04.2013, 22:40 #19
Цитата Сообщение от Kins Посмотреть сообщение
Ну каждому свое, надо ведь развиваться, интересоваться все новым и новым,
Полностью поддерживаю! Я однако хотел сказать, что такие задачи с наскоку не решаются. Да и не очень понятно, какова цель ТС - то ли выучить С++, то ли разобраться с основами распознавания речи. Во всяком случае С++ не лучший выбор для исследования и разработки подобных алгоритмов (именно для разработки, а не для реализации), уж лучше тогда использовать matlab, в котором есть мощные библиотеки по ЦОС, ИНС, статистике и пр.

Цитата Сообщение от Kins Посмотреть сообщение
вранье все это, хотели бы- сделали, ну или уже сделали
Все верно, есть кое-какие наработки, есть зачатки голосового управления в различных устройствах, однако эти вещи еще далеки от широкого практического использования.

Цитата Сообщение от Kins Посмотреть сообщение
А в чем отличие звуков английского языка от русского? Я не про слова, а про звуки.
Сомневаюсь, что компьютеры речь по отдельным буквам (звукам) распознают. Алгоритм распознавания, как правило, обучают на специально подготовленных базах. И думается, что таких баз на английском языке гораздо больше, и их качество скорее всего лучше.

Добавлено через 3 минуты
А еще в английском языке семантика проще, поэтому легче верифицировать результаты распознавания отдельных слов в составе предложения.
0
Kins
59 / 58 / 6
Регистрация: 03.02.2013
Сообщений: 167
13.04.2013, 22:52 #20
Цитата Сообщение от Nagdiel Посмотреть сообщение
эти вещи еще далеки от широкого практического использования.
Думаю, что разрабам не составило бы труда поменять включение/выключение освещения в доме с хлопка на слово "свет", да так скорее всего и было изначально, а во всем виновата лень, ибо хлопать легче, чем говорить.)


Цитата Сообщение от Nagdiel Посмотреть сообщение
Сомневаюсь, что компьютеры речь по отдельным буквам (звукам) распознают.
Ну мне кажется, что по звукам распознование, из групп звуков строятся зависимости, и уже реализуются как команды.

Добавлено через 6 минут
Голосовое управление контактами в сотовых телефонах, быстрый вызов, распознается по звукам, тоесть определенная последовательность звуков закрепляется за определенным контактом.
0
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
13.04.2013, 23:05  [ТС] #21
Nagdiel, вы правы=)
Взять только наши окончания и падежи)

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

В будущем планирую создать приложение, которое объединит голосовое управление со слежением с камеры (жесты+голос)

Почему именно C++? Одно из требований курсовой - написание на C++, вот и все=) Да и вообще мне он как-то ближе.
Kins,
Немного не так=) Распознается не отдельный звук,а все слово целиком.Поэтому самый простой способ - сравнение слова, каторые ты же и записал (дикторозависимость) но даже сам человек одно и то же слово может говорить разными интонициями, скоростью и эмоциями. Вершина - разделение на дифтонги и трифтонги. Но представьте, какая нужна вычислительная мощь!
Так что не просто так это одна из самых сложных задач)

Добавлено через 2 минуты
Nagdiel, И еще. Я не говорил, что делаю это с наскоку. У меня есть год и я изначально просил, что бы посоветовали литературу для изучения. Я прекрасно понимаю, что нужно перерыть не одну книжку для того, чтобы осознать теорию) Так что пусть у вас не складывается ощущение, что хочу за месяц сдалать супер-распознавалку с функцией тостера=)
0
Kins
59 / 58 / 6
Регистрация: 03.02.2013
Сообщений: 167
13.04.2013, 23:09 #22
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
Распознается не отдельный звук,а все слово целиком.
Дак вот оно- "слово" состоит из последовательности звуков, которые записываются при распозновании, тоесть присваиваются команде, независимо на каком языке. Если только исключить процесс распознования, тоесть записи последовательности звуков, то можно судить о том, что именно, как вы и говорите- ваш голос сравнивается с клеше, записанным разрабами. В противном случае клеше вы создаете сами, своей последовательностью звуков.
Это мое мнение. Оно возможно ошибочно, но мне представляется весь процесс именно так.
1
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
13.04.2013, 23:16  [ТС] #23
Kins, Увы и ах - процесс не такой=)
Если бы все было именно так - это рай)

Но приступая к реализации сразу можно столкнуться с жестокой реальностью - интонация, акцент, качество записи, шум и прочее. Нельзя просто сравнить две синусоиды. Они никогда не будут одинаковы. Они будут схожи. А для разных людей они просто будут иметь некоторые схожие признаки (закономерности) Вот если я все понял верно, то происходит все именно так)
0
raxp
10162 / 6549 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
13.04.2013, 23:27 #24
Допустим, с захватом голоса проблем нет, какие необходимы дальнейшие преобразования? Какие существуют алгоритмы сравнения (я знаю, что это самая сложная часть)
Да, я читал google, да я знаю (вики) о нейронных сетях и вообще немного времени посвятил изучению данной проблемы. Но это все очень разбросанно и поверхностно)
Может, кто-то посоветует хорошие книжки?
...в помощь источники Литература по ЦОС и алгоритмам (пост #1, #4, #5)
1
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
13.04.2013, 23:33  [ТС] #25
raxp, Второй раз выручаете=)
Спасибо, действительно литературы много, надеюсь, смогу выбрать необходимое=)
0
Nagdiel
114 / 114 / 3
Регистрация: 23.12.2012
Сообщений: 195
13.04.2013, 23:45 #26
Kins, в этом случае слово распознается целиком. Это означает, что отсутсвуют этапы выделения отдельных фонем, их распознавания и синтеза на этой основе того слова, которое было сказано. Здесь это вобщем-то и ни к чему, так как не нужно извлекать смысловую информацию.

Vlad Pisatel,
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
Так что пусть у вас не складывается ощущение, что хочу за месяц сдалать супер-распознавалку с функцией тостера=)
Отнюдь не складывается. Вы спросили, стоит ли начинать, я изложил свое субъективное мнение. Самое трудное здесь, на мой взгляд, выбрать правильный подход к решению задачи, который позволит получить желаемый результат. На самом деле подходов к распознаванию речи огромное множество: спектральный и кепстральный анализ, вейвлеты, скрытые марковские модели, авторегрессионные модели, нейроные сети и т.п. Думаю книги позволят сформировать необходимые базовые знания, ну а конкретно по проблеме распознавания речи лучше почитать научные статьи. Начать лучше с обзоров (review, state of art of...), помимо краткого описания и сравнения тех или иных методов в них приводят ссылки на оригинальные работы, в которых эти методы изложены.

Например:
http://arxiv.org/pdf/1001.2267.pdf
http://www.ijcaonline.org/volume10/n...pxc3871976.pdf
http://wcsit.org/pub/2012/vol.2.no.1...Approaches.pdf
1
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
14.04.2013, 16:15  [ТС] #27
Nagdiel, В том-то и дело, я хотел найти и вообще собрать всю информацию по поводу способов реализации данной задачи.
Спасибо большое за ссылки!
0
GSSR
7 / 7 / 1
Регистрация: 21.04.2013
Сообщений: 44
13.07.2013, 00:13 #28
Вот программа "Magic Gooddy 98" в которой реализовано "Голосовое управление и распознавание\сравнение речи".

 Комментарий модератора 
Вложения удалены на основании правил форума:
5.3 Запрещено размещать любые материалы, нарушающие авторские права (без разрешения правообладателя), а также ссылки на них.
Ссылка на официальный сайт http://x-translator.translate.ru/mg.asp
0
zybrzybr
17 / 16 / 0
Регистрация: 29.09.2010
Сообщений: 156
13.07.2013, 01:00 #29
Юкио Сато - Обработка сигналов. Первое знакомство
почитай! там для детей написано, но если осилишь, то и сможешь решишть нужно это тебе или нет! там читать на недельку с нуля начиная!
не советую начинать с других книг без математической базы хотябы курса 2-3.
0
ITcrusader
Эксперт C++
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
13.07.2013, 01:12 #30
Цитата Сообщение от Nagdiel Посмотреть сообщение
А еще в английском языке семантика проще, поэтому легче верифицировать результаты распознавания отдельных слов в составе предложения.

Прошу прощения за целых 3 смайлика))) Утроил, чтобы усилить их смысловую нагрузку)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2013, 01:12
Привет! Вот еще темы с ответами:

Реализовать алгоритм работы планировщика. Управление виртуальной памятью. Управление файловой системой - C++
Разработка программы менеджера памяти. Свопинг. Сегментная схема организации памяти. Управление виртуальной памятью. Глобальное и локальное...

Сравнение текста из файла и сравнение с текстом в программе char - Dev C++ - C++
Доброго времени суток! Имеется код программы: ifstream test("primer.txt"); char awm = "kod"; char buff; test >> buff; if (buff...

Распознаватель речи - C++
Здравствуйте! Хочу написать программу в которой нужно будет преобразовывать звук в текст и делать с ним определенные действия. Для...

Нужна какая-нибудь библиотека для распознавания речи под Windows - C++
Люди, нужна какая-нибудь библиотека для распознавания речи под Windows. Знаю, что есть SAPI, но как я понял там только синтез речи можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.07.2013, 01:12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru