Цветомузыка на Stm32

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Цветомузыка на Stm32

Сообщение Eddy_Em »

Если велосипедить до такой степени, то это уж совсем маразм получается…
Ну и таки да: коль уж реально в uint16_t БПФ так шустро считается, то ДКП должно считаться еще быстрей!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Реклама
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Цветомузыка на Stm32

Сообщение Dimon456 »

А не надо изобретать велосипед, он уже есть, даже апноут AN4841 для STM32.
Eddy_Em писал(а):коль уж реально в uint16_t БПФ так шустро считается
проблема не в скорости расчета БПФ, скорость ты можешь поднять увеличив тактовую частоту МК до запредельных, проблема в скорости накопления отсчетов АЦП.
Все упирается в эту формулу
СпойлерИзображение
А вот тебе табличку сделал
СпойлерИзображение
В_Гц, верхняя граница - это половины частоты дискретизации
Н_Гц рассчитана по верхней формуле

Как видно, Н_Гц зависит от количества отсчетов, а количество отсчетов надо еще набрать с помощью АЦП.

t_АЦП это сколько времени в милли секундах требуется, что бы набрать нужное количество отсчетов.

При t_АЦП = 20мс заметно уже отставание.

А буфер, это в минимальной конфигурации, сколько оперативной памяти требуется.
При uint16_t потребуется в 2 раза больше.
Ну а при float ...
Eddy_Em писал(а):то ДКП
а что это такое?
Реклама
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Цветомузыка на Stm32

Сообщение Eddy_Em »

даже апноут AN4841 для STM32
Смотрел, там адово безобразие на флоатах.
проблема в скорости накопления отсчетов АЦП
Тут вообще проблемы нет, т.к. на STM32 АЦП молотит так шустро, что не успеешь и буфер обработать, как уже новый "намолотит" ☺
а что это такое?
Дискретное косинусное преобразование. Используется во всяких mpeg'ах для сжатия. Ну это аналогично сжатию в пространстве Фурье, когда мы выкидываем часть ВЧ-компонент, передавая только НЧ. А в JPEG2000 используются пирамиды вейвлетов, там еще интересней: можно картинку хранить почти в несжатом виде, но по сети передача медленная, поэтому сначала пользователь увидит нулевое предложение — верхушку пирамиды, потом, по мере подгрузки остальных "слоев", будет видеть все лучшую и лучшую детализацию.
Применение ДКП в спектральном анализе почти от БПФ не отличается: тоже строим разложение, а потом из него получаем спектр мощности. А т.к. нам фазовая информация нафиг не нужна, можно алгоритм упростить.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Цветомузыка на Stm32

Сообщение Dimon456 »

Eddy_Em писал(а):Смотрел, там адово безобразие на флоатах.
А ты обратил внимание, что у меня "окно" широкое получается, расчеты грубые.
Чем точнее будут расчеты, тем "окно" уже будет.
Eddy_Em писал(а):Тут вообще проблемы нет, т.к. на STM32 АЦП молотит так шустро, что не успеешь и буфер обработать, как уже новый "намолотит" ☺
Ну АЦП может и молотит, а теорема Котельникова не хочет.
Eddy_Em писал(а):Дискретное косинусное преобразование. ... потом, по мере подгрузки остальных "слоев", будет видеть все лучшую и лучшую детализацию.
Одним словом ты хочешь сказать - прослушав полностью, до конца, фонограмму мы сможем полностью, детально, отобразить полный спектр фонограммы.
Eddy_Em писал(а):Применение ДКП в спектральном анализе
Давай, ты будешь первый кому это удастся.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Цветомузыка на Stm32

Сообщение Eddy_Em »

Ну, глянь в мануал, какая частота АЦП у STM32F0! Весь доступный уху диапазон - от 20Гц до 10кГц реально охватить, даже тормозить придется - таймером АЦП пинать.Другое дело, что для низов придется делать длиннющие выборки: 20Гц требует хотя бы двух периодов, т.е. 2000 элементов выборки на частоте 20кГц!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Реклама
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Цветомузыка на Stm32

Сообщение Dimon456 »

Eddy_Em писал(а):т.е. 2000 элементов выборки на частоте 20кГц
и сколько тебе на это времени потребуется?
И 7 кило ОЗУ надо для псевдо параллельного процесса, в F030 уже не залезет.
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Цветомузыка на Stm32

Сообщение ARV »

Dimon456 писал(а):и сколько тебе на это времени потребуется?
0,1 с :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Цветомузыка на Stm32

Сообщение Dimon456 »

ARV писал(а):0,1 с
при 20мс уже заметно отставание, а 0,1с в 5 раз медленнее.
+еще расчет БПФ, 2000 отсчетов, +еще расчет для ленты или что там у вас будет, +еще вывод на ленту, хорошо если в 0,5с уложитесь, а то и в 1с.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Цветомузыка на Stm32

Сообщение Eddy_Em »

Dimon456, дык, можно и каждые 20мс сэмплирование делать. В этом случае минимальной частотой будет 100Гц (ладно, пусть 50Гц, но хреново).
Если расчеты и вывод данных успевать делать за те же 20-30мс, то для глаза вообще незаметна задержка будет.
У STM32F0 в 8-битном режиме АЦП успеет чуть ли не за 0.5мкс одно преобразование сделать. Учитывая накладные расходы на DMA, пусть будет 1мкс. Так что, придется заводить таймер, чтобы дергать АЦП каждые 50мкс (для оцифровки до 10кГц). За 20мс накопим 400 значений. Вполне хватит, чтобы сделать 16-полосный эквалайзер от 100Гц до 10кГц.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Цветомузыка на Stm32

Сообщение Dimon456 »

Eddy_Em, ну дак делай.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Цветомузыка на Stm32

Сообщение Eddy_Em »

Dimon456, мне это нафиг не нужно. И я все еще не видел вменяемой реализации БПФ. Ну или ДКП. Я это писать сам не собираюсь.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Цветомузыка на Stm32

Сообщение Dimon456 »

Значит на этом и точку поставим.
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: Цветомузыка на Stm32

Сообщение ivan dimir »

Вообщем всем спецам спасибо.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Цветомузыка на Stm32

Сообщение Dimon456 »

Eddy_Em, вот демонстрация оконного преобразования, окно Хеннинга
СпойлерСверху спектроанализатор Winampа, снизу F030 выплевывает
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Цветомузыка на Stm32

Сообщение ARV »

цветомузыка - это не столько всякие там ДПФ/БПФ, сколько ритм и алгоритмы выделения соло-инструмента или голоса. если это не сделано, будет наитупецшая мигалка, на которую не то, что ARM стыдно тратить, но даже и КУ202Н с конденсатором...

спектр большинства музыкальных инструментов едва за 6кГц выходит, голос и того меньше, ритм и до 30 Гц не дотягивает... а вот выделить соло - это задача похлеще БПФ, поскольку далеко не с
всегда самый громкий (или самый мощный по спектру) тон ему соответствует...
так что неверной дорогой идете, товарищи...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Цветомузыка на Stm32

Сообщение Dimon456 »

ARV писал(а):так что неверной дорогой идете, товарищи...
А какой дорогой надо?
Вот, к примеру, Z-преобразование, без синусов, косинусов, рекурсии
Спойлерhttps://youtu.be/mL_yLLULHCE
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Цветомузыка на Stm32

Сообщение ARV »

Все эти спектры к цветомузыке имеют весьма косвенное отношение. Как надо, я описал ранее: выделить ведущий инструмент или голос и рисовать ему в такт, а фон задавать по ритму. А у вас просто спектр стгнала, да и тот неэстетичный.
Цветомузыка это эстетика в первую очередь.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Цветомузыка на Stm32

Сообщение Dimon456 »

ARV писал(а):Как надо, я описал ранее: выделить ведущий инструмент или голос и рисовать ему в такт, а фон задавать по ритму.
миди содержит готовый список инструментов и в соответствии кодируется.
Вы предлагаете выделить из спектра сигнала этот список инструментов и... Это нужно на каждый инструмент хранить свой цифровой отпечаток.
Только миди имеет 24 канала (включая по меньшей мере 16 мелодичных и 8 ударных каналов), а здесь всего один канал.

Может ИИ это под силу?, надо бы "Алису" спросить?

Так что, остается один вариант
ARV писал(а):КУ202Н с конденсатором...
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Цветомузыка на Stm32

Сообщение ARV »

О том и речь: смоделировать RC-фильтр и КУ202Н впридачу - это разве достижение?!
Вы просто ритм попробуйте выделить... Увы, фильтр инфранизких частот, хоть это и используют в качестве ритма, это еще далеко не ритм...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Цветомузыка на Stm32

Сообщение Dimon456 »

Пиковый детектор, визуально выбросы синхронные с ритмом музыки вполне себе видны.
На кой х он сдался?
А в область инфранизких частот 0.5-4Гц еще умудриться оцифровать надо.
Dimon456 писал(а):Так что, остается один вариант
ARV писал(а):КУ202Н с конденсатором...
Ответить

Вернуться в «ARM»