Страница 1 из 2

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

Добавлено: 01.03.2018{, 20:35}
AlexCrane
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>

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

Добавлено: 08.03.2018{, 15:30}
AlexCrane
Зарезервировано

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

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

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

Добавлено: 22.06.2019{, 20:16}
lsm
при компиляции выбивае ошибку 'fht_log_out' was not declared in this scope

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

Добавлено: 23.06.2019{, 19:43}
AlexCrane
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
и в коде блока эту строку можно не прописывать.

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

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

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

Добавлено: 30.09.2020{, 18:48}
AlexCrane
дрон, Если найдете какой-нибудь пример, то наверное, возможно

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

Добавлено: 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

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

Добавлено: 30.09.2020{, 21:34}
AlexCrane
дрон, Нужно тестировать, мне не на чем, схема из видео

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

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

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

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

Добавлено: 01.10.2020{, 09:02}
Rovki
Сделать бы на 3 полосы для цетомузыки с ШИМ выходами !!! :smile427:

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

Добавлено: 01.10.2020{, 09:35}
AlexCrane
Rovki, Если дрон проверит и заработает то убавить полосы не проблема, а ШИМ уже как-бы есть...

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

Добавлено: 02.10.2020{, 10:05}
дрон
Сегодня добрался до компа, в блоке не нашел контакт аналогового входа.

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

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

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

Добавлено: 02.10.2020{, 11:31}
дрон
Это для ESP8266, у ESP32 где вход А0?

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

Добавлено: 02.10.2020{, 13:16}
AlexCrane
дрон, ADC1_0 или GPIO36

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

Добавлено: 02.10.2020{, 15:08}
дрон
Подцепил диод на ШИМ, касаюсь контакта VP (GPIO 36):-диод загорается и горит постоянно.

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

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

Добавлено: 02.10.2020{, 15:23}
AlexCrane
дрон, проект-то можно глянуть...

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

Добавлено: 02.10.2020{, 15:28}
дрон
ESP32_Спектр01.flp
(103.6 КБ) 72 скачивания

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

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