基于ESP32的网络电台



我建立了一个基于ESP32的互联网收音机&VS1053B MP3解码器。这台收音机拨个号码就可以了在我最喜欢的电台中,有一些是"落差"的。(或结巴)在接待时。ESP32应用程序是编码为转发32字节(推荐值)到VS1053B。我想知道是否有一种方法来"缓冲",通过使用硬件或软件,更多的字节到ESP32和/或VS1053B,这样它就可以更好地处理"差距"。对该主题的搜索导致使用圆形(环形)缓冲区,但我没有找到关于如何实现它的可靠文章。任何建议都将不胜感激。谢谢你。

有一个Youtube视频,描述了我想要完成的事情:

#206 ESP32圆形缓冲器用于互联网无线电和ESP32 WiFi问题

https://www.youtube.com/watch?v=6BK4fzRaFGY
Youtuber Mr. Ralph S. Bacon

谷歌搜索的术语是"抖动缓冲器"。简而言之,在接收带有音频数据的数据包和将该数据发送到解码器芯片之间创建一个固定的时间延迟。当从电台接收到第一个音频数据包时,将其存储在FIFO缓冲区中。一直这样做,直到你有100毫秒(确切的数量取决于你期望有多少抖动)的音频缓冲价值。然后开始将较早的数据包提供给解码器。如果从源获取新音频出现问题,在音频耗尽之前,您有100毫秒的缓冲来播放。

最新更新