Customizable HTML5 Audio controller with waveform preview (mixed or split channels), using WordPress native audio and playlist shortcode.
This plugin replaces the default WordPress audio player with a player capable of displaying audio waveforms. It can display a mix of the different audio channels (for podcast, radio replays, e-learning, music), or all channels simultaneously (for sound tutorial, sounds-packs showcases, audio products demo etc…), which is its main purpose.
By working with the default audio/playlist shortcode, you have great advantages:
Global colors and style settings can be overridden locally by dedicated shortcode attributes.
progress_color="purple"
wave_color="#FF0000"
cursor_color="#FF0000"
height="128"
bar_width="0"
Also, there is some attributes accessible at shortcode level:
mute_button="true"
loop_button="true"
download_button="true"
split_channels="true"
player="default"
For more advanced customization, with a custom site-plugin, you can:
wavesurfer_wp_shortcode_attributes
.wavesurfer_wp_shortcode_data
filter if you want to add custom waveform data attributes.wavesurfer-wp-init
JavaScript event handler to render the player on custom events, like after click on a button. See examples on the WaveSurfer-WP-Init GitHub repository.Check this Gist for demos of how to use the filters.
Extra features :
The default style requires some icons of Font-Awesome 1.0. These are included in the plugin as a small custom font. Because this icon-font is already used in a lot of themes and plugins, you can deactivate this custom font if needed.
You can deactivate the default WaveSurder-WP theme, and use your own theme style. I strongly encourage you to do that as custom CSS is the only way to make it fit your theme perfectly. There is a lot of dedicated CSS selectors for that. You can take one of the included theme as reference.
This will allow you to have more control on icons, responsivity, mouse hover behavior etc…
You can contribute by to WaveSurfer-WP development on GitHub
Themes and Translations are welcome !
Optimization trick: if you only use this plugin on a couple of pages, I invite you to use a plugin like Plugin Organizer or Gonzales to globally deactivate the plugin or its style, and make it load resources only on pages which need it.
No need for that on the back-end, only for front-end.
This player doesn’t have and will not have Like Button, Sharing Button, Play count and Download count.
If you are looking for a WordPress player with such Social Features and advanced statistics like SoundCloud or Hearthis.at, take a look at ZoomSounds.
For other advanced WordPress integration of wavesurfer-js, you can check WavePlayer by luigipulcini or WaveSurfer-Plus by GalleryCreator.
Contrary to the other WordPress plugin based on wavesurfer-js, wavesurfer-js hasn’t been modified in this plugin. This means that you can extend feature of this plugin using the wavesurfer-js methods, and that updates from the wavesurfer-js community will be pushed in WaveSurfer-WP regularly.
WordPress 5 and Guteberg: Inserting [audio]
with Gutenberg doesn’t bring the [audio]
shortcode as it use to be. As this plugin is designed to hook the audio shortcode, you can use the generic shortcode block in gutenberg to manually write your shortcode, or use the classic editor.
A premium add-on is available to add extra features to WaveSurfer-WP.
Cache Peaks File
This add-on creates and loads peaks from small files, containing peaks values. No need to wait for the full audio to be decoded to display its waveform.
Markers System
You can add custom clickable element on your pages to seek WaveSurfer-WP player to a desired position. Can be useful for adding marks, chapters, and it can even be used for interactive audio transcripts!
Plug and Play
These extra features are packed as an add-on. No need to delete and replace the original plugin. You will still be able to benefit from translations made by the community. Also, the core is still open source, to allow contribution.
TimeLine Plugin
When activated thanks to a shortcode attribute, a customizable time ruler will appear below your waveform.
You can buy it from the official product page.
Thanks for considering this way to support WaveSurfer-WP !
It is a port for WordPress of WaveSurfer-js by katspaugh.
It also contains Download-js by dandavis.
Thanks to our generous donators for supporting this plugin development !
Do you want to contribute or sponsor one particular feature ? See you on the donation page. Thanks !
For an automatic installation through WordPress:
For a manual installation via FTP:
wavesurfer-wp
directory to the /wp-content/plugins/
directoryTo upload the plugin through WordPress, instead of FTP:
Shortcode are interpreted but there is problem for loading the file.
I/ The most common error is that the file is hosted on a CDN that isn’t set to allow the kind of requests made by WaveSurfer-js.
So, you can choose one of these solutions :
II/ This problem may also occurs if your file is not supported by your browser.
Some audio formats / browsers combo are not possible. This cannot be fixed by our side. (For ex, wav 24 bits in FireFox).
Convert the file to a more web-friendly format and try again.
III/ Also, check that your file is accessible via http (aka, check if the link is valid).
Please report other problems on the support forum.