• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Делюсь опытом Запись аудио с микрофона

pvvx

Активный участник сообщества
Тоже не понял смысл конструкции, может ацп на stm чем-то лучше? И до кучи спрошу. на esp опрос адц можно cделать через DMA?
При работе WiFi ADC на всех ESP имеют сильный шум (от работы передатчика), что при усиленной фильтрации дает разрешение в максимум до 2 бита. Т.е. использовать ADC на ESP при одновременной работе WiFi не имеет никакого смысла, т.к. любой внешний ADC, пусть даже "самопальный" - на резисторах :), дает результаты лучше.

16-ти битный ADC, с удовлетворительным качеством до 48 кГц, стоит на RTL87xx чипах и там влияние работы WiFi на него минимально и исключительно по питанию, что запросто убирается дополнительным фильтром по питанию... https://esp8266.ru/forum/threads/adc-rtl8711am.2348/
 

nikolz

Well-known member
теоретически применение STM может иметь смысл
если получится организовать непрерывную передачу звукового потока
но полагаю что для этого надо задействовать SPI или UART и отказаться от AT команд.
но и это решение не конкурентно с BLE
 

nikolz

Well-known member
если задача в передачи голосового сообщения, то можно вообще обойтись без ацп
так один из способов повышения мощности связи на кв в прошлом веке был способ клиппирования сигнала
т е звуковой сигнал превращали в бинарный
 

pvvx

Активный участник сообщества
если задача в передачи голосового сообщения, то можно вообще обойтись без ацп
так один из способов повышения мощности связи на кв в прошлом веке был способ клиппирования сигнала
т е звуковой сигнал превращали в бинарный
Без АЦП, "звуковой сигнал превращали в бинарный" в микрофоне MP45DT02 в формат PDM на STM32F4-DISCOVERY...
И ничего так выходило. У ESP во много раз хуже.
 

pvvx

Активный участник сообщества
теоретически применение STM может иметь смысл
если получится организовать непрерывную передачу звукового потока
Ради чего?
Ради обязательного наличия ESP32 или ESP8266?
Вам же дан пример, где непрерывно несжатые 16 бит более 24 кГц успешно передаются через WiFi + websocsket с выводом полной осциллограммы...
А чипом чуть побольше (RTL8195AM) вообще USB2.0 MPEG камера со звуком транслируется в стандартное потоковое видео...
 

nikolz

Well-known member
Ради чего?
Ради обязательного наличия ESP32 или ESP8266?
Вам же дан пример, где непрерывно несжатые 16 бит более 24 кГц успешно передаются через WiFi + websocsket с выводом полной осциллограммы...
А чипом чуть побольше (RTL8195AM) вообще USB2.0 MPEG камера со звуком транслируется в стандартное потоковое видео...
любопытства ради.
решений много и разных.
-----------------------
Ваш пример отличается ценой и сложностью в не лучшую сторону.
ацп ESP8266 Вполне позволяет цифровать речь без проблем и уж точное, чем 2 бита как вы указали.
 
@nikolz
ESP01 первая ссылка на али 1.21$
stm32f103c8t6 1.65$+0.58 доставка
Итого 3,44

ESp01 работает в режиме моста, рас настроил и все.Если происходит разрыв соединения ESP01 сам его восстановит.
Каждый занимается своим делом.ЦПУ stm32 занято только кодированием данных.Все остальные функции работают через DMA.Также у АЦП есть каналы у которых можно задавать значение, которое будет вычитаться из измеренного и на выходе сразу положительные и отрицательные значения.Для чего это нужно?На выходе MAX9814 сразу около 1.5В. Шумы по питанию в моем случае, больше вносит ESP01(ESP8266).
Почему STM32 да потому, что интересуюсь еще и интерфейсом USB . А именно USB Audio Device.

ESP8266 NodeMcu v3 CH340 $2.07 +0.63
Итого 2,7
Как будет выглядеть работа с двумя микрофонами стерео? Мне на STM32 не сильно замораживаться придется.Там столько каналов АЦП и можно чрез DMA....Можно и MEMS, не знаю как обстоят дела с этим у ESP32 и ESP8266 лучше сразу образец записи!!!
 
BORISBRITWA, вот что у меня получается. 44100 KHz 16 bit без подавления шума. 16 bit не настоящие, поэтому запись нормализована. Настройка ADC atten = ADC_ATTEN_11db. Уровень шума заметно выше чем у вас, не пойму с чем связано, возможно, если подключить через делитель и настроить adc на 2.2v , то будет лучше, возможно попробую в будущем. (одна запись с шумом, вторая очищена)
Не плохо лучше того что я слышал.Но как-то Ваш голос подозрительно звучит)Можно и оригинал рядом приложить записанный на телефон.Да шумы больше, но они не такими скачками как у меня были , а как-бы постоянные.
 

nikolz

Well-known member
@nikolz
ESP01 первая ссылка на али 1.21$
stm32f103c8t6 1.65$+0.58 доставка
Итого 3,44

ESp01 работает в режиме моста, рас настроил и все.Если происходит разрыв соединения ESP01 сам его восстановит.
Каждый занимается своим делом.ЦПУ stm32 занято только кодированием данных.Все остальные функции работают через DMA.Также у АЦП есть каналы у которых можно задавать значение, которое будет вычитаться из измеренного и на выходе сразу положительные и отрицательные значения.Для чего это нужно?На выходе MAX9814 сразу около 1.5В. Шумы по питанию в моем случае, больше вносит ESP01(ESP8266).
Почему STM32 да потому, что интересуюсь еще и интерфейсом USB . А именно USB Audio Device.

ESP8266 NodeMcu v3 CH340 $2.07 +0.63
Итого 2,7
Как будет выглядеть работа с двумя микрофонами стерео? Мне на STM32 не сильно замораживаться придется.Там столько каналов АЦП и можно чрез DMA....Можно и MEMS, не знаю как обстоят дела с этим у ESP32 и ESP8266 лучше сразу образец записи!!!
согласен
одна поправка
адаптер не стоит прибавлять так как он используется для многих ESP
относительно параллельной работы уже написал
что хорошо бы отказаться от AT и работать на быстром канале передачи от STM на ESP тогда будет совсем хорошо
но чип TLSR8266 специально сделан для подобных задач и стоит 1.5$
 

unreg

Member
Не плохо лучше того что я слышал.Но как-то Ваш голос подозрительно звучит)Можно и оригинал рядом приложить записанный на телефон.Да шумы больше, но они не такими скачками как у меня были , а как-бы постоянные.
Думаете оригинал подкрутил? :) Нет, все по честному, это то что пришло на ацп. Влияние оказывает наверное кондер на 10mF (сдвиг убирал) и, возможно, отсчет таймера в 22мкс немного растягивает запись, но на слух вроде тембр мой. Шум также идет от микрофона, пробовал притягивать к земле - абсолютная тишина. Сейчас подмал - а если разделить земли это что-то даст? И как их разделить в таком случае.
 
Думаете оригинал подкрутил? :) Нет, все по честному, это то что пришло на ацп. Влияние оказывает наверное кондер на 10mF (сдвиг убирал) и, возможно, отсчет таймера в 22мкс немного растягивает запись, но на слух вроде тембр мой. Шум также идет от микрофона, пробовал притягивать к земле - абсолютная тишина. Сейчас подмал - а если разделить земли это что-то даст? И как их разделить в таком случае.
Видел готовые девборды с микрофоном на ESP32 посмотрите как там сделано.

Комплект ESP32-A1S ESP32 для аудио разработки, поставляется с различными разъемами, двумя микрофонами и аудио разъемами всего за $16
 

unreg

Member
Появилось свободное время, решил побороться с шумом. Конденсатор между микрофоном и esp выкинул, поставил простейший фильтр на питание микрофона (электролиты 1000mF и 220mF, керамику 10mF). Результатом доволен :).
 

Вложения

Появилось свободное время, решил побороться с шумом. Конденсатор между микрофоном и esp выкинул, поставил простейший фильтр на питание микрофона (электролиты 1000mF и 220mF, керамику 10mF). Результатом доволен :).
Надо будет попробовать на ESP32 сделать тоже.Сколько потребление?
 
Да как-то не подумал замерить. Будет время _ посмотрю. По совету nikolz попробую шумы в паузах программно убрать, но тоже как время будет.
Я не знаю какие там режимы энергосбережения у ESP32 но думаю сейчас она у вас их не использует. Вот и интересно сколько потребляет.
 

vovo255

New member
Появилось свободное время, решил побороться с шумом. Конденсатор между микрофоном и esp выкинул, поставил простейший фильтр на питание микрофона (электролиты 1000mF и 220mF, керамику 10mF). Результатом доволен :).
Здравствуйте, можете поделиться получившимся кодом для записи?
 
Сверху Снизу