IMUXIxD
IMUXIxD

Reputation: 1227

Synthesize speech from text in web app

How can one synthesize speech in a web app?

Is there a way using the HTML5 Web Speech API?

For example, if I wanted to synthesize the sentence 'A quick brown fox jumps over the lazy dog', how could I do that without playing a pre-recorded file of someone reading exactly that sentence

Upvotes: 1

Views: 1507

Answers (2)

Ronen Rabinovici
Ronen Rabinovici

Reputation: 9122

That code works both on Chrome and on Safari (taken from my app ttsreader):

if (!('speechSynthesis' in window)) {
        // Synthesis not supported. 
            alert('Speech Synthesis is not supported by your browser. Switch to Chrome or Safari');
        }

var msg = new SpeechSynthesisUtterance('hello world');
msg.volume = 1; // 0 to 1
msg.rate = 0.9; // 0.1 to 10
msg.pitch = 1; //0 to 2
msg.lang = "en-GB";
msg.text = "I will speak this out";
speechSynthesis.speak(msg);

Upvotes: 1

plalx
plalx

Reputation: 43718

As it is right now, the SpeechSynthesis features which are part of the Web Speech API Specification have not been implemented in any browser yet.

However, you can have a look at this Chrome extension.

EDIT:

It seems that the lastest Chrome Canary build might include the feature, however it only specifies that the feature has been started (http://www.chromestatus.com/features) and I was unable to find any more substantive information about it.

EDIT2:

As mentionned in the comments by @cdf, it seems that you can now play around with that feature by launching chrome with the --enable-speech-synthesis flag. Please see this post.

EDIT3:

This appears to be in Webkit now, but not on iOS at the moment. Not even in Chrome on iOS. Demo @BrandonAaskov

Upvotes: 4

Related Questions