Блок анализатора аудио спектра

16 канальный спектроанализатор

пользовательские блоки для работы с аудио/видео
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Блок анализатора аудио спектра

#1

Сообщение AlexCrane » 01.03.2018{, 20:35}

16 полосный спектроанализатор с частотой дискретизации ~19кГц

Параметры блока:
СпойлерПоказать
AUDIOIN (Byte) = 0 /пин, куда подключен звук А0
INPUT_GAIN (Float) = 1.2 /коэффициент усиления входного сигнала
MAX_COEF (Float) = 1.1 /коэффициент, который делает "максимальные" пики чуть меньше максимума, для более приятного восприятия
SMOOTH (Float) = 0.4 Max: 1 Мin:0 /плавность движения столбиков (0-1)
NORMALIZE (Byte) = 0 Max: 1 Min:0 /нормализовать пики (столбики низких и высоких частот будут одинаковой длины при одинаковой громкости) (1 вкл, 0 выкл)
MANUAL_GAIN (Byte) = 0 Max: 1 Min:0 /ручная настройка потенциометром на громкость (1 - вкл, 0 - выкл)
AUTO_GAIN (Byte) = 0 Max: 1 Мin:0 /автонастройка по громкости (1 - вкл, 0 - выкл)
LOW_PASS (Byte) = 30 /нижний порог чувствительности шумов (нет скачков при отсутствии звука)
DEF_GAIN (Byte) = 80 /максимальный порог по умолчанию (при GAIN_CONTROL игнорируется)
FHT_N (Byte) = 256 /ширина спектра х2
OUT_LEVEL_SPECTR (Byte) = 15 Max: 255 Мin:0 /Высота выходного сигнал (0-255)
tones (String) = 2, 3, 4, 6, 8, 10, 12, 14, 16, 20, 25, 30, 35, 60, 80, 100 (Вставлять в код без скобок (как есть)) /вручную забитый массив тонов, сначала плавно, потом круче от 2 до FHT_N/2
Адаптировал проект от AlexGyver:
Анализ спектра, на выходе имеем массив величин полос спектра (128 полос)
Фильтрация по нижним значениям для каждой полосы (128 полос)
Переход от 128 полос к 16 полосам с сохранением межполосных значений по линейной зависимости
Поиск максимумов для коррекции высоты столбиков
Перевод чистого «веса» полосы к высоте матрицы
Мимоходом фильтрация верхних пиков, коррекция высоты столбиков от громкости и прочее
Схема подключения
СпойлерПоказать
Spectr.jpg
Схема подключения
Выглядит так:
СпойлерПоказать
Spectr_LCD.jpg
Не забываем перед компиляцией перенести #define LOG_OUT 1 перед #include <FHT.h>
Вложения
Spectr v2_20Band.flp
(425.11 КБ) 74 скачивания
Спектр3_LCD_Filtr.flp
Вывод на LCD через фильты
(878.81 КБ) 242 скачивания
Спектр_шим.flp
Вывод на светодиоды через ШИМ
(440.52 КБ) 235 скачиваний
Спектр_v2.1_(CODE).ubi
Пользовательский блок
(303.11 КБ) 210 скачиваний
Последний раз редактировалось AlexCrane 30.12.2020{, 09:48}, всего редактировалось 10 раз.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

дрон
Рядовой
Сообщения: 94
Зарегистрирован: 09.11.2017{, 19:25}
Репутация: 2
Откуда: Москва
Имя: Андрей

Блок анализатора аудио спектра

#21

Сообщение дрон » 08.10.2020{, 11:56}


Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Блок анализатора аудио спектра

#22

Сообщение AlexCrane » 08.10.2020{, 13:03}

slavushka64, https://github.com/kosme/arduinoFFT
Сейчас идет отладка блока...
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Аватара пользователя
slavushka64
Сержант
Сообщения: 171
Зарегистрирован: 06.09.2015{, 12:14}
Репутация: 3
Откуда: Бишкек
Имя: Вячеслав

Блок анализатора аудио спектра

#23

Сообщение slavushka64 » 08.10.2020{, 14:35}

дрон, AlexCrane, Спасибо. установил библиотеку. Светодиод так же горит постоянно.

дрон
Рядовой
Сообщения: 94
Зарегистрирован: 09.11.2017{, 19:25}
Репутация: 2
Откуда: Москва
Имя: Андрей

Блок анализатора аудио спектра

#24

Сообщение дрон » 08.10.2020{, 16:05}

AlexCrane работает над этим.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Блок анализатора аудио спектра

#25

Сообщение AlexCrane » 09.10.2020{, 14:18}

slavushka64, дрон, Выкладываю на всеобщее тестирование блок анализатора аудиспектра для ESP32
ESP32_Спектр08_test.flp
(221.97 КБ) 74 скачивания
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

дрон
Рядовой
Сообщения: 94
Зарегистрирован: 09.11.2017{, 19:25}
Репутация: 2
Откуда: Москва
Имя: Андрей

Блок анализатора аудио спектра

#26

Сообщение дрон » 09.10.2020{, 15:53}

Я взял такой фильтр, и такие настройки. Микрофон MAX9814. Диод на голос реагирует нормально.
ESP32_Спектр08_test 1.flp
(214.64 КБ) 81 скачивание
По частотам позже отпишусь.

Аватара пользователя
MTSnik10
Рядовой
Сообщения: 43
Зарегистрирован: 20.09.2021{, 15:11}
Репутация: 3
Имя: Timofey

Блок анализатора аудио спектра

#27

Сообщение MTSnik10 » 05.05.2022{, 06:59}

Доброго дня форумчане! Протестировал блок ESP32_Спектр08_test.flp на nodemcu работает, понравилось :smile9: решил добавить "плюшки" дополнительно циферки сверху. Сразу заметно стало подвисание скачков спектра. (экран st7735, блоки брал тут viewtopic.php?f=112&t=6352&p=114151&hil ... 35#p114151) С чем связано зависание, с шиной или контроллер не успевает? Как побороть? Менять контроллер, писать на С? Может кто делал проект с индикатором и доп. меню.
Спасибо.
Вложения
test spektr.flp
(1 МБ) 30 скачиваний

Ответить

Вернуться в «Звук и видео»