Replies: 1 comment
-
The ESP32 already uses 2 cores: the Networking is running on one and Arduino on the other. Here are my performance measuring results from quite some time ago. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello there,
just wanted to leave this for everyone to think about ^^
With my esp32-a1s-audiokit with the ES8388 DAC, my first thought was to stream a lossless radio, because I thought 240MHz and the wifi should be performant enough. The first stream I tried with FLACDecoder and UrlStreamBuffered didn't work: http://motherearth.streamserver24.com/listen/motherearth_klassik/motherearth.klassik (192kHz, ~4500 kbps flac). "Smaller" streams like http://stream.sing-sing-bis.org:8000/singsingFlac work kinda, though very stuttery.
But I am still quite convinced, that the esp32, regardless of the DAC, should have enough network bandwith for even the big stream (~5 Mbps max) to "come through", and to convert it down to a playable i2s-stream (e.g. 96 kHz for the es8388 http://www.everest-semi.com/pdf/ES8388%20DS.pdf). Now where is the bottleneck?
When I measured the bandwith ("speedtest" and only that code), it was ~8384.00 Kb/s. When I measured the bytes read from UrlStreamBuffered when streaming http://stream.sing-sing-bis.org:8000/singsingFlac it was ~379 kbps which seems a bit less than what is shown when streaming from a desktop in e.g. windows task manager. That would also explain the slight stuttering and loss.
I'd really like to find out whether it is or isn't possible to improve upon this situation. Next I want to implement some monitoring and analysis functionality myself. E.g. haven't even checked the cpu load. If that's the case, it should be feasible to distribute work to the second core. Probably someone has already done some work upon this topic, please share if you know something.
Kind Regards
Beta Was this translation helpful? Give feedback.
All reactions