реклама на сайте
подробности

 
 
> Распознавание образа сигнала real-time
voicek
сообщение Dec 14 2010, 21:46
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 10-10-10
Из: Королёв Моск.обл.
Пользователь №: 60 052



Условие.
На входе имеем сигнал звуковой частоты (музыкальный инструмент).
Задача.
Требуется определить частоту сигнала (извлекаемую ноту) и отправить команду исполняющему устройству. Задержка между звукоизвлечением и реакцией исп. устройства должна быть минимально заметной на слух (~10мс). Попытаться всунуть алгоритм в ARM.

Предполагаю несколько вариантов решений.
1.Корреляционный анализ. Сначала "обучаем" систему, записываем образцы сэмплов каждой ноты, а потом сравниваем входной сигнал с библиотекой образцов, т.е. определяем коэфф. корреляции. Вероятно размер образца не должен быть слишком большим (фронт сигнала), иначе задержка будет заметна. Не помешает ли это устойчивости распознавания?

2.Нейронные сети. Тут темный лес, мало знаком с этой темой.

Господа опытные товарищи поделитесь соображениями, "включите свет". С какой стороны копать огород.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alexey Lukin
сообщение Jan 3 2011, 19:44
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 159
Регистрация: 3-01-11
Пользователь №: 62 000



Для определения высоты тона в реальном времени с малой задержкой хорошо работает следующий алгоритм "двойного окна". Раз у вас допустима задержка в 10 мс, то берём окно длиной 40 мс: на 10 мс вперёд по времени и на 30 мс назад. Вычисляем автокорреляцию и находим по ней высоту тона (детали — далее). Эта оценка обладает хорошей надёжностью (в т.ч. к октавным прыжкам), но отстаёт по времени от сигнала (т.к. окно сильнее простирается назад во времени). Далее берём более короткое окно, центрированное по времени, длиной 20 мс. Вычисляем автокорреляцию и ищем пик в небольшой окрестности лага, найденного с большим окном. Это и будет ответ. Кстати, во многих задачах небольшое отставание оценок высоты тона от самого сигнала не критично, если высота тона меняется медленно.

Как вычислить высоту тона по автокорреляции? В процессе вычисления автокорреляции из спектра сигнала можно извлечь квадратный корень, чтобы слегка "отбелить" спектр и обострить пики АКФ. На полученной псевдо-АКФ ищется максимум. Для повышения надёжности алгоритма можно искать максимум АКФ, сглаженной небольшим НЧ-фильтром. При поиске максимума учитываются значения АКФ с половинным лагом, чтобы избежать октавных ошибок. Далее по несглаженной АКФ производится параболическая интерполяция пика для уточнения положения максимума. Перед интерполяцией значения АКФ можно возвести в степень < 1 для увеличения точности интерполяции.
Go to the top of the page
 
+Quote Post
phantom
сообщение Jan 4 2011, 06:39
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



Цитата(Alexey Lukin @ Jan 4 2011, 01:44) *
Для определения высоты тона в реальном времени с малой задержкой хорошо работает следующий алгоритм "двойного окна". Раз у вас допустима задержка в 10 мс, то берём окно длиной 40 мс: на 10 мс вперёд по времени и на 30 мс назад. Вычисляем автокорреляцию и находим по ней высоту тона (детали — далее). Эта оценка обладает хорошей надёжностью (в т.ч. к октавным прыжкам), но отстаёт по времени от сигнала (т.к. окно сильнее простирается назад во времени). Далее берём более короткое окно, центрированное по времени, длиной 20 мс. Вычисляем автокорреляцию и ищем пик в небольшой окрестности лага, найденного с большим окном. Это и будет ответ. Кстати, во многих задачах небольшое отставание оценок высоты тона от самого сигнала не критично, если высота тона меняется медленно.

Как вычислить высоту тона по автокорреляции? В процессе вычисления автокорреляции из спектра сигнала можно извлечь квадратный корень, чтобы слегка "отбелить" спектр и обострить пики АКФ. На полученной псевдо-АКФ ищется максимум. Для повышения надёжности алгоритма можно искать максимум АКФ, сглаженной небольшим НЧ-фильтром. При поиске максимума учитываются значения АКФ с половинным лагом, чтобы избежать октавных ошибок. Далее по несглаженной АКФ производится параболическая интерполяция пика для уточнения положения максимума. Перед интерполяцией значения АКФ можно возвести в степень < 1 для увеличения точности интерполяции.

