Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Lossless Radio Project: Performance #1636

dired started this conversation in General
Discussion options

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

You must be logged in to vote

Replies: 1 comment

Comment options

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.

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet

AltStyle によって変換されたページ (->オリジナル) /