Цветомузыка на Stm32
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: Цветомузыка на Stm32
Если велосипедить до такой степени, то это уж совсем маразм получается…
Ну и таки да: коль уж реально в uint16_t БПФ так шустро считается, то ДКП должно считаться еще быстрей!
Ну и таки да: коль уж реально в uint16_t БПФ так шустро считается, то ДКП должно считаться еще быстрей!
- Реклама
Re: Цветомузыка на Stm32
А не надо изобретать велосипед, он уже есть, даже апноут AN4841 для STM32.
Все упирается в эту формулу
А вот тебе табличку сделал
В_Гц, верхняя граница - это половины частоты дискретизации
Н_Гц рассчитана по верхней формуле
Как видно, Н_Гц зависит от количества отсчетов, а количество отсчетов надо еще набрать с помощью АЦП.
t_АЦП это сколько времени в милли секундах требуется, что бы набрать нужное количество отсчетов.
При t_АЦП = 20мс заметно уже отставание.
А буфер, это в минимальной конфигурации, сколько оперативной памяти требуется.
При uint16_t потребуется в 2 раза больше.
Ну а при float ...
проблема не в скорости расчета БПФ, скорость ты можешь поднять увеличив тактовую частоту МК до запредельных, проблема в скорости накопления отсчетов АЦП.Eddy_Em писал(а):коль уж реально в uint16_t БПФ так шустро считается
Все упирается в эту формулу
Спойлер

Спойлер

