ESP32 I2S Аудио Processing Руководство с кодом и схемой
ESP32 I2S Аудио Processing Руководство с кодом и схемой
Обработка звука, распознавание голоса и эффективная передача данных стали неотъемлемыми аспектами современных технологий. В этом пошаговом руководстве мы рассмотрим практический проект ESP32 I2S Audio Processing, в котором используется I2S (Inter-IC Sound) и микроконтроллер ESP32.
Используя интерфейс I2S, который поддерживает передачу высококачественных цифровых аудиоданных, этот проект направлен на захват входных аудиосигналов из внешних источников и их обработку в ESP32, который можно использовать для выполнения определенных алгоритмов обработки звука.
Кроме того, функциональность I2S будет использоваться для облегчения передачи обработанных или распознанных аудиоданных на другие устройства или системы, обеспечивая беспрепятственную связь и интеграцию в более крупные аудиоориентированные приложения или сети.
Здесь мы пытаемся подключить микрофонный массив MEMS на основе I2S, а затем пытаемся получить данные буфера I2S и отобразить их на порту в реальном времени.
Необходимые компоненты перечислены в таблице ниже.
Спецификация
Компонент
Количество
Описание
Цена
МЭМС MIC
1
INMP441
200
ESP32/Indus Board
1
Микроконтроллер
400
Перемычка Провод
5
Мама-Мама
10
ESP32 I2S Аудио Processing – Кодирование
Здесь мы используем Arduino IDE. Сначала драйвер I2S инициализируется в коде default. Этот драйвер предварительно установлен в библиотеке управления платой, но в case его нет, затем установите эту библиотеку в Arduino IDE.
Теперь мы готовы писать код. Сначала вам нужно включить в код библиотеку драйвера I2S, затем вы можете настроить входные данные, такие как частота дискретизации или битрейт для захвата звука и другие параметры в коде
Рис. 2. Конфигурация кода
Далее вам необходимо установить в коде контакты для интерфейса I2S.
Обычно он состоит из трех строк:
Последовательные данные (SD): Эта строка содержит фактические аудиоданные в последовательном формате.
Word Clock (WS или LRCLK – Left/Right Clock): Эта строка отвечает за указание начала каждого аудиосэмпла. Это помогает синхронизировать отправителя и получателя, чтобы они знали, когда читать данные.
Битовая синхронизация (BCLK): Эта линия передает тактовый сигнал, который определяет скорость передачи битов аудиоданных.
Кроме того, в некоторых конфигурациях может быть четвертая строка для главных часов (MCLK). MCLK предоставляет основную ссылку синхронизации для передачи аудиоданных.
Здесь в коде я использовал GPIO 26, 22 и 25 для этих контактов I2S.
Теперь создайте
функция настройки, а затем функция цикла и установите код для захвата аудиоданных и отображения их на последовательном мониторе.
Теперь соедините компоненты в соответствии со следующей принципиальной схемой.
Рис. 4. Подключение
Тестирование
После загрузки кода откройте последовательный монитор. Вы можете увидеть данные I2S; вы также можете открыть последовательный плоттер для визуализации последовательных данных.
Рис. 5. Звуковые данные Рис. 6. График звуковых данных
Этот проект демонстрирует синергию между аппаратным обеспечением, представленным микрофонным массивом I2S и микроконтроллером ESP32, и программным обеспечением, инкапсулированным в код Arduino. Интерфейс I2S является важнейшим компонентом, обеспечивающим высококачественную передачу цифровых аудиоданных.
Объединив обработку звука, распознавание голоса и эффективную передачу, этот проект открывает двери для множества приложений в области аудио. Поскольку технологии продолжают развиваться, объединение I2S и ESP32 обещает инновационные решения для будущего обработки звука.
Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов!
Подробно тут! Жалоба