Many messengers these days display voice messages in a waveform (like Soundcloud does for it songs).
We also had it on android back when we where using the telegram ui, but not anymore since switching back to signal ui AFAIK.
As generating those waveforms from audio is an expensive action (needs to decompress, then do some transforms to the audio to get the at a for the bars), I suggest to do this in core, or at least cache the result there.
Some resources we can take for reference:
- Making an Audio Waveform Visualizer with Vanilla JavaScript | CSS-Tricks - CSS-Tricks
- https://wavesurfer-js.org
- GitHub - michaeldzjap/waveplayer: An HTML5 based audio player with a waveform view
- maybe useful for reading audio from files: Symphonia — Rust audio library // Lib.rs
Related voice message improvement proposals: