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

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

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

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

13.04.2013, 12:03. Просмотров 6505. Ответов 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++
Такой вопрос: можно ли сделать голосовое управление? например, грубо говоря, произносишь слово "время" и на экране показывается время. т.е....

29
Bringoff
СуперМодулятор
133 / 132 / 15
Регистрация: 03.11.2012
Сообщений: 974
13.04.2013, 12:33 #2
Начать можно со статьи на хабре. Точнее, в этой статье есть ссылки на пару статей, которые стоит прочитать, а потом смотреть на ту статью, на которую я даю ссылку.
Если хочется готовенького, то в винде есть SpeechAPI. Но он не поддерживает русский.
1
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
13.04.2013, 12:43  [ТС] #3
Izobara, статью, конечно же читал)
Проблема в том, что SpeechAPI только Апи)Да и русского нет совсем)
Да и не хотелось бы готового решения) С тем же успехом можно и просто приложение готовое скачать)
Суть же в том, чтоб самому написать, почитать литературу и разобраться в вопросе)
0
Bringoff
СуперМодулятор
133 / 132 / 15
Регистрация: 03.11.2012
Сообщений: 974
13.04.2013, 12:58 #4
Хм... Ну, раз хотите смотреть в корень, то читайте:
Speech Separation by Humans and Machines, Kluwer Academic Publishers, 2005
Young, S., A Review of Large-Vocabulary Continuous Speech Recognition, IEEE Signal
Processing Magazine
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
13.04.2013, 13:04 #5
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
во мне тлеет мечта разработать программу, которая бы могла управлять системой при помощи человеческого голоса. Ну, это совсем глобально.
-Вашему вниманию предлагается комп с новой виндой, управляемой голосом и пока существующей в единственном экземпляре.
-Формат ц, двоеточие, слеш энте.
. Как система узнает, что команда произнесена именно легальным пользователем? Сопоставление голоса? Допустим. В криминалистике уже применяются такие алгоритмы и для них они достаточно надёжны. Но у подсистемы защиты другая задача. Может голос пользователя записан на плёнку? Может он учил другого пользователя, а потом его фразы вырваны из контекста? Надо убедиться в том, что команда дана легальным пользователем, здесь, в данный момент времени и он обращался не к соседнему компьютеру. Целесообразен вынос на голос отдельных функций приложения, но глобальное управление всей системой с голоса нельзя делать раньше, чем система пройдёт тест на интеллект. Или для машин, чьи микрофоны будут расположены в хорошо охраняемых местах и которые сами полностью контролируют всё воспроизведение звуков. Например, в кабине самолёта, чей ангар запирается, или в рубке корабля. А так диктовка текста, управление чатом без административных полномочий...

Добавлено через 3 минуты
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
Какие существуют алгоритмы сравнения
Для сопоставления голоса строй спектр, логарифмируй его и снова спектр, потом сравнение с эталоном. Это в общих чертах криминалистический алгоритм голосовой экспертизы, так что случайной реакции на голоса посторонних не должно быть даже при кривой реализации. Но это сравнение именно голосов, а не фраз.
0
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
13.04.2013, 13:37  [ТС] #6
taras atavin, Вы знаете, мечта - это мечта=) Я же в свою очередь сейчас просто спрашиваю о дикторозависимой системе распознавания 10-15 команд, которую я сам и обучу ( т.е. образ-пример голосов будет мой)

Разумеется, в перспективе, необходимо будет авторизовывать пользователя, но это явно не для меня сегодняшнего)
Вопрос не в сравнении голосов, а в сравнении фраз..наверное)

Добавлено через 37 секунд
Izobara, спасибо большое, а на русском есть что-то?)
Не то чтоб я не знал английского, но времени займет раза в 3 больше(

Добавлено через 1 минуту
taras atavin, кстати, а что вы скажете на то, чтобы система просила прочитать человека рандомную фразу? Это избавит от необходимости следить, не диктофон ли говорит)
0
Bringoff
СуперМодулятор
133 / 132 / 15
Регистрация: 03.11.2012
Сообщений: 974
13.04.2013, 13:44 #7
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
на русском есть что-то?
Лично я не встречал. Это довольно серьезная тема, и боюсь, чего-то сколь-нибудь серьезного на русском Вы не найдете. Привыкайте читать на английском - мне понравилось

