Progressive/Cascading Cache for Audio Streams
I don’t know if this is already being done some way, but it would be great if Symfonium cached the first 5-10 seconds of the next X-number of songs.
When streaming music in my car using Android Auto, there is a second or two delay if I skip a track and doing something to minimize or eradicate this would be ideal.
It would be a more seamless and immediate experience to have the music stream in a more continuous manner. If coupled with a beat-matching algorithm, it could be used to create on-the-fly mixes. It would also allow for cross-fading between tracks.
Years ago, MixMeister had the auto-beat-match with the crossfade.
At the beginning of the stream initialization, the first 5-10 seconds of the first two songs would be downloaded and the first track would start. While playing, the rest of the first track would be downloaded while the first 5-10 seconds of the next several tracks would also be downloaded. As the first song has a set number of seconds left to play, the second song is then queued to download if it’s not skipped. As the second song nears the end of it’s play, the third song is queued to download if it’s not skipped and another 5-10 seconds of the 5th or 6th song is downloaded. Process repeats where it keeps a bank of skippable songs ready to go and downloads what’s necessary when it’s necessary. The download speed could be used to adjust how much of a buffer/cache is kept for the next track.