|
Распознавание речи, помогите пожалуйста! |
|
|
|
Aug 28 2007, 19:09
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
Я знаю алгоритм для распознавание речи. Слова через микрофон проходит в фильтр, который собран на операционниках, типичные частоты для человеческого голоса находятся на интервале 100 гц - 2 000 гц, по этому используется Фильтр Высокого прохода, полосовой Фильтр и фильтр низкого прохода (аналоговый), после этого сигнал входит в микроконтроллер Т.е. на АЦП (скажем ATmega32) , здесь уже используются цифровые фильтры (Butterworth, Chebishev1,Chebishev2) , уже 'обработанный сигнал' который включает в себе цифры, сравнивается уже заранее хранивший в памяти отпечатков пальца словаря, метод сравнении можно использовать эвклидовые расстояния (сравнение как две векторы) или корреляционный метод, а словарь отпечатки палцов можно получить через MATLAB использовать Быстрое Преобразование Фурье, этот метод работает только для одного человека, То есть метод работает только для человека который говорил слово, если другой человек скажет тот же слово алгоритм не будет распознать. Мне надо такой алгоритм чтобы был универсальным, то если я в памяти микроконтроллера занес отпечатки пальца слова система работал для всех, то есть если все люди говорили тот же слова, система распознавания работал. И скажите пожалуйста, чем отличаются одно и тот же слово сказанные разными людьми? Буду рад лубой информации.
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
Aug 28 2007, 20:16
|

Знающий
   
Группа: Участник
Сообщений: 845
Регистрация: 10-02-06
Пользователь №: 14 193

|
Цитата(VAHOO @ Aug 28 2007, 23:09)  Слова через микрофон проходит в фильтр ... сравнивается уже заранее хранивший в памяти отпечатков пальца Плохая у вас травка.  Цитата И скажите пожалуйста, чем отличаются одно и тот же слово сказанные разными людьми? Туда http://forum.aicommunity.org/ идите, там объяснят (если захотим  ).
Сообщение отредактировал VDG - Aug 28 2007, 20:19
--------------------
|
|
|
|
|
Aug 29 2007, 06:17
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
Я армянин, у меня образование армянское, по этому извиняюсь  ) sorry!
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
Sep 6 2007, 06:01
|
Частый гость
 
Группа: Новичок
Сообщений: 84
Регистрация: 4-09-07
Из: Москва
Пользователь №: 30 277

|
Цитата(VAHOO @ Aug 28 2007, 23:09)  .... И скажите пожалуйста, чем отличаются одно и тот же слово сказанные разными людьми? Буду рад лубой информации.  Речь одного человека отличается от речи другого индивидуальными особенностями (тембром и прочее), которая кодируется формой сигнала речи. Понимаемость речи сохранится даже в том случае, если её клиппировать. Клиппирование сигнала - это процедура, отбрасывающая форму сигнала, но сохраняющая информацию о пересечении сигналом нулевого уровня. Т. е. алгоритм клиппирования состоит в следующем: если сигнал больше нуля, то его амплитуда приравнивается, допустим, +1, а если сигнал меньше нуля, то к -1. После операции клиппирования устраняются практически все индивидуальные особенности речи, но сохраняется информация о смысле произнесенного. Речь при этом имеет характерный металлический оттенок. Соответственно систему распознавания речи необходимо реализовывать на основе именно клиппированной речи. И ещё: речь, как ни странно, состоит из так называемых фонем, т. е. элементарных звуков (не путать с буквами алфавита), которых в русском языке порядка 60. Соответственно из клиппированной речи вам нужно выделять именно фонемы, которые затем переводить в слова (если стоит именно такая задача).
Сообщение отредактировал Degun - Sep 6 2007, 06:03
|
|
|
|
|
Sep 6 2007, 06:43
|
Участник

Группа: Свой
Сообщений: 57
Регистрация: 3-08-06
Из: Раменское
Пользователь №: 19 297

|
А Атмега потянет для такой задачи? Или вы все таки основную обработку на ПК в Малабе делать будете?
--------------------
turizm62.ru
|
|
|
|
|
Sep 7 2007, 05:38
|
Частый гость
 
Группа: Новичок
Сообщений: 84
Регистрация: 4-09-07
Из: Москва
Пользователь №: 30 277