Добавлено через 1 минуту
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
прочитать человека рандомную фразу?
Орригинально... Правда, человек замучается, плюнет и начнет работать мышкой, по-старинке.
1
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
13.04.2013, 13:54  [ТС] #8
Izobara, фразой может стать день недели, время...что-то обыденное, а не hjksdk323Gjkkj=))))))
Легкий математический пример)
В общем, проблема авторизации откладывается в любом случает)
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
13.04.2013, 14:06 #9
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
Разумеется, в перспективе, необходимо будет авторизовывать пользователя, но это явно не для меня сегодняшнего)
Речь не об авторизации, а о том, что постороннего вообще не должно быть рядом с микрофоном, чтоб диктофон не включил на воспроизведение. О том, что всё воспроизведение звука с диска должны конролировать сами компьютер и пользователь, всё ради тоже через компьютер, а магнитофона рядом быть вообще не должно. А авторизация может быть реализована с самого начала, это как раз проще, чем распознавание фраз.

Добавлено через 1 минуту
Либо выносить на голос только те команды, которые много не напортят. Либо сам компьютер должен быть разумен.
0
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
13.04.2013, 14:11  [ТС] #10
Проект J.A.R.V.I.S.?))
Пока все равно речь не о том=) А про "Музыка, стоп, интернет, который час" и т.д) Нужно с чего-то начать)
0
vital792
1993 / 1265 / 56
Регистрация: 05.06.2010
Сообщений: 2,213
13.04.2013, 14:48 #11
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
а на русском есть что-то?
у меня есть небольшая подборка книг на русском, посвященная синтезу/распознаванию речи
Вокодерная_телефония_Пирогов
Коммерч_речевые_шифраторы.chm
Маркел_Грэй_Линейное_предсказ_речи.djvu
Мясников_Авт_распозн_звука.djvu
Назаров_Методы_цифр_обраб_речи.djvu
Пикон_Мет_Моделир_сигн_в_расп_речи.pdf
Потапова_Речевое_управление_роботом.djvu
Рабинер_Цифр_обраб_речи.djvu
Росляков_IP_Телефония.djvu
Сапожков_Вокодеры.djvu
Физиол_речи_Чистович.djvu
Фланаган_Анализ_синтез_и_воспр_речи.djvu
книги старые, но в плане алгоритмов с тех пор особо ничего не изменилось Если что понадобится обращайтесь, хотя все их можно найти в сети.

Добавлено через 23 минуты
и да, тут на форуме тоже отличная подборка: Литература по ЦОС и алгоритмам
1
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
13.04.2013, 15:45  [ТС] #12
vital792, Спасибо за список=)
Вообще скажите, стоит ли за это браться начинающему?)
0
Bringoff
СуперМодулятор
133 / 132 / 15
Регистрация: 03.11.2012
Сообщений: 974
13.04.2013, 16:18 #13
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
стоит ли за это браться начинающему

Не по теме:

Если хотите покончить с программированием, то стоит...


Я когда-то взялся писать браузер на дельфи. Тоже решил попрактиковаться. Так после нескольких месяцев мучений я смотреть не мог на код. Но это ИМХО. Если хотите, можете начать. Но я бы советовал заняться распознаванием текста - информации больше, наработки есть, в случае чего можно обратиться за помощью. Да и покопаться в коде готовых решений...

Не по теме:

И не стесняйтесь использовать библиотеки. Ведь крыша поедет от объема работ.

0
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
13.04.2013, 17:07  [ТС] #14
Izobara, Честно говоря я тоже немного посматриваю в сторону распознавания изображений (контурный анализ)...там и openCV хорошая есть) И вообще жить проще...
0
Nagdiel
114 / 114 / 3
Регистрация: 23.12.2012
Сообщений: 195
13.04.2013, 21:47 #15
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
Вообще скажите, стоит ли за это браться начинающему?)
Мое мнение - не стоит. Особенно если нет серьезных познаний в области цифровой обработки сигналов и теории статистических решений. Как вы думаете, если всё так просто, то почему мы до сих пор вводим тексты с клавиатуры вместо того, чтобы их надиктовывать? А ведь корпорации тратят большие деньги на исследования в области распознавания речи.
0
13.04.2013, 21:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2013, 21:47
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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