Guide to improving speech synthesis

Here are some great tips for improving the experience:

– using a comma or full stop will cause a small pause and sometimes change the emphasis of the prior word
– changing the order of words can subtly affect the pronunciation
– every 100 characters the speech will make a pause if it encounters a comma or full stop before then it will start the 100 count again
– using quotes around words can change their pronunciation
– putting words together like TinCan will improve the pronunciation
– putting words together with a hyphen can improve the pronunciation
– letters on their own are spoken well as in X A P I whereas API will be said as ‘appy’

These are tips for the Google Chrome Voices, tricks may perform differently on Apple Voices, however our tests have shown the above perform consistently well on the cross platform ResponsiveVoices.

Speed, Pitch and Volume for text-to-speech

Speed, Pitch and Volume for speech synthesis was introduced in 1.3.7 It is not supported across all platforms, so if your use of voice relies on these features do a full check on your target devices for consistency. This avoids the situation for example where the a developer might tweak the voice to sound a certain way in Safari, but then when experienced on an older version of Chrome on Windows for example the result is inconsistent.

ResponsiveVoice works across multiple browsers and devices using the best capabilities of each to provide a consistent experience.
Speech features across devices vary considerably, ResponsiveVoice solves this by creating a unified library that acts as close as possible on devices and browsers.

If you are looking to develop for a single target platform and wish to support these features please contact us.

Android Chrome Voices, No Sound Until Installed

Google Chrome on Android can list as many as 25 language voices available. Most often devices do not come preloaded with all voices. On the first call to use a language voice Chrome or Android OS will initiate the download of the voice package. After the package has downloaded and installed in the background that language voice will be always available locally from then on, including for offline use.

In some cases this means the user may expect speech to play but there is only silence, however the OS download indicator will show that a download has been started and when that completes, retrying the action (without reloading the page) works as expected.

Speech Synthesis Markup Language (SSML)

HTML5 voices do not support Markup for changing accent or emphasis. Other audio file rendering speech engines (NeoSpeech, Loquendo, iSpeech) do use differing Markup standards for improving intonation and emphasis, Voice Markup is a part of the HTML5 specification but this is not a part of browsers and there is no timeline (or announced commitment) to including it in future browsers (yet). When Markup does get added to browsers ResponsiveVoice library will include it for all to benefit from.

For more information on Speech Synthesis Markup Language
For more information on Microsoft SAPI 5.1 XML
For more information on Apple Speech Manager

[Solved] UK English Male is a Female Voice on Internet Explorer, Firefox and Android

[Solved in version 1.3.7] The UK English Male voice is only supported on Safari Mac and iOS and on Chrome Desktop. Chrome on Android even though it does support UK English Male in the operating system, it is not accessible to the browser, so ResponsiveVoice fallsback to UK English Female as the best case available.

iOS GUIDELINES

User triggered events

On iOS, some events such as Speech Synthesis, need to be triggered from a user action (i.e. a click). That causes ResponsiveVoice speak calls not to work on page load, for example.

With Speech Synthesis, that user triggered action only needs to be done once. Further direct calls after the first one will work as expected.

So, the recommended best practice is to add a “Start” button to the experience for the user to click, and use that as a initialization call to responsiveVoice.speak(). That call, if desired, can have a blank space as text, so there’s no impact to the user.

Known Issues

– Voice playback rate is slow on Android native browser
– Voice is cut off in shorter text on Android native browser
– Audio doesn’t play on Firefox Android

Some Firefox versions on Android have limited support regarding web audio. We recommend checking
Browser Compatibility website from Mozilla

Close
Go top