|
Цитата(muravei @ Sep 6 2007, 10:20)  И даже если снять огибающую и промодулировать ей любой разумный сигнал. Возможно. Возможно даже, что разборчивость сохранится, если сложить речь с любым разумным сигналом, и возможно даже, если умножить её на любой разумный сигнал. Необходимо стремиться к упрощению обработки, а не к её усложнению. Смысл применения операции клиппирования в том, чтобы привести речевой сигнал к виду наиболее похожему на сигнал с ШИМ, т. к. речь достаточно качественно можно представить именно в виде сигнала с ШИМ.
|
|
|
|
|
Sep 7 2007, 20:07
|

Знающий
   
Группа: Участник
Сообщений: 845
Регистрация: 10-02-06
Пользователь №: 14 193

|
Цитата(Degun @ Sep 6 2007, 10:01)  Понимаемость речи сохранится даже в том случае, если её клиппировать. Правильно - "распознаваемость". И обеспечивается она возможностями мозга. Мозг то умеет работать даже с такой "бедной" информацией - восстанавливая входной поток, а для программиста задача ещё более усложняется. Цитата но сохраняется информация о смысле произнесенного. Ну.... не смысл конечно  , придаваемый звуку субъектом, а корреляция с известным мозгу паттерном. Рекомендую ещё раз сходить на сайт, который я указал выше. По крайней мере, не потратите время на велосипед.
Сообщение отредактировал VDG - Sep 7 2007, 20:13
--------------------
|
|
|
|
|
Oct 8 2007, 09:57
|
Частый гость
 
Группа: Новичок
Сообщений: 84
Регистрация: 4-09-07
Из: Москва
Пользователь №: 30 277

|
Цитата(VDG @ Sep 8 2007, 00:07)  Правильно - "распознаваемость". И обеспечивается она возможностями мозга. Мозг то умеет работать даже с такой "бедной" информацией - восстанавливая входной поток, а для программиста задача ещё более усложняется. Потребителем же информации является человек, поэтому можно рассчитывать на великолепные возможности его мозга. Цитата(VDG @ Sep 8 2007, 00:07)  Ну.... не смысл конечно  , придаваемый звуку субъектом, а корреляция с известным мозгу паттерном. Но в итоге это же выливается в смысл речи
|
|
|
|
|
Oct 8 2007, 20:03
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 3-10-07
Из: Moscow
Пользователь №: 31 035

|
Цитата(Degun @ Oct 8 2007, 13:57)  Потребителем же информации является человек, поэтому можно рассчитывать на великолепные возможности его мозга.
Но в итоге это же выливается в смысл речи Если речь идет о распознавании речи, то на сегодняшний момент лучше скрытых марковских процессах (HMMs) не придумали, далее соответственно уже в сторону HMMs - алгоритмы витерби: прямой проход, обратный проход - декодирование слоф, фонем и т.д. Основные методы анализа: фурье, далее кепстральные коэффициенты и их производная.
|
|
|
|
|
Oct 9 2007, 06:21
|
Частый гость
 
Группа: Новичок
Сообщений: 84
Регистрация: 4-09-07
Из: Москва
Пользователь №: 30 277

|
Цитата(Grt @ Oct 9 2007, 00:03)  Если речь идет о распознавании речи, то на сегодняшний момент лучше скрытых марковских процессах (HMMs) не придумали, далее соответственно уже в сторону HMMs - алгоритмы витерби: прямой проход, обратный проход - декодирование слоф, фонем и т.д. Основные методы анализа: фурье, далее кепстральные коэффициенты и их производная. Не всякий процессор DSP потянет скрытые марковские процессы, а уж тем более алгоритм Витерби. Также можно столкнуться с ограничением по объёму памяти.
|
|
|
|
|
Oct 9 2007, 07:25
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 3-10-07
Из: Moscow
Пользователь №: 31 035

|
Цитата(Degun @ Oct 9 2007, 10:21)  Не всякий процессор DSP потянет скрытые марковские процессы, а уж тем более алгоритм Витерби. Также можно столкнуться с ограничением по объёму памяти. Это уже вторая задача, как оптимизировать так, чтобы все работало и в то же время можно было уместится в мипсах и в памяти.
|
|
|
|
|
Oct 10 2007, 12:59
|
Частый гость
 
Группа: Новичок
Сообщений: 84
Регистрация: 4-09-07
Из: Москва
Пользователь №: 30 277

|
Цитата(Grt @ Oct 9 2007, 11:25)  Это уже вторая задача, как оптимизировать так, чтобы все работало и в то же время можно было уместится в мипсах и в памяти. Это понятно, но зачастую когда имеешь дело с DSP-процессорами в реальном времени именно эти факторы выходят на первый план
|
|
|
|
|
Oct 10 2007, 13:06
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 3-10-07
Из: Moscow
Пользователь №: 31 035

