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

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 раз.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

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

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

#2

Сообщение AlexCrane » 08.03.2018{, 15:30}

Зарезервировано
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

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

#3

Сообщение rw6cm » 17.03.2018{, 21:42}

AlexCrane писал(а):
01.03.2018{, 20:35}
Не забываем перед компиляцией перенести #define LOG_OUT 1 перед #include <FHT.h>
Можно в библиотеке в файле FHT.h изменить по умолчанию в этой директиве #define LOG_OUT 0 на 1
и в коде блока эту строку можно не прописывать.
Win10-64, FLProg (portable)

lsm
Рядовой
Сообщения: 34
Зарегистрирован: 16.12.2018{, 21:58}
Репутация: 0
Имя: serg

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

#4

Сообщение lsm » 22.06.2019{, 20:16}

при компиляции выбивае ошибку 'fht_log_out' was not declared in this scope

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

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

#5

Сообщение AlexCrane » 23.06.2019{, 19:43}

lsm, Не забыли
AlexCrane писал(а):
01.03.2018{, 20:35}
Не забываем перед компиляцией перенести #define LOG_OUT 1 перед #include <FHT.h>
или
rw6cm писал(а):
17.03.2018{, 21:42}
Можно в библиотеке в файле FHT.h изменить по умолчанию в этой директиве #define LOG_OUT 0 на 1
и в коде блока эту строку можно не прописывать.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

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

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

#6

Сообщение дрон » 30.09.2020{, 13:59}

Здравствуйте AlexCrane, возможно ли сделать такой же блок для ESP 8266 или ESP32? Лучше конечно для ESP32.

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

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

#7

Сообщение AlexCrane » 30.09.2020{, 18:48}

дрон, Если найдете какой-нибудь пример, то наверное, возможно
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

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

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

#8

Сообщение дрон » 30.09.2020{, 20:14}

Посмотрите пожалуйста: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
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#9

Сообщение AlexCrane » 30.09.2020{, 21:34}

дрон, Нужно тестировать, мне не на чем, схема из видео
Вложения
ESP32_Спектр01.flp
(90.42 КБ) 72 скачивания
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

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

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

#10

Сообщение дрон » 01.10.2020{, 07:41}

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

Отправлено спустя 13 минут 58 секунд:
Ещё бы добавить функции из настроек Вашего блока.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

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

#11

Сообщение Rovki » 01.10.2020{, 09:02}

Сделать бы на 3 полосы для цетомузыки с ШИМ выходами !!! :smile427:
Электронщик до мозга костей и не только

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

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

#12

Сообщение AlexCrane » 01.10.2020{, 09:35}

Rovki, Если дрон проверит и заработает то убавить полосы не проблема, а ШИМ уже как-бы есть...
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

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

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

#13

Сообщение дрон » 02.10.2020{, 10:05}

Сегодня добрался до компа, в блоке не нашел контакт аналогового входа.

Ardudue
Лейтенант
Сообщения: 423
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

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

#14

Сообщение Ardudue » 02.10.2020{, 11:22}

дрон писал(а):
02.10.2020{, 10:05}
в блоке не нашел контакт аналогового входа.
Аудио сигнал подаем через конденсатор 10nF на A0

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

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

#15

Сообщение дрон » 02.10.2020{, 11:31}

Это для ESP8266, у ESP32 где вход А0?

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

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

#16

Сообщение AlexCrane » 02.10.2020{, 13:16}

дрон, ADC1_0 или GPIO36
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

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

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

#17

Сообщение дрон » 02.10.2020{, 15:08}

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

Отправлено спустя 12 минут 45 секунд:
Подцепил через конденсатор MAX9814, при сигнале так же, диод загорается и не гаснет.

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

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

#18

Сообщение AlexCrane » 02.10.2020{, 15:23}

дрон, проект-то можно глянуть...
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

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

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

#19

Сообщение дрон » 02.10.2020{, 15:28}

ESP32_Спектр01.flp
(103.6 КБ) 68 скачиваний

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

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

#20

Сообщение slavushka64 » 08.10.2020{, 11:51}

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

Ответить

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