Documentations
Text to speech v2
TTS Speeches v2
提供語音轉文字,讓您將文本藉由 REST API 轉換為合成語音,並且支援自然的的聲調與特定語言,接下來說明如何用 http request 來取得文字轉語音服務。
Step1:使用 /speeches/short
Step2:透過 base64 解碼 `audioContent` 並存成音檔
送出語音合成需求
在處理完所有輸入後,一般情況下,回應時間低於 120 秒。
Request
URL: /v2/speeches/short
Method: POST
Header
Name
| Type
| Info
|
*key | String
| |
*Content-Type | String
| Only “application/json”
|
Body
Name
| Type
| Info
|
*input | JSON
| text: 要生成音頻的文本。
如果是一般文字內容,最大文本長度為 600 個字符。
請注意,一個中文字用 2 個字符計算, 全形符號兩個字符,半形符號與空格一個字符。 |
*voice | JSON
| 有關聲音的設定請看「voice 設定」 |
*audioConfig | JSON
| 有關產出的聲音格式請看「audioConfig 設定」 |
Input 設定
variables
| Type
| Info
|
*text | string
| 需要轉換成聲音的文字內容
|
*type | string
| 輸入內容的格式,目前支援
text
ssml
輸入的本文可以是純文字或是SSML(如果你想要語音內容多一點變化與彈性)。有關 SSML 支援的功能,請看 這裡。 |
Voice 設定
variables
| Type
| Info
|
*model | string
| 這邊要放入你要的聲音類型,請看「 聲音代碼列表 」
|
*speed | number
| 語速
介於 0.5~1.5之間
數值越小,音檔長度越短,速度越快
數值越大,音檔長度越長,速度越慢
|
*pitch | number
| 音調
介於 0.5~1.5之間
數值越大,音調越高,聽起來較尖銳
數值越小,音調越低,聽起來較低沈
|
*energy | number
| 能量
介於 0.5~1.5之間
模型發音的力度
建議使用預設值1
|
Voice 中的 Model 設定
目前支援兩種女性聲音與一種男性聲音,選擇你要的聲音並設定。
variables
| Type
| Info
|
zh_en_female_1
| Female1 (Yating)
| Mandarin and English, support 22K/16K
|
zh_en_male_1
| Male1 (Jiahao)
| Mandarin and English, support 22K/16K
|
zh_en_female_2
| Female2 (Yiqing)
| Mandarin and English, support 22K/16K
|
tai_female_1
| Female1 (Yating)
| Taiwanese, support 16K
|
tai_male_1
| Male1 (Jiahao)
| Taiwanese, support 16K
|
tai_female_2
| Female2 (Yiqing)
| Taiwanese, support 16K
|
AudioConfig 設定
variables
| Type
| Info
|
*encoding | string
| 查看「音訊編碼」
|
*sampleRate | string
| 支援
16K
22K
越高的 sample rate,可以提供更加擬真的聲音
|
AudioConfig 中的 Encoding 音訊編碼設定
除了聲音類型,還可以選擇音頻輸出格式。 目前支持 MP3 和 LINEAR16。
codec | Name | Note |
LINEAR16 | Linear PCM | WAV音檔編碼格式。16 位線性脈衝編碼調製 (PCM) 編碼。 標頭必須包含採樣率。
|
MP3
| MP3
| MP3 格式
|
Request Body Example
|
Success Response Body Example
|
Failure Response Body Example
|
[201] created, 可以在`audioContent` 裡取得 base64 加密後的音檔內容,解密後存入檔案內即可播放。
[400] invalid request format: request 參數不符合規定,如輸入的聲音編碼不存在,sampleRate不支援
[401] unauthorized: 密鑰不存在或超出限制。
[422] pipeline error: 請查看下表(管道錯誤消息)以獲取更多詳細信息。
[500] internal server error
Pipeline Error message
error message | type | Info |
internal pipeline error: unknown payload [for reqId(...) segId(...)]
| Internal pipeline error
| |
internal pipeline error: inferencer unavailable
| Internal pipeline error
| |
ssml validation error: no text to synthesis
| Ssml validation error
| 輸入一個空的 SSML
|
ssml validation error: parsing error at line: {line}, column: {col}: {msg}
| Ssml validation error
| SSML 文法錯誤
|
ssml validation error: context error at line: {line}, column: {col}: {msg}
| Ssml validation error
| |
encoding error: encode error for reqId(...) segId(...)
| Encoding error
| 編碼器成功接收並處理消息,但過程中出現錯誤。
|
vocoding error: vocode error for reqId(...) segId(...)
| Vocoding error
| 聲碼器成功接收並處理了 msg,但過程中出現了錯誤。
|
unknown error
| Unknown error
| 未知錯誤
|
service busy
| Service busy
| 系統目前忙碌,請稍後再試。
|
限制
每個key的最大同時需求處理數:3