Ну вот, вроде тяжелая музыкальная артиллерия подтянулась sm.gif


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- voicek   Распознавание образа сигнала real-time   Dec 14 2010, 21:46
- - subver   Посчитать АКФ куска в 10мс и определить основной т...   Dec 15 2010, 00:13
- - Andron_   если нужно определить лишь ноту - зачем корреляцио...   Dec 15 2010, 00:29
|- - Taradov Alexander   QUOTE (Andron_ @ Dec 15 2010, 06:29) если...   Dec 15 2010, 03:05
|- - Fast   Цитата(Taradov Alexander @ Dec 15 2010, 09...   Dec 15 2010, 05:39
|- - DRUID3   Цитата(Fast @ Dec 15 2010, 10:39) с помощ...   Dec 15 2010, 08:22
- - Fast   если сигнал простой, т.е. нота состоит из одного т...   Dec 15 2010, 03:02
|- - SPACUM   Цитата(Fast @ Dec 15 2010, 10:02) Герцеля...   Dec 15 2010, 06:17
- - alex_os   Цитата(voicek @ Dec 15 2010, 03:46) Услов...   Dec 15 2010, 04:49
- - DRUID3   Да, йа тоже за автокорреляцию... Но и "Фурье...   Dec 15 2010, 05:34
- - voicek   На Фурье и Герцеле вполне успешно строят тюнеры (п...   Dec 15 2010, 07:07
|- - Oldring   Цитата(voicek @ Dec 15 2010, 13:07) Для с...   Dec 15 2010, 07:12
|- - alex_os   Цитата(voicek @ Dec 15 2010, 13:07) Для с...   Dec 15 2010, 07:50
|- - phantom   Цитата(voicek @ Dec 15 2010, 13:07) ........   Dec 16 2010, 15:27
|- - fontp   QUOTE (phantom @ Dec 16 2010, 21:27) Я по...   Dec 17 2010, 05:13
- - voicek   Цитата(SPACUM @ Dec 15 2010, 12:17) А окт...   Dec 15 2010, 08:00
|- - fontp   QUOTE (voicek @ Dec 15 2010, 14:00) Приме...   Dec 15 2010, 08:36
|- - DRUID3   Цитата(fontp @ Dec 15 2010, 13:36) И хотя...   Dec 15 2010, 08:41
|- - fontp   QUOTE (DRUID3 @ Dec 15 2010, 14:41) ??? ...   Dec 15 2010, 08:44
- - voicek   Если произвести информационную разведку у тех же н...   Dec 15 2010, 08:40
|- - DRUID3   Цитата(voicek @ Dec 15 2010, 13:40) Если ...   Dec 15 2010, 08:55
|- - fontp   QUOTE (DRUID3 @ Dec 15 2010, 14:55) Я хот...   Dec 15 2010, 09:00
- - voicek   Цитата(fontp @ Dec 15 2010, 14:44) Что та...   Dec 15 2010, 09:18
- - DRUID3   .кстати, вопрос очкастым аспирантам и их руководит...   Dec 15 2010, 09:22
- - Fast   а в чем, собственно, беспокойство н.с. - это подви...   Dec 15 2010, 09:38
|- - DRUID3   Цитата(Fast @ Dec 15 2010, 14:38) а в чем...   Dec 15 2010, 10:00
- - thermit   Цитатаfontp: да хоть и для немцев Для немцев - в...   Dec 17 2010, 05:36
- - phantom   "Для начала нужно понимать что вся музыка сос...   Dec 17 2010, 06:29
|- - fontp   QUOTE (phantom @ Dec 17 2010, 12:29) Это ...   Dec 17 2010, 07:13
|- - phantom   Цитата(fontp @ Dec 17 2010, 14:13) ...   Dec 17 2010, 11:05
- - voicek   Цитата(phantom @ Dec 16 2010, 21:27) Я по...   Dec 17 2010, 13:09
|- - alex_os   Цитата(voicek @ Dec 17 2010, 19:09) ... Н...   Dec 17 2010, 13:49
|- - blackfin   Цитата(voicek @ Dec 17 2010, 19:09) Уточн...   Dec 17 2010, 14:24
|- - Diusha   Цитата(voicek @ Dec 17 2010, 19:09) на ве...   Jan 1 2011, 03:43
- - voicek   Цитата(alex_os @ Dec 17 2010, 19:49) Я пр...   Dec 17 2010, 15:03
|- - GetSmart   Цитата(voicek @ Dec 17 2010, 23:03) Задер...   Dec 18 2010, 05:41
|- - phantom   Цитата(GetSmart @ Dec 18 2010, 12:41) А д...   Dec 18 2010, 08:48
- - phantom   Ну тогда все проще. Я то думал что надо любой инст...   Dec 18 2010, 04:38
- - qxov   Цитата(voicek @ Dec 15 2010, 03:46) 2.Ней...   Dec 21 2010, 04:55
|- - Oldring   Цитата(qxov @ Dec 21 2010, 10:55) Я вопро...   Dec 21 2010, 08:01
|- - qxov   Цитата(Oldring @ Dec 21 2010, 14:01) Нейр...   Dec 22 2010, 06:06
|- - phantom   Цитата(qxov @ Dec 22 2010, 13:06) Сплошны...   Dec 22 2010, 14:54
- - phantom   Как я понял из чтения всяких книжек - адаптивные ф...   Dec 21 2010, 06:39


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 00:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.014 секунд с 7
ELECTRONIX ©2004-2016