---
# System prepended metadata

title: 工研院語音合成API

---

工研院語音合成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>
```