Детектор полезного сигнала средствами Reaper (1 онлайн

fakeitback

Super Moderator
Команда форума
6 Май 2005
15.063
16.581
113
43
Москва
Коллеги, возникла такая задача, представляющая пока чисто академический интерес. Тема в разделе рипера, потому как интересно решить задачу именно средствами рипера (большей частью хотя бы). Впрочем, если кто-то предложит решение, например, средствами реактора или иного конструктора, тоже буду благодарен.

Есть некий [почти] статичный сигнал (форум музыкальный, пусть это будет волынка, например, дующая одну ноту). Необходимо детектирование этого сигнала в окружающем шуме (пусть не шум, пусть музыкальная композиция) и по появлению этого сигнала должно генерироваться midi-сообщение (да что угодно, но midi привычнее)

Я на скорую руку собрал кривую модель, в которой параметриком, умеющим строить гармоники от заданной частоты задрал основной тон и гармоники на +18 dB от основного тона нашей «волынки», взял дельту этого сигнала от суммы шума и волынки, настроил детектор reagate достаточно узкой полосой с максимальным RMS на генерацию миди-сигнала по срабатыванию.

Но это всё фигня и коряво, так как при возрастании уровня шума плюс минус в той же полосе рано или поздно гейт тоже срабатывает.

Задумал сделать слепок сигнала «волынки» при помощи ReaFir и тут к стыду своему застрял, потому как вообще не пойму, как в этом плагине динамическая часть прикручена с снятому «слепку»

Но это одна из идей, возможно есть более симпатичное решение или оно даже уже давно реализовано.

По хорошему надо бы написать на JS, но сначала хочется смоделировать всё имеющимися средствами алгоритм работы.


Спасибо, тем, кто дочитал)
 
Последнее редактирование:
Давно этим не занимался, но помню ключевые слова: синхронный детектор, микросхема AD630 )
 
  • Like
Реакции: fakeitback
Есть некий [почти] статичный сигнал (форум музыкальный, пусть это будет волынка, например, дующая одну ноту). Необходимо детектирование этого сигнала в окружающем шуме (пусть не шум, пусть музыкальная композиция) и по появлению этого сигнала должно генерироваться midi-сообщение (да что угодно, но midi привычнее)

Ну академическая наука (в смысле ЦОС) в таких случаях предлагает делать фильтр, согласованный с сигналом.

Согласованный фильтр представляет из себя накатывание подходящим сверточником импульса в виде реверснутой копии искомого сигнала. На самом деле там еще коэффициент нужен, но адекватный суммарный гейн можно и так подобрать.

Затем - RMS-детектор и тест превышения порога.

Конечно, такой способ обнаружения имеет задержку, равную длине импульса фильтра.
 
  • Like
Реакции: fakeitback

Ну пока не за что, там много подводных камней, могу только удачи пожелать.

Я таким способом детектил бочку и малый. В качестве фильтра использовал один период искомого сигнала. Прелесть в том, что сигнал на выходе фильтра максимален в момент наилучшего соответствия исследуемого сигнала и образца.
 
  • Like
Реакции: fakeitback

Сейчас просматривают