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

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

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

Сообщение AlexCrane »

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

Параметры блока:
[spoiler]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
[/spoiler]

Адаптировал проект от AlexGyver:
Анализ спектра, на выходе имеем массив величин полос спектра (128 полос)
Фильтрация по нижним значениям для каждой полосы (128 полос)
Переход от 128 полос к 16 полосам с сохранением межполосных значений по линейной зависимости
Поиск максимумов для коррекции высоты столбиков
Перевод чистого «веса» полосы к высоте матрицы
Мимоходом фильтрация верхних пиков, коррекция высоты столбиков от громкости и прочее
Схема подключения
[spoiler]
Spectr.jpg
[/spoiler]

Выглядит так:
[spoiler]
Spectr_LCD.jpg
[/spoiler]

Не забываем перед компиляцией перенести #define LOG_OUT 1 перед #include <FHT.h>
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось AlexCrane 30 дек 2020, 09:48, всего редактировалось 10 раз.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

Зарезервировано
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

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

Сообщение rw6cm »

AlexCrane писал(а): 01 мар 2018, 20:35Не забываем перед компиляцией перенести #define LOG_OUT 1 перед #include <FHT.h>
Можно в библиотеке в файле FHT.h изменить по умолчанию в этой директиве #define LOG_OUT 0 на 1
и в коде блока эту строку можно не прописывать.
Win10-64, FLProg (portable)
lsm
Рядовой
Сообщения: 34
Зарегистрирован: 16 дек 2018, 21:58
Имя: serg

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

Сообщение lsm »

при компиляции выбивае ошибку 'fht_log_out' was not declared in this scope
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]lsm[/ref], Не забыли
AlexCrane писал(а): 01 мар 2018, 20:35 Не забываем перед компиляцией перенести #define LOG_OUT 1 перед #include <FHT.h>
или
rw6cm писал(а): 17 мар 2018, 21:42 Можно в библиотеке в файле FHT.h изменить по умолчанию в этой директиве #define LOG_OUT 0 на 1
и в коде блока эту строку можно не прописывать.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
дрон
Сержант
Сообщения: 117
Зарегистрирован: 09 ноя 2017, 19:25
Откуда: Москва
Имя: Андрей
Поблагодарили: 16 раз

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

Сообщение дрон »

Здравствуйте AlexCrane, возможно ли сделать такой же блок для ESP 8266 или ESP32? Лучше конечно для ESP32.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]дрон[/ref], Если найдете какой-нибудь пример, то наверное, возможно
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
дрон
Сержант
Сообщения: 117
Зарегистрирован: 09 ноя 2017, 19:25
Откуда: Москва
Имя: Андрей
Поблагодарили: 16 раз

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

Сообщение дрон »

Посмотрите пожалуйста:https://blog.squix.org/2019/08/esp32-es ... lyzer.html
https://github.com/G6EJD/ESP32-8266-Aud ... um-Display

Отправлено спустя 43 минуты 1 секунду:
Ещё одна ссылка: https://www.youtube.com/watch?v=RnVeXkrrnPI
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]дрон[/ref], Нужно тестировать, мне не на чем, схема из видео
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
дрон
Сержант
Сообщения: 117
Зарегистрирован: 09 ноя 2017, 19:25
Откуда: Москва
Имя: Андрей
Поблагодарили: 16 раз

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

Сообщение дрон »

Спасибо, компиляция и загрузка в IDE прошла нормально. Позже буду тестировать. О результатах отпишусь.

Отправлено спустя 13 минут 58 секунд:
Ещё бы добавить функции из настроек Вашего блока.
Аватара пользователя
Rovki
Полковник
Сообщения: 5726
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 222 раза
Контактная информация:

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

Сообщение Rovki »

Сделать бы на 3 полосы для цетомузыки с ШИМ выходами !!! :smile427:
Электронщик до мозга костей и не только
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref=#ff8000]Rovki[/ref], Если [ref]дрон[/ref] проверит и заработает то убавить полосы не проблема, а ШИМ уже как-бы есть...
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
дрон
Сержант
Сообщения: 117
Зарегистрирован: 09 ноя 2017, 19:25
Откуда: Москва
Имя: Андрей
Поблагодарили: 16 раз

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

Сообщение дрон »

Сегодня добрался до компа, в блоке не нашел контакт аналогового входа.
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

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

Сообщение Ardudue »

дрон писал(а): 02 окт 2020, 10:05 в блоке не нашел контакт аналогового входа.
Аудио сигнал подаем через конденсатор 10nF на A0
дрон
Сержант
Сообщения: 117
Зарегистрирован: 09 ноя 2017, 19:25
Откуда: Москва
Имя: Андрей
Поблагодарили: 16 раз

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

Сообщение дрон »

Это для ESP8266, у ESP32 где вход А0?
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]дрон[/ref], ADC1_0 или GPIO36
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
дрон
Сержант
Сообщения: 117
Зарегистрирован: 09 ноя 2017, 19:25
Откуда: Москва
Имя: Андрей
Поблагодарили: 16 раз

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

Сообщение дрон »

Подцепил диод на ШИМ, касаюсь контакта VP (GPIO 36):-диод загорается и горит постоянно.

Отправлено спустя 12 минут 45 секунд:
Подцепил через конденсатор MAX9814, при сигнале так же, диод загорается и не гаснет.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]дрон[/ref], проект-то можно глянуть...
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
дрон
Сержант
Сообщения: 117
Зарегистрирован: 09 ноя 2017, 19:25
Откуда: Москва
Имя: Андрей
Поблагодарили: 16 раз

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

Сообщение дрон »

ESP32_Спектр01.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
slavushka64
Сержант
Сообщения: 171
Зарегистрирован: 06 сен 2015, 12:14
Откуда: Бишкек
Имя: Вячеслав

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

Сообщение slavushka64 »

[ref]AlexCrane[/ref], При компиляции выдаёт "не найдена библиотека aduiho FFT.h"
ESP32 W/7/64 FLProg 7.1.1
Последний раз редактировалось slavushka64 08 окт 2020, 11:56, всего редактировалось 1 раз.
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость