atomic14 / atomic14/esp32_audio

ADC i2s sampling is not continuous

Open
#23 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
467
Forks
116
PR merge metrics
No merged PRs in 30d

Description

I am using MAX9814 mic with ESP32 38 pin board, and i2s_sampling project from this repository. Mic is connected to ADC7
However, audio recording is not continuous, between each audio sample, while ESP32 is sending data to the server, recording is not performed simultaniously. So final audio has missing audio. I am using the same parameters as in your repo code, I did not change sampling code.

I tried enumerating packets and time when they were sent and it seems that some not recorded time is missing:
27: 397959
28: 399442
29: 400861
30: 402280
31: 403699
32: 404926
33: 406151
34: 407634
35: 408860
36: 410280
37: 411699
38: 412923
39: 414343
40: 415568
41: 416794
42: 418085
43: 419504
44: 420923

It seems that your code is simpler and different from video explanation, and I don't quite understand how code knows when to read buffers. Maybe sending audio actually stops recording, ESP32 has two cores maybe tasks are not divided? I am rather new to ESP32 programing.

I also get a lot of static noise, but I think it is not related to this problem.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the repository's i2s_sampling project and sampling code, then compare its buffer-reading behavior with the referenced video explanation. Use the reported packet timings to determine where recording pauses while data is sent; done means audio capture remains continuous without missing intervals.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.