|
Цитата(Degun @ Oct 10 2007, 16:59)  Это понятно, но зачастую когда имеешь дело с DSP-процессорами в реальном времени именно эти факторы выходят на первый план Значит надо чем-то жертвовать, например, длиною признакового вектора, длиной окна Витерби, методами dsp обработки речи и т.д.
|
|
|
|
|
Oct 17 2007, 21:16
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
мне надо чтобы ATmega32 распознал 3 армянских слов и все. У меня сейчас в руках есть PIC контроллер (кварц 10мгц), он четко распознает русские 3 слова и очень четко работает, конечно ставлен Lock Bits -и, мне не надо делать интеллектуальный апарат. Спасибо!
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
Oct 19 2007, 14:13
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 3-10-07
Из: Moscow
Пользователь №: 31 035

|
Цитата(VAHOO @ Oct 18 2007, 01:16)  мне надо чтобы ATmega32 распознал 3 армянских слов и все. У меня сейчас в руках есть PIC контроллер (кварц 10мгц), он четко распознает русские 3 слова и очень четко работает, конечно ставлен Lock Bits -и, мне не надо делать интеллектуальный апарат. Спасибо! Интересно, что это за 3 русских слова ? Распознает для любого человека или как ? Самый простой способ это сделать ряд полосовых фильтров, настроенных на определенные частоты. Для таких фильтров определяем энергию в каждой полосе и устанавливаем порог срабатывания. Резонансные частоты и порог срабатывания придется подбирать экспериментально.
|
|
|
|
|
Oct 25 2007, 20:19
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
Цитата(Grt @ Oct 19 2007, 17:13)  Интересно, что это за 3 русских слова ? Распознает для любого человека или как ? Самый простой способ это сделать ряд полосовых фильтров, настроенных на определенные частоты. Для таких фильтров определяем энергию в каждой полосе и устанавливаем порог срабатывания. Резонансные частоты и порог срабатывания придется подбирать экспериментально. да, Распознает для любого человека.
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
Oct 26 2007, 05:14
|
Частый гость
 
Группа: Новичок
Сообщений: 84
Регистрация: 4-09-07
Из: Москва
Пользователь №: 30 277

|
Цитата(VAHOO @ Oct 26 2007, 00:19)  да, Распознает для любого человека. А какой принцип, если не секрет?
|
|
|
|
|
Oct 26 2007, 10:52
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 3-10-07
Из: Moscow
Пользователь №: 31 035

|
Цитата(VAHOO @ Oct 26 2007, 00:19)  да, Распознает для любого человека. И наверное забылм сказать, что порог ложного срабатывания тоже не малый.
|
|
|
|
|
Oct 29 2007, 19:21
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
распознает 99%, я не знаю алгоритма,
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
Oct 30 2007, 07:07
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 3-10-07
Из: Moscow
Пользователь №: 31 035

|
Цитата(VAHOO @ Oct 29 2007, 23:21)  распознает 99%, я не знаю алгоритма, Как часто он срабатывает на другие слова. Скажем, говоришь ему "му-му", а он тебе выдает это "мама", то понятное дело он всегда будет распознавать
|
|
|
|
|
Oct 30 2007, 12:15
|
Частый гость
 
Группа: Новичок
Сообщений: 84
Регистрация: 4-09-07
Из: Москва
Пользователь №: 30 277

|
Цитата(VAHOO @ Aug 28 2007, 22:09)  ... Мне надо такой алгоритм чтобы был универсальным, то если я в памяти микроконтроллера занес отпечатки пальца слова система работал для всех, то есть если все люди говорили тот же слова, система распознавания работал... Цитата(VAHOO @ Oct 29 2007, 22:21)  распознает 99%, я не знаю алгоритма, Так есть или нет у вас алгоритм?
|
|
|
|
|
Oct 30 2007, 18:48
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 3-10-07
Из: Moscow
Пользователь №: 31 035

