atomic14 / atomic14/esp32_audio
ADC i2s sampling is not continuous
- 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