The Speaker WordPress Plugin converts post or webpage into human-like speech in more than 194 voices across 35+ languages and variants. It applies groundbreaking research in speech synthesis (WaveNet) and Google’s robust neural networks to deliver high-fidelity audio.
This manual was created for plugins version 4.0.0 and higher. If you use plugins of an older version, use the Speaker settings manual for versions 1.0.^.
To open the plugin settings in the WordPress Sidebar menu go to Speaker
In the plugin settings, there are several tabs responsible for various groups of plugin settings.
- Speech Synthesis
- Post Types
- Audio Content
- Speakable Markup
- Custom CSS
Speech Synthesis Settings
The tab describes the basic settings of the plugin, the selection of voices and features of speech synthesis.
API Key File
When you first run the plugin, you need to connect the Key File. How to get the Key File you can learn from the article About Key File for the Speaker & Voicer WordPress Plugins
Shows which voice is selected now, and also allows you to listen to the voice sample chosen with default settings.
You can also listen to the Supported Google Voices and Languages in the Google Cloud Documentation.
Using the filter, you can choose from the table the voices you need. After selecting a language, you can filter the table by voice type and gender.
To select and activate a voice, click on the row in the table. The selected voice will be highlighted in blue.
Advanced voice settings
The toggle enables advanced voice and audio file settings. For experienced users.
Select the format in which the audio will be sent: MP3 or WAV. All recordings in other formats will become unavailable. After switching the format in the settings, audio files need to be recreated for each post.
The encoding determines the output audio format that we’d like.
- LINEAR16 – uncompressed 16-bit signed little-endian samples (Linear PCM). Audio content returned as LINEAR16 also contains a WAV header.
- MP3 – MP3 audio at 32kbps.
- OGG_OPUS – opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate.
- MULAW – 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. Audio content returned as MULAW also contains a WAV header.
- ALAW – 8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law. Audio content returned as ALAW also contains a WAV header.
You can optimize the synthetic speech produced by Cloud Text-to-Speech API for playback on different types of hardware. For example, if your app runs primarily on smaller, ‘wearable’ types of devices, you can create a synthetic speech from Cloud Text-to-Speech API that is optimized specifically for smaller speakers.
This setting changes the voice playback speed. The smaller the number, the slower the synthesized voice will speak, and the more the amount will be, the faster will be the speaker. The normal speed is 1. You can select any value in the range from 0.25 to 4. The higher the number, the faster the speech.
Speaking pitch, in the range [-20.0, 20.0]. 20 means an increase of 20 semitones from the original pitch. -20 means a decrease of 20 semitones from the original pitch. The default value is 0
The setting controls the audio gain via the slider. There are available values from -10dB to 15dB.
Specify the synthesis sample rate.
We recommend a sample rate of at least 16 kHz in the audio files that you use for transcription with Speech-to-Text. Sample rates found in audio files are typically 16 kHz, 32 kHz, 44.1 kHz, and 48 kHz. Because intelligibility is greatly affected by the frequency range, especially in the higher frequencies, a sample rate of less than 16 kHz results in an audio file that has little or no information above 8 kHz. This can prevent Speech-to-Text from correctly transcribing spoken audio. Speech intelligibility requires information throughout the 2 kHz to 4 kHz range, although the harmonics (multiples) of those frequencies in the higher range are also important for preserving speech intelligibility. Therefore, keeping the sample rate to a minimum of 16 kHz is a good practice.
Synthesize audio on save
This setting enables automatic speech synthesis when you press the Update button or Publish Button.
This option can significantly increase the cost of your monthly Google Cloud quota.
Turning on this option every time you make changes to the page and save them all the contents of the old page will be sent for speech synthesizing. For example:
- you created a post of 5000 characters in size and Published it – your content automatically sent to Google Cloud and voiced. 5000 characters will be written off from your balance
- you added one comma (one character) to the text and click Save – 5001 characters will be automatically sent for speech synthesizing. 5001 symbols will be deducted from your balance
The tab contains settings for choosing the types of posts for audio generation and applying speech template as default for every post type.
Select the post types, including custom post types to work with the Speaker. The available types are in the drop-down list. Once new post types are added to your site, they will be displayed in the list.
The Speaker can only work with public posts. There are various reasons for this:
- the plugin is GDPR-compliant, which means it can’t use private information.
- the audio of a post/page is generated based on the current page markup available publicly.
If you use password-protected post types that are available only for certain users or a group of users, the Speaker can’t work with them.
The settings section allows you to apply Speech Templates as default for each of the post types that you select in the Post types field. You can create new Speech Templates when editing or creating a page/post.
In this text field, you can add text that will be added at the beginning of the audio file. For example, you can add an invitation or copyrights.
In this setting, you can add text that will be added to the end of the audio file. For example, you can add farewell or copyrights.
Read the Title
The option allows you to voice the Title of the current post/page when generating audio.
The setting can be applied only to the default Speech Template “Content“
The option allows you to voice the quotes in the current post/page when generating audio.
Read the Image Caption
The option allows you to voice the Image caption of the current post/page when generating audio.
Read image alt
The option allows you to voice the Image alt in the current post/page when generating audio.
The option allows you to customize the length of pauses after dots and commas when generating audio.
Regular expression replacements
With this option, you can replace any group of characters when voicing by using Regular Expressions
Enter the regular expression to be replaced and on a new line write the term or SSML tag to be replaced. You can also use the WordPress filter
speaker_after_content_regex_replace to manipulate content for voicing
The design tab contains settings related to the design of the Player and its surrounding elements.
You can select one of the available player positions:
- Before Content
- After Content
- Top Fixed
- Bottom Fixed
- Before Title
- After Title
- Before in Custom Filter – the option provides a field for entering a theme filter or a custom filter before which the player will be added.
- After in Custom Filter- the option provides a field for entering a theme filter or a custom filter after which the player will be added.
- WordPress Hook(action) – the option provides a field for entering a custom WordPress action to which the player will be added.
- Shortcode [speaker]
Some themes may have problems displaying the player in Before Title and After Title positions. Switch the plugin to another position in such cases.
You can easily add the Speaker WordPress Plugin player anywhere on the page using the shortcode
[speaker]And you can also show the player with an audio recording of another post, for this use the shortcode
[speaker id=PAGEID] PAGEID is the id of the page of the audio version that you want to use in the player.
You can find out the page ID in the address bar during editing or from the page code.
The plugin has five player styles that you can use on the website pages. You can also customize any of the presented player templates with CSS.
Flexibly customizable player with waves on the audio track
Core WordPress player which can be styled to suit your wishes.
WordPress Default Player
Regular WordPress audio player:
Chrome Style player
Browser Default Player
Default browser player without any styles and scripts. The appearance of the player is different in different browsers:
The Chrome & Opera Audio Player have a link to download the audio file even when the Download Link is hidden in the plugin settings.
Please note that when choosing a Browser Default Player, a standard WordPress player will be disabled on your site. This will have an effect on all players on all pages of your site.
To fine-tune the design of the player, use the CSS class
Basic player style settings
- Margin – the setting for managing the margin of the player in different units(px, %, em, rem, vh, vw).
- Padding – the setting for managing the padding of the player in different units(px, %, em, rem, vh, vw).
- Border radius – the setting for managing the border radius of the player in different units(px, %, em, rem, vh, vw).
- Row gap – the setting for managing the vertical gap between the player and other elements: speed bar, download bar, share bar and text block.
The settings block below is only for Wavesurfer and MediaElement players
- Background color – the color picker option for setting the background color of the player.
- Controls color – the color picker option for setting the color of the player controls.
- Controls color hover – the color picker option for setting the hover color of the player controls
- Controls background hover color – the color picker option for setting the background hover color of the player controls.
- Controls size – the slider option for setting the size of the player controls.
- Text color – the color picker option for setting the text color of the player controls.
- Font size – the slider option for setting the font size of the player controls.
Wave(for Wavesurfer player)
Flexible style settings for customizing each element of the Wavesurfer player.
- Wave color – the color picker option for setting the wave color of the player
- Progress color – the color picker option for setting the color of the player progress bar.
- Cursor color – the color picker option for setting the color of the player cursor.
- Waveform height – the slider option for setting the maximum height of the player wave
- Wave bar radius – the slider option for setting the radius of the wave bar.
- Wave bar width – the slider option for setting the width of the wave bar.
- Wave bar min-height – the slider option for setting the minimum height of the wave bar.
- Wave bar gap – the slider option for setting the space between wave bars.
The options to select icons for the play and pause player buttons from the library or upload your own SVG. The option is available for Wavesurfer and MediaElement players.
Large play button
The option allows you to enable a large play button with additional width settings and add a thumbnail as a background. The option is available for the Wavesurfer player.
The setting to enable/disable the repeat button in the Wavesurfer and MediaElement players. This also includes an option to select On/Of icons from the library or upload your own SVG.
The setting to enable/disable the current time display in the Wavesurfer and MediaElement players.
The setting to enable/disable the duration time display in the Wavesurfer and MediaElement players.
The setting to enable/disable the mute button in the Wavesurfer and MediaElement players. This also includes an option to select Mute/Volume icons from the library or upload your own SVG.
The setting to enable/disable the volume bar display in the Wavesurfer and MediaElement players.
The setting to enable/disable the download button in the Wavesurfer and MediaElement players. There are multiple positions for displaying the button:
- Above player
- Below player
- Player layout
Backend download link
The setting to enable/disable the download button in the backend when editing the post/page.
The setting to enable/disable the speed button in the player. There are available additional options for the block
- Speed controls – select one of the available speed controls display positions: Above player, Below player and Player layout
- Speed icon – the option to select an icon for the button from the library or upload your own SVG. The option is applicable for Wavesurfer and MediaElement players in the Player layout position.
- Speeds block title – enter the title that will be displayed before the speed settings panel.
- Available speeds – a field allows you to enter speed values that will be available to the user. The speed values must be separated by commas. Use period for decimal numbers, for example 1.2, 1.5, 1.75.
The setting to enable/disable the share buttons display in the player. There are available additional options for the block:
- Socials – select social networks and instant messengers that will be used in the sharing interface from the dropdown list.
- Type – select share interface type: Icons, List, Below player, Above player.
- Share icon – the option to select an icon for the button from the library or upload your own SVG. The option is applicable for Wavesurfer and MediaElement players in the List. position.
- Share label – enter the title that will be displayed before the share buttons.
- Share title – enter the title for shared entry. %s is replaced by the actual WordPress post title.
The preload attribute specifies if and how the audio file should be loaded when the page loads.
- None – the browser should NOT load the audio file when the page loads.
- Metadata – the browser should load only metadata when the page loads.
- Auto – the browser should load the entire audio file when the page loads.
- Backend – the browser should NOT load the audio file but the plugin requests information about the file on the backend and saves its duration in HTML.
Select the thumbnail display position in the player:
The option allows you to set the post/page featured image as background of the Wavesurfer and MediaElement players.
The option allows you to set the post/page featured image above the player and specify the thumbnail height.
The option allows you to set the post/page featured image below the player and specify the thumbnail height.
In play button
The option allows you to set the post/page featured image as background of the Large play button in Wavesurfer player and specify the thumbnail height.
The option allows playing audio after page load. Some browsers do not allow autoplay for any audio or video according to their policy, so this feature may not work for certain browsers.
|WordPress default player||No||No||Yes||No||Yes|
|Browser default player||No||No||Yes||Yes||Yes|
The option allows looping the audio playback.
Section for configuration of the audio files storage, metadata and audio file names customizing.
Audio File Name
The option allows you to change the name of the generated audio files using available patterns:
[id] – post ID;
[name] – post slug;
[title] – post title;
[author] – post author;
[type] – post type.
If you change the Audio File Name, the audio files with the old name will no longer be displayed as audio for the post.
The toggle to enable/disable the feature of saving data about the generated audio file in meta fields has been added. Read more in the guide.
Visible in the Media Library
The toggle to make the audio file visible and available in the Media Library.
Note: The files that were generated before the option was enabled will not be displayed.
Installed by default and provides for local saving of the audio files, does not require additional settings.
Library + Google Drive
Allows you to automatically save files both locally and on Google Drive after the audio generation. For this, you need to get your own Google Drive API key file following the guide. Once you get your JSON key file you need to upload it to the Google Drive API key field by drag and drop or upload by clicking on the field.
Once the key file has been successfully added, you need to get your token by allowing access to the disk to save files. After the installation is completed, your audio files will also be saved on Google Drive disk in the “Speaker” folder.
The option to use the old method of storing audio files. Ignore the Audio File Name pattern and get audio files with old names for Speaker versions lower 4.
The toggle to enable/disable the Speakable markup option for the post/page selected in the Speaker>Post Types.
speakable schema.org property identifies sections within an article or webpage that are best suited for audio playback using text-to-speech (TTS). Adding markup allows search engines and other applications to identify content to read aloud on Google Assistant-enabled devices using TTS. Web pages with
speakable structured data can use the Google Assistant to distribute the content through new channels and reach a wider base of users.
The additional options are available when the Speakable Markup toggle is On.
- For all posts – an option to enable the markup even for posts without an audio file generated.
- JSON+LD Markup – a field modify JSON+LD markup in regards to the Speakable Markup Guide. The default markup version also works correctly.
An option that allows you to create an RSS podcast feed for any podcast service based on audio generated on your site.
There are available Header and Item fields of the template when the RSS option is enabled.
To get a feed only with posts of a certain category, use the link
cat = "category ID"
To get a feed only with posts of a certain tag, use the link
Create root file
The option allows you to create Create RSS file in website’s root
This tab controls multilingual audio generation. You have to install and configure multilingualism on your site using WPML, Polylang or other similar plugins before enabling the Multilingual option. Select a locale and specify the language you want to use for it.
Press Add locale button to add a new language. The locales selected in the settings must exactly match the languages that are installed in your multilingual plugin.
The Speaker can only work with plugins for multilingual that provide for the creation of each translation on a separate page. The Speaker does not create audio for different languages if: translations are on one page but in different tabs/sections /blocks or when the translation is done automatically based on the main language.
The section for the Analytics settings to collect insensitive, anonymous listening data on generated audio files. The data will be displayed only in the admin panel.
The slider sets the number of seconds after which the data will be sent to the server. Values that are too small can cause additional load on your database.
Analytics dashboard widget
The option displays a widget with generation data and quota in the admin dashboard.
This is an estimate of the characters submitted for voiceover for the current site. You can find out the exact data on the use of your quota for the entire project from the Google Cloud dashboard.
The option displays analytics results in custom fields when editing a post/page.
The option displays analytics results in a column on the post list. It allows you to select the types of statistics data you want to display.
Advanced settings allow you to configure the plugin to work with your theme filters and hooks, as well as manage user rights. Please make sure you understand what you are doing before changing anything on this tab.
Content before the player
The toggle enables the enter field for adding a text, image or HTML markup before the audio player.
Content after the player
The toggle enables the enter field for adding a text, image or HTML markup after the audio player.
Display in loop
The option to display a player only for loop queries.
Set the length of the text parts into which the entire post text will be divided before a Google request. The maximum length of a text part is 5000 bytes
Google has a single request limit of 5000 characters or bytes. Also, it should be taken into account when using Standard or WaveNet voices, Google counts characters but when using Studio and Neural2 voices, it counts bytes. This is important because for some languages one character counts as 2-3 bytes like Thai, Arabic, etc.
Besides, there is probably a bug on the Google side regarding Neural2 and Studio languages, since when using them, the limit becomes 500 bytes per request.
You can use the Part length option to split the text into smaller parts if you receive an error when generating an audio file.
Can manage audio files
The option to select the user roles that will have access to create, re-create, remove audio and speech templates. Find out more about user roles and capabilities in WordPress.
Select the PHP version that is used on your server to improve compatibility with the Google Library version.
The toggle to enable/disable requests to the update server. When the option is enabled (by default), the plugin sends requests to our server when activating and updating our plugin.
You can turn off this setting if for some reason you need to disable requests to our server. In this case, automatic plugin updates will not be available but all the plugin functionality will be saved.
Please note: the plugin must be activated via your purchase code before the Check Updates feature is disabled.
Clear cache data
A button to clear cache data. Can be used when there is a problem with updates or activation.
Do not forget to click Save Changes after changing plugin settings. After clicking this button, the settings will be saved and applied to all pages of the website.
Now you can proceed to use the plugin on the pages of your WordPress website. Please read the article Converting WordPress page to speech and Speech Synthesis Markup Language (SSML) in the Speaker WordPress plugin.
Difference between Speaker and Voicer plugins
Fast and reliable hosting is significant for any WordPress site. We recommend all our customers use SiteGround WordPress Hosting. Many unique settings and features make this hosting the number 1 for WordPress: Free Website Transfer, Staging Tools, Free SSL, CDN, and much more for 3.95/mo.