I really like the new progress bar with the waveform. It looks great.
As I understand it, Roon downloads the whole track when playback starts, analyses it in the background and draws the waveform. It then stores the waveform on the Core, so the next play needs no new analysis.
That makes me hope it can also fix Volume Leveling for streamed tracks from Qobuz (and TIDAL?). Right now a large share of tracks gets the default leveling value, which makes classical music in particular play too soft. Leveling needs the R128 loudness of each track, and for album mode the loudness of the whole album. If the waveform pass measures that too (or could), storing it next to the waveform would make leveling work for streamed tracks.
Two ideas to get more out of it:
- Prefetch the queue, so waveform and loudness are ready before a track starts. For album leveling, prefetch the whole album.
- Store the results in Roon’s central database, keyed to the streaming service’s track ID. It’s metadata like everything else that already comes from there, so one analysis would reach every Core that plays that track.
Does the waveform analysis measure loudness in the same pass, or is that a separate step?