I want to render a waveform for an audio file (ogg and/or mp3) to a canvas element.
I was wondering if there were any libraries that would make this simple? I am looking for a result along these lines: http://plucked.de/
https://github.com/katspaugh/wavesurfer.js may be what you're looking for.
If you don't want to download content of the file then waveform image or data must be prepared on server.
Some time ago BBC (yes, UK media company) open-sourced set of tools to do it efficiently. All is described on their blog: http://www.bbc.co.uk/rd/blog/2013/10/audio-waveforms
Shortly: on Linux server-side you have to convert sound file (FLAC, WAV or MP3) to JSON-based waveform interpolation with audiowaveform command-line tool. Next you serve the JSON data to browser client which will render waveform on canvas element with waveform-data.js.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With