|
Цитата(анатолий @ Oct 30 2007, 17:55)  Еще в 60-х годах в США выпускался телефон, кот. имел голосовой набор цифр- на сотне транзисторов были сделаны фильтры и логика. Но пользователю надо было очень долго подстраиваться. Сейчас же лучше как прототип взять алгоритм любого телефонного вокодера - выход такого кодера - период форманты, форма сигнала возбуждения (из которой можно узнать кратные форманты ), звук гласный-согласный - хорошая информация для дальнейшего распознавания. Заодно можно ощутить, насколько это трудная задача. На сегодняшний день все коммерчиское ПО в области распознавания и синтеза речи основано на HMMs (скрытые марковские модели). Как правило такое ПО настраивается на проффесиональных базах, например TIGIT - цифры от 0, ..., 9 англиского языка. Порядка 100 спикеров. Есть разметка цифр и т.д. Соглашусь с тем, что в принципе можно настроить жлезку на несколько слов, причем действительно будет распознавать и процент ложного срабатывания будет зависить от подстройки пороговых величин, выбора резонансных частот и т.д.
|
|
|
|
|
Nov 1 2007, 15:42
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
Цитата(Degun @ Oct 30 2007, 15:15)  Так есть или нет у вас алгоритм? нет, у меня нет алгоритм, но я тоже очень хочу знать
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
Nov 1 2007, 17:47
|
Частый гость
 
Группа: Новичок
Сообщений: 84
Регистрация: 4-09-07
Из: Москва
Пользователь №: 30 277

|
Цитата(VAHOO @ Nov 1 2007, 18:42)  нет, у меня нет алгоритм, но я тоже очень хочу знать  Но, как я понял, у вас есть работающее устройство? Тогда, может быть, проще всего дизассемблировать программу и разобраться как она работает.
|
|
|
|
|
Nov 2 2007, 13:30
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
На PIC микроконтроллере ставлен LOCK bit
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
Nov 5 2007, 18:39
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 3-10-07
Из: Moscow
Пользователь №: 31 035

|
Цитата(VAHOO @ Nov 2 2007, 16:30)  На PIC микроконтроллере ставлен LOCK bit Объектный код ? А в чем состоит процесс обучения ? Просто произносите нескослько раз одно и то же слово. Или процесс обучения отсутствует, и распознаваемые слова фиксированы и прошиты ?
|
|
|
|
|
Nov 12 2007, 19:01
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
Цитата(Grt @ Nov 5 2007, 22:39)  Объектный код ? А в чем состоит процесс обучения ? Просто произносите нескослько раз одно и то же слово. Или процесс обучения отсутствует, и распознаваемые слова фиксированы и прошиты ? процесс обучения отсутствует, и распознаваемые слова фиксированы и прошиты!
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
Apr 17 2008, 08:26
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 3-10-07
Из: Moscow
Пользователь №: 31 035

|
Цитата(Cont @ Apr 12 2008, 14:04)  "Если речь идет о распознавании речи, то на сегодняшний момент лучше скрытых марковских процессах (HMMs) не придумали, далее соответственно уже в сторону HMMs - алгоритмы витерби: прямой проход, обратный проход - декодирование слоф, фонем и т.д. Основные методы анализа: фурье, далее кепстральные коэффициенты и их производная."
Не подскажите литературу по HMMs? Желательно чтобы теория начиналась с самых азов т.к. я только начал заниматься этим вопросом Литераторы как таковой новой сейчас нет. Проще набрать в гугле speech recognition, HMMs и т.д. и пошарить по статьям
|
|
|
|
|
Jun 29 2008, 19:17
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
а кто знает самый прастой алгоритм для распознавание речи на микроконтроллере?
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
Jun 30 2008, 12:03
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 3-10-07
Из: Moscow
Пользователь №: 31 035

|
Цитата(VAHOO @ Jun 29 2008, 23:17)  а кто знает самый прастой алгоритм для распознавание речи на микроконтроллере? Посмотрите в http://forum.sources.ru/index.php?showtopic=146531&st=90
|
|
|
|
|
Nov 21 2008, 10:04
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
Цитата(DRUID3 @ Jun 30 2008, 07:17)   сравнение с нормированным эталоном?  если звук через компаратор подать на вход микроконтроллера и мерить дистанцыю "скважности", потом эти параметры записать в EEPROM, каким алгоритмом можно нормировать эти значения? как я понимаю нормировать это значит сжать массив?
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
Nov 23 2008, 20:04
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
Цитата(muravei @ Nov 21 2008, 17:00)  Что-то типа "нечеткой логики" а немного по подробнее можно?
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
Nov 25 2008, 05:19
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
Цитата(muravei @ Nov 24 2008, 22:44)  Нет! Наберите в Гугле "нечеткая логика" , "fuzzy logic" и изучайте, но , скорее всего, готовых программ для МК вы не найдете. Хотя, кто знает. Спасибо!
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|