The only use case where batch creating the waveforms should have an advantage that I can think of would be for offline cached songs. Assuming that you are in reach of a charger when you offline cache, creating the waveforms then instead of when you actually use symfonium out in the wild might save a bit of battery. I don’t know if that would be significant tho.
How long are the waveforms taking to come up? Mine usually appear within a few seconds, the exception being when a song has not downloaded into the playback cache. I would imagine that isn’t avoidable, how can it analyze a file that it hasn’t finished downloading yet?
I’d really like this feature, usually it takes like 30 seconds to show the waveform, and I really like seeing it to have a better idea of what the song’ll be like. This is including for songs that are offline cached
In my use case (according to the automatic offline cache rule, my songs are deleted after one listen) it would be ideal to get all the waveforms for all the songs on the device or even in the library (I don’t think they take up much space)
It would also help a lot with the new smart fades feature. In the current format - when a song is only in the queue - its waveform is not scanned and the fade doesn’t work properly unfortunately
Or, as an option, get only the waveforms of cached songs
Are waveforms extracted to permanent cache? I’d like to be able to extract them all at once permanently so I know that there’s no chance the app will need to extract them later (when I’m on on battery)
disclaimer: obviously need is a strong word, since I technically don’t need a music player at all! But I need one in order to listen to music
In this case, I think it needs to be pre-extracted in order to display instantly.
Even with offline files (i use local storage for my source), there’s still a several second delay before the waveform is displayed. I want it to display immediately, as soon as the song has started, and currently extracting “as needed” isn’t as fast as desired. I also have extra storage space, so i’d rather precompute the waveforms while charging, and then simply load them later while I’m on battery. So in order to have instant, minimal battery impact waveforms, I would argue that they need to be pre-computed
Even if enabling smart fade preloads the next tracks waveform, if I randomly start playing a new track then there will still be a delay in waveform generation. Preloading all waveforms is needed in order to always have them instantly displayed. I also don’t want tracks to fade, I want the entire track to play from start to finish before switching to the next one. Currently the docs are unclear about whether enabling smart fade but disabling both curves does that or not
@Tolriq would it be possible for the user to pre-generate the waveform files and put them in the same folder as a song, with the same filename, like how lyrics files are? And then if that file exists, symfonium will load it, otherwise it’ll use the current generation logic?
Like is there an ffmpeg command that would generate the waveform file in the format symfonium uses?
One last idea: lazy-load permanent caching for the waveform, to avoid calculating it multiple times for the same song, and so it’s not running for a week in the background to generate the complete cache in one go.
Sorry for being annoying, I’ll stop asking now. Thanks for the great app