工研院語音合成API === TTS(Text to Speech) ## 網址 http://tts.itri.org.tw ## 使用方法 1. 先註冊 2. 註冊後登入 3. 到修改個人資料中設定要串接的網址(可以設定本機啟動的 server,ex: http://127.0.0.1:8080/) 4. 若要使用 JS 串接的話需記下 ``License Key`` 5. [查看 API 說明文件](http://tts.itri.org.tw/development/manual.php) ## 範例 (JS) ### 引入 ```htmlmixed= <script language="javascript" src="http://tts.itri.org.tw/TTScript/Text2SpeechJsApiV2.php?key=YourLicense"></script> ``` ### 簡易視窗 可以不用載入,自訂函數較好用 ```htmlmixed= <script language="javascript" src="http://tts.itri.org.tw/other/webttstest.js"></script> ``` ### 自訂參數 **參數都有預設值,可以不用設定** ```htmlmixed= <head> <script language="javascript" src ="http://tts.itri.org.tw/TTScript/Text2SpeechJsApiV2.php?key=YourLicense"> </script> </head> <body> <div id="content"> <div id="mute">不想聽到的內容</div> <div class="mute">不想聽到的內容</div> 將會聽到的內容 </div> <div id="media"></div> <script> // 先 new 一個 tts var tts = new TTS(); // 若指定範圍中的文字來合成,也可以設定範圍中不想合成的部分 tts.muteTag = "id:mute|class:mute"; // 撥放器是否顯示(還是會有藍色喇叭,但不會出現點選後的撥放器) tts.PlayerSet.hidden = false; // 設定撥放器寬高 tts.PlayerSet.width = 100; tts.PlayerSet.height = 30; // 文字合成函數,產生播放圖示 tts.ConvertInit("id:content","media","Bruce","100","0","0","0","5"); // tts.ConvertInit("說你好","media","Bruce","100","0","0","0","5"); </script> </body> ``` ![](https://i.imgur.com/WiZqgdU.png) ![](https://i.imgur.com/G7RfIhA.png) #### ConvertInit 參數 **會自動產生藍色喇叭圖示,點擊後撥放** 1. StringOrObj(string) – 輸入欲合成的TTS文字,也可為指定 ``id`` 中的內文 2. mediaID(string) – 播放器放置位置之 HTML DOM ID 3. TTSSpeaker(String) – 可選擇語者(參考 Web Service API 表三),預設值為Bruce(可使用空值) 4. Volume(Integer) – 其音量大小可調整範圍為0~100,預設值為100(可使用空值) 5. Speed(Integer) – 其語音速度可調整範圍為-10~10預設值為0(可使用空值) 6. pitchLevel(Integer) – 韻律調整:值越大則音高越高;反之則音高越低,可調整範圍-10~10,預設值為0(可使用空值) 7. pitchSign(Integer) – 韻律調整:0=正常、1=像機器人、2=像外國人說中文,預設值為0(可使用空值) 8. pitchScale(Integer) – 韻律調整:值越大則抑揚頓挫越明顯;反之則越趨平版,可調整範圍0~20,預設值為5(可使用空值) ### ConvertCustom 函數 ``ConvertCustom`` 和 ``ConvertInit`` 不同的是,後者會出現藍色喇叭,且需要點擊後才會撥放;而前者不會出現藍色喇叭,且函數執行時會自動撥放,所以要用 event 事件來操控。 ```htmlmixed= <button id="btn">點我播放</button> <div id="media"></div> <script> var tts = new TTS(); document.getElementById("btn").onclick = function(){ tts.ConvertCustom("好好玩","media","Bruce","100","0","0","0","5"); } </script> ```