В_Гц, верхняя граница - это половины частоты дискретизации
Н_Гц рассчитана по верхней формуле
Как видно, Н_Гц зависит от количества отсчетов, а количество отсчетов надо еще набрать с помощью АЦП.
t_АЦП это сколько времени в милли секундах требуется, что бы набрать нужное количество отсчетов.
При t_АЦП = 20мс заметно уже отставание.
А буфер, это в минимальной конфигурации, сколько оперативной памяти требуется.
При uint16_t потребуется в 2 раза больше.
Ну а при float ...
а что это такое?Eddy_Em писал(а):то ДКП
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: Цветомузыка на Stm32
Смотрел, там адово безобразие на флоатах.даже апноут AN4841 для STM32
Тут вообще проблемы нет, т.к. на STM32 АЦП молотит так шустро, что не успеешь и буфер обработать, как уже новый "намолотит" ☺проблема в скорости накопления отсчетов АЦП
Дискретное косинусное преобразование. Используется во всяких mpeg'ах для сжатия. Ну это аналогично сжатию в пространстве Фурье, когда мы выкидываем часть ВЧ-компонент, передавая только НЧ. А в JPEG2000 используются пирамиды вейвлетов, там еще интересней: можно картинку хранить почти в несжатом виде, но по сети передача медленная, поэтому сначала пользователь увидит нулевое предложение — верхушку пирамиды, потом, по мере подгрузки остальных "слоев", будет видеть все лучшую и лучшую детализацию.а что это такое?
Применение ДКП в спектральном анализе почти от БПФ не отличается: тоже строим разложение, а потом из него получаем спектр мощности. А т.к. нам фазовая информация нафиг не нужна, можно алгоритм упростить.
Re: Цветомузыка на Stm32
А ты обратил внимание, что у меня "окно" широкое получается, расчеты грубые.Eddy_Em писал(а):Смотрел, там адово безобразие на флоатах.
Чем точнее будут расчеты, тем "окно" уже будет.
Ну АЦП может и молотит, а теорема Котельникова не хочет.Eddy_Em писал(а):Тут вообще проблемы нет, т.к. на STM32 АЦП молотит так шустро, что не успеешь и буфер обработать, как уже новый "намолотит" ☺
Одним словом ты хочешь сказать - прослушав полностью, до конца, фонограмму мы сможем полностью, детально, отобразить полный спектр фонограммы.Eddy_Em писал(а):Дискретное косинусное преобразование. ... потом, по мере подгрузки остальных "слоев", будет видеть все лучшую и лучшую детализацию.
Давай, ты будешь первый кому это удастся.Eddy_Em писал(а):Применение ДКП в спектральном анализе
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: Цветомузыка на Stm32
Ну, глянь в мануал, какая частота АЦП у STM32F0! Весь доступный уху диапазон - от 20Гц до 10кГц реально охватить, даже тормозить придется - таймером АЦП пинать.Другое дело, что для низов придется делать длиннющие выборки: 20Гц требует хотя бы двух периодов, т.е. 2000 элементов выборки на частоте 20кГц!
- Реклама
Re: Цветомузыка на Stm32
и сколько тебе на это времени потребуется?Eddy_Em писал(а):т.е. 2000 элементов выборки на частоте 20кГц
И 7 кило ОЗУ надо для псевдо параллельного процесса, в F030 уже не залезет.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18561
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Цветомузыка на Stm32
0,1 сDimon456 писал(а):и сколько тебе на это времени потребуется?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Цветомузыка на Stm32
при 20мс уже заметно отставание, а 0,1с в 5 раз медленнее.ARV писал(а):0,1 с
+еще расчет БПФ, 2000 отсчетов, +еще расчет для ленты или что там у вас будет, +еще вывод на ленту, хорошо если в 0,5с уложитесь, а то и в 1с.
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: Цветомузыка на Stm32
Dimon456, дык, можно и каждые 20мс сэмплирование делать. В этом случае минимальной частотой будет 100Гц (ладно, пусть 50Гц, но хреново).
Если расчеты и вывод данных успевать делать за те же 20-30мс, то для глаза вообще незаметна задержка будет.
У STM32F0 в 8-битном режиме АЦП успеет чуть ли не за 0.5мкс одно преобразование сделать. Учитывая накладные расходы на DMA, пусть будет 1мкс. Так что, придется заводить таймер, чтобы дергать АЦП каждые 50мкс (для оцифровки до 10кГц). За 20мс накопим 400 значений. Вполне хватит, чтобы сделать 16-полосный эквалайзер от 100Гц до 10кГц.
Если расчеты и вывод данных успевать делать за те же 20-30мс, то для глаза вообще незаметна задержка будет.
У STM32F0 в 8-битном режиме АЦП успеет чуть ли не за 0.5мкс одно преобразование сделать. Учитывая накладные расходы на DMA, пусть будет 1мкс. Так что, придется заводить таймер, чтобы дергать АЦП каждые 50мкс (для оцифровки до 10кГц). За 20мс накопим 400 значений. Вполне хватит, чтобы сделать 16-полосный эквалайзер от 100Гц до 10кГц.
Re: Цветомузыка на Stm32
Eddy_Em, ну дак делай.
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: Цветомузыка на Stm32
Dimon456, мне это нафиг не нужно. И я все еще не видел вменяемой реализации БПФ. Ну или ДКП. Я это писать сам не собираюсь.
Re: Цветомузыка на Stm32
Значит на этом и точку поставим.
-
ivan dimir
- Мучитель микросхем
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
Re: Цветомузыка на Stm32
Вообщем всем спецам спасибо.
Re: Цветомузыка на Stm32
Eddy_Em, вот демонстрация оконного преобразования, окно Хеннинга
Спойлер
Сверху спектроанализатор Winampа, снизу F030 выплевывает- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18561
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Цветомузыка на Stm32
цветомузыка - это не столько всякие там ДПФ/БПФ, сколько ритм и алгоритмы выделения соло-инструмента или голоса. если это не сделано, будет наитупецшая мигалка, на которую не то, что ARM стыдно тратить, но даже и КУ202Н с конденсатором...
спектр большинства музыкальных инструментов едва за 6кГц выходит, голос и того меньше, ритм и до 30 Гц не дотягивает... а вот выделить соло - это задача похлеще БПФ, поскольку далеко не с
всегда самый громкий (или самый мощный по спектру) тон ему соответствует...
так что неверной дорогой идете, товарищи...
спектр большинства музыкальных инструментов едва за 6кГц выходит, голос и того меньше, ритм и до 30 Гц не дотягивает... а вот выделить соло - это задача похлеще БПФ, поскольку далеко не с
всегда самый громкий (или самый мощный по спектру) тон ему соответствует...
так что неверной дорогой идете, товарищи...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Цветомузыка на Stm32
А какой дорогой надо?ARV писал(а):так что неверной дорогой идете, товарищи...
Вот, к примеру, Z-преобразование, без синусов, косинусов, рекурсии
Спойлер
https://youtu.be/mL_yLLULHCE- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18561
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Цветомузыка на Stm32
Все эти спектры к цветомузыке имеют весьма косвенное отношение. Как надо, я описал ранее: выделить ведущий инструмент или голос и рисовать ему в такт, а фон задавать по ритму. А у вас просто спектр стгнала, да и тот неэстетичный.
Цветомузыка это эстетика в первую очередь.
Цветомузыка это эстетика в первую очередь.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Цветомузыка на Stm32
миди содержит готовый список инструментов и в соответствии кодируется.ARV писал(а):Как надо, я описал ранее: выделить ведущий инструмент или голос и рисовать ему в такт, а фон задавать по ритму.
Вы предлагаете выделить из спектра сигнала этот список инструментов и... Это нужно на каждый инструмент хранить свой цифровой отпечаток.
Только миди имеет 24 канала (включая по меньшей мере 16 мелодичных и 8 ударных каналов), а здесь всего один канал.
Может ИИ это под силу?, надо бы "Алису" спросить?
Так что, остается один вариант
ARV писал(а):КУ202Н с конденсатором...
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18561
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Цветомузыка на Stm32
О том и речь: смоделировать RC-фильтр и КУ202Н впридачу - это разве достижение?!
Вы просто ритм попробуйте выделить... Увы, фильтр инфранизких частот, хоть это и используют в качестве ритма, это еще далеко не ритм...
Вы просто ритм попробуйте выделить... Увы, фильтр инфранизких частот, хоть это и используют в качестве ритма, это еще далеко не ритм...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Цветомузыка на Stm32
Пиковый детектор, визуально выбросы синхронные с ритмом музыки вполне себе видны.
На кой х он сдался?
А в область инфранизких частот 0.5-4Гц еще умудриться оцифровать надо.
На кой х он сдался?
А в область инфранизких частот 0.5-4Гц еще умудриться оцифровать надо.
Dimon456 писал(а):Так что, остается один вариантARV писал(а):КУ202Н с конденсатором...


