摘要:在草案中增加了對(duì)的支持主要作用在兩個(gè)非常重要的方面語(yǔ)音識(shí)別將所說的轉(zhuǎn)換成文本文字語(yǔ)音合成將文本文字讀出來而在版本發(fā)布后宣布對(duì)該特性的支持今天重要介紹第二部分。是一款基于的跨平臺(tái)的發(fā)音支持類庫(kù),支持超過種語(yǔ)言和種聲音,分為免費(fèi)版和商業(yè)版。
在w3c草案中增加了對(duì)Web Speech Api的支持;主要作用在
兩個(gè)非常重要的方面:
語(yǔ)音識(shí)別 (將所說的轉(zhuǎn)換成文本文字 / speech to text);
語(yǔ)音合成 (將文本文字讀出來 / text to speech);
而chrome在版本33發(fā)布后宣布對(duì)該特性的支持;今天重要介紹第二部分。
演示地址
文檔和演示代碼
開始使用// 你可以直接打開你的控制臺(tái)粘貼下面代碼 var words = new SpeechSynthesisUtterance("Hello captain"); window.speechSynthesis.speak(words);
當(dāng)然你還可以修改很多參數(shù)去調(diào)整你的發(fā)音:
volume:聲音;
rate:發(fā)音速度;
pitch:音調(diào);
voice:聲音;
language:語(yǔ)言(en,zh,ja...更多參考)
var msg = new SpeechSynthesisUtterance(); var voices = window.speechSynthesis.getVoices(); msg.voice = voices[10]; // msg.voiceURI = "native"; msg.volume = 1; // 0 to 1 msg.rate = 1; // 0.1 to 10 msg.pitch = 2; //0 to 2 msg.text = "I am Stark"; msg.lang = "en"; msg.onend = function(e) { console.log("Finished in " + event.elapsedTime + " seconds."); }; speechSynthesis.speak(msg);設(shè)置發(fā)音
你可以通過下面函數(shù)獲取可以使用的發(fā)音列表名稱
speechSynthesis.getVoices().forEach(function(voice) { console.log(voice.name, voice.default ? "(default)" :""); });
大概你可以獲取下面的一個(gè)列表
// 省略一部分結(jié)果 Google Deutsch Google US English Google UK English Female Google UK English Male Google 日本語(yǔ) Google?普通話(中國(guó)大陸) Google 國(guó)語(yǔ)(臺(tái)灣)
接下來我們可以試驗(yàn)下改變發(fā)音名稱
var msg = new SpeechSynthesisUtterance("hey captain,sometime I just want to break you perfect teeth"); msg.voice = speechSynthesis.getVoices().filter(function(voice) { return voice.name == "Google US English"; })[0]; speechSynthesis.speak(msg);
除了英文,我們還可以使用其他語(yǔ)言
// 使用日語(yǔ) var msg = new SpeechSynthesisUtterance("おはようございます"); msg.voice = speechSynthesis.getVoices().filter(function(voice) { return voice.name == "Google 日本語(yǔ)"; })[0]; speechSynthesis.speak(msg); // or 使用中文 var msg = new SpeechSynthesisUtterance("美國(guó)隊(duì)長(zhǎng)3"); msg.voice = speechSynthesis.getVoices().filter(function(voice) { return voice.name == "Google?普通話(中國(guó)大陸)"; })[0]; speechSynthesis.speak(msg);瀏覽器支持
Chrome 33+
iOS7 safari部分支持 (測(cè)試iOS8支持,iOS9不支持)
兼容性檢測(cè)
if ("speechSynthesis" in window) { // Synthesis support. Make your web apps talk! }
如果對(duì)于不支持的瀏覽器,我們可以使用老的方法,即將需要發(fā)音的單詞發(fā)送到服務(wù)端進(jìn)行處理,返回一個(gè)音頻,類似如下:
// 使用來自谷歌翻譯的音頻 var audio = new Audio(); audio.src ="http://translate.google.com/translate_tts?ie=utf-8&tl=en&q=" + encodeURI("hello captain"); audio.play();推薦框架
當(dāng)然我們?nèi)绻非罂焖匍_發(fā)的話,我們現(xiàn)在依舊有成熟的框架來支持這個(gè)功能,讓他實(shí)現(xiàn)更多瀏覽器的支持。
ResponsiveVoice.JS 是一款基于html5的跨平臺(tái)的發(fā)音支持類庫(kù),支持超過56種語(yǔ)言和168種
聲音,分為免費(fèi)版和商業(yè)版。Demo
speak.js 基于eSpeack改造而來的一款js單詞拼讀類庫(kù).
meSpeak.js 是一個(gè)100%的客戶端發(fā)音類庫(kù),支持chrome和safari,并且無需要任何html元素;
say.js一款基于node.js的發(fā)音擴(kuò)展類庫(kù)。
持續(xù)更新中...
參考Web apps that talk - Introduction to the Speech SynthesisAPI
using-google-text-to-speech-in-javascript
A More Awesome Web: Features You"ve Always Wanted - Google I/O 2013
HTML Speech API Examples
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/79215.html
摘要:正式發(fā)布已正式發(fā)布,新版本重點(diǎn)關(guān)注工具鏈以及工具鏈在中的運(yùn)行速度問題。文章內(nèi)容包括什么是內(nèi)存,內(nèi)存生命周期,中的內(nèi)存分配,內(nèi)存釋放,垃圾收集,種常見的內(nèi)存泄漏以及如何處理內(nèi)存泄漏的技巧。 1. Angular 6 正式發(fā)布 Angular 6.0.0 已正式發(fā)布,新版本重點(diǎn)關(guān)注工具鏈以及工具鏈在 Angular 中的運(yùn)行速度問題。Angular v6 是統(tǒng)一整體框架、Material ...
摘要:正式發(fā)布已正式發(fā)布,新版本重點(diǎn)關(guān)注工具鏈以及工具鏈在中的運(yùn)行速度問題。文章內(nèi)容包括什么是內(nèi)存,內(nèi)存生命周期,中的內(nèi)存分配,內(nèi)存釋放,垃圾收集,種常見的內(nèi)存泄漏以及如何處理內(nèi)存泄漏的技巧。 1. Angular 6 正式發(fā)布 Angular 6.0.0 已正式發(fā)布,新版本重點(diǎn)關(guān)注工具鏈以及工具鏈在 Angular 中的運(yùn)行速度問題。Angular v6 是統(tǒng)一整體框架、Material ...
摘要:正式發(fā)布已正式發(fā)布,新版本重點(diǎn)關(guān)注工具鏈以及工具鏈在中的運(yùn)行速度問題。文章內(nèi)容包括什么是內(nèi)存,內(nèi)存生命周期,中的內(nèi)存分配,內(nèi)存釋放,垃圾收集,種常見的內(nèi)存泄漏以及如何處理內(nèi)存泄漏的技巧。 1. Angular 6 正式發(fā)布 Angular 6.0.0 已正式發(fā)布,新版本重點(diǎn)關(guān)注工具鏈以及工具鏈在 Angular 中的運(yùn)行速度問題。Angular v6 是統(tǒng)一整體框架、Material ...
摘要:全球主要的云計(jì)算提供商現(xiàn)在提供基于云計(jì)算的人工智能產(chǎn)品。顯然,由于從頭開始構(gòu)建這樣一個(gè)系統(tǒng)的費(fèi)用高昂,人工智能作為一項(xiàng)服務(wù)仍然一直位于行業(yè)巨頭所在的領(lǐng)域。在用于人工智能服務(wù)的品牌下,公司提供不少于項(xiàng)服務(wù)。如今,采用人工智能的企業(yè)遇到了一個(gè)主要障礙,那就是在內(nèi)部開發(fā)人工智能產(chǎn)品成本高昂,因此有了外包人工智能產(chǎn)品的需求。而對(duì)于從中小企業(yè)到預(yù)算受限的大型企業(yè)來說,通過云計(jì)算來采用人工智能的成本要低...
閱讀 1176·2021-11-22 15:24
閱讀 4455·2021-09-23 11:51
閱讀 2319·2021-09-08 09:36
閱讀 3526·2019-08-30 15:43
閱讀 1307·2019-08-30 13:01
閱讀 1126·2019-08-30 12:48
閱讀 547·2019-08-29 12:52
閱讀 3379·2019-08-29 12:41