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

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

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

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

#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>
Для скачивания вложений Вы должны быть зарегистрированы.
Последний раз редактировалось AlexCrane 30.12.2020{, 09:48}, всего редактировалось 10 раз.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

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

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

#21

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


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

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

#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, Спасибо. установил библиотеку. Светодиод так же горит постоянно.

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

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

#24

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

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

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

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

#25

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

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

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

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

#26

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

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

Аватара пользователя
MTSnik10
Рядовой
Сообщения: 10
Зарегистрирован: 20.09.2021{, 15:11}
Репутация: 0
Имя: 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) С чем связано зависание, с шиной или контроллер не успевает? Как побороть? Менять контроллер, писать на С? Может кто делал проект с индикатором и доп. меню.
Спасибо.
Для скачивания вложений Вы должны быть зарегистрированы.

Ответить

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