個性化音色定制
說明
Hi,您好,歡迎使用有道智云個性化大模型語音定制接口服務(wù)。
本文檔主要針對需要集成HTTP API的技術(shù)開發(fā)工程師,詳細(xì)描述個性化語音定制相關(guān)的技術(shù)內(nèi)容。
如果您有與我們商務(wù)合作的需求,可以通過以下方式聯(lián)系我們:
商務(wù)郵箱: AIcloud_Business@corp.youdao.com
如果您對文檔內(nèi)容有任何疑問,可以通過以下幾種方式聯(lián)系我們:
客服QQ:1906538062
智云翻譯技術(shù)交流QQ 1群: 652880659
智云翻譯技術(shù)交流QQ 2群: 669384425
智云翻譯技術(shù)交流QQ 3群: 807539209
智云翻譯技術(shù)交流QQ 4群: 936752411
聯(lián)系郵箱: zhiyun@corp.youdao.com
溫馨提示:
- 本文檔主要針對開發(fā)人員,接入測試前需要獲取應(yīng)用ID和應(yīng)用密鑰;如果您還沒有,請按照 新手指南 獲取。
- 平臺向每個賬戶贈送50元的體驗金,供用戶集成前測試所用。
接口說明
個性化大模型語音定制服務(wù),基于網(wǎng)易有道的大模型語音識別技術(shù),通過上傳少量錄音,訓(xùn)練語音引擎定制自己聲音模型,賦予產(chǎn)品聲音形象,可在讀小說、播音主持、講故事、客服服務(wù)等場景應(yīng)用。
服務(wù)主要分模型定制和模型調(diào)用兩部分。
協(xié)議須知
調(diào)用方在集成個性化語音定制服務(wù)API時,請遵循以下規(guī)則。
規(guī)則 | 描述 |
---|
傳輸方式 | HTTPS |
請求方式 | GET或POST |
字符編碼 | 統(tǒng)一使用UTF-8 編碼 |
請求格式 | 表單 |
響應(yīng)格式 | JSON |
接口調(diào)用參數(shù)
個性化大模型語音定制調(diào)用地址:
https://openapi.youdao.com
音頻格式
格式支持:wav, mp3等格式
模型定制階段
創(chuàng)建語音包接口
- 接口uri:/ttsLlm/packet/create
- 請求方式:POST
- 接口說明:
創(chuàng)建語音包接口,通過語音包收集錄音,定制個性化音色模型
接口參數(shù):
參數(shù)名稱 | 類型 | 含義 | 是否必填 | 示例 |
---|
appKey | String | 應(yīng)用ID | True | 可在 應(yīng)用管理 查看 |
curtime | String | 時間戳(秒) | True | 1666600000 |
salt | String | 隨機(jī)字符串 | True |
sign | String | 簽名信息:sha256(appKey + salt + curtime +密鑰) | True |
signType | String | 簽名類型 | True | v4 |
name | String | 語音包名稱 (不超過50字符) | True | 語音包 |
gender | String | 性別 | True | male或female |
description | String | 語音包描述 (不超過250字符) | False | 這是語音包描述 |
-
{
"errorCode":"0",//錯誤碼
"msg":"success",//信息說明
"result":{
"packetId":"P_24A59791123C49A9B498DCD1972803B3"//返回的語音包ID
}
}
錄音上傳接口
- 接口uri:/ttsLlm/packet/upload
- 請求方式:POST
- 接口說明:
上傳語音,指定語種,把語音上傳到語音包,為訓(xùn)練作準(zhǔn)備
參數(shù)名稱 | 類型 | 含義 | 是否必填 | 示例 |
---|
appKey | String | 應(yīng)用ID | True | 可在 應(yīng)用管理 查看 |
curtime | String | 時間戳(秒) | True | 1666600000 |
salt | String | 隨機(jī)字符串 | True |
sign | String | 簽名信息:sha256(appKey + salt + curtime +密鑰) | True |
signType | String | 簽名類型 | True | v4 |
file | MultipartFile | 錄制評測音頻 | True | MultipartFile,音頻格式:wav, mp3等格式,30s ~ 5min |
packetId | String | 語音包id | True | P_24A59791123C49A9B498DCD1972803B3 |
lan | String | 語言類型 | True | en |
支持語言
英文名 | 中文名 | 代碼 |
---|
Arabic | 阿拉伯語 | ar |
Bahasa (Indonesia) | 巴哈薩語(印度尼西亞) | in |
Cantonese | 粵語 | yue |
Catalan | 加泰隆語 | ca |
Czech | 捷克語 | cs |
Danish | 丹麥語 | da |
Dutch | 荷蘭語 | nl |
Dutch (Belgium) | 荷蘭語(比利時) | nl-BEL |
English (Australia) | 英語(澳大利亞) | en-AUS |
English (GB) | 英語(英國) | en-GBR |
English (India) | 英語(印度) | en-IND |
English (Ireland) | 英語(愛爾蘭) | en-IRL |
English (Scotland) | 英語(蘇格蘭) | en-SCT |
English (South Africa) | 英語(南非) | en-ZAF |
English (US) | 英語(美國) | en |
Finnish | 芬蘭語 | fi |
French | 法語 | fr |
French (Canada) | 法語(加拿大) | fr-CAN |
German | 德語 | de |
Greek | 希臘語 | el |
Hebrew | 希伯來語 | he |
Hindi | 印地語 | hi |
Hungarian | 匈牙利語 | hu |
Italian | 意大利語 | it |
Japanese | 日語 | ja |
Korean | 韓語 | ko |
Mandarin (China) | 普通話(中國) | zh-CHS |
Mandarin (Taiwan) | 普通話(中國臺灣) | zh-TWN |
Norwegian | 挪威語 | no |
Polish | 波蘭語 | pl |
Portuguese (Brazil) | 葡萄牙語(巴西) | pt-BRA |
Portuguese (Portugal) | 葡萄牙語(葡萄牙) | pt |
Romanian | 羅馬尼亞語 | ro |
Russian | 俄語 | ru |
Slovak | 斯洛伐克語 | sk |
Spanish (Castilian) | 西班牙語(卡斯蒂利亞) | es-ESP |
Spanish (Columbia) | 西班牙語(哥倫比亞) | es-COL |
Spanish (Mexico) | 西班牙語(墨西哥) | es-MEX |
Spanish (Mexico) | 西班牙語 | es |
Swedish | 瑞典語 | sv |
Thai | 泰語 | th |
Turkish | 土耳其語 | tr |
{
"errorCode":"0",//錯誤碼
"msg":"success",//信息說明
}
啟動訓(xùn)練
- 接口uri:/ttsLlm/model/launch
- 請求方式:POST
- 接口說明:
啟動訓(xùn)練, 待模型訓(xùn)練完成后可以調(diào)用合成接口
參數(shù)名稱 | 類型 | 含義 | 是否必填 | 示例 |
---|
appKey | String | 應(yīng)用ID | True | 可在 應(yīng)用管理 查看 |
curtime | String | 時間戳(秒) | True | 1666600000 |
salt | String | 隨機(jī)字符串 | True | UUID(唯一識別通用碼) |
sign | String | 簽名信息:sha256(appKey + salt + curtime +密鑰) | True | sha256(appKey + salt + curtime +密鑰) |
signType | String | 簽名類型 | True | v4 |
packetId | String | 語音包id | True | P_24A59791123C49A9B498DCD1972803B3 |
gender | String | 性別 | False | 非必填,若填必需和創(chuàng)建語音包一致 |
{
"errorCode":"0",//錯誤碼
"msg":"success",//信息說明
"result": {
"estimateSeconds":10 //剩余時間 秒
"modelList":[
{
"modelId":"M_A0852354A2ED4BB19DE759F1B80C6E37", //模型id 啟動成功返回
"createTime":"2023-04-23 13:59:43", // 創(chuàng)建時間 啟動成功返回
"taskId":"T_6381E68890C843488FD9569217EFA36A", // 訓(xùn)練任務(wù)id 啟動成功返回
"modelType":"vc", //模型類型
"modelStatus":"started", //模型狀態(tài)("started":訓(xùn)練啟動,"failed":啟動失敗)
"failedReason":"" // 失敗原因 啟動失敗返回
}
]
}
}
查詢訓(xùn)練狀態(tài)
- 接口uri:/ttsLlm/model/checkStatus
- 請求方式:GET
- 接口說明:
查詢當(dāng)前訓(xùn)練任務(wù)狀態(tài) - 接口參數(shù):
參數(shù)名稱 | 類型 | 含義 | 是否必填 | 示例 |
---|
appKey | String | 應(yīng)用ID | True | 可在 應(yīng)用管理 查看 |
curtime | String | 時間戳(秒) | True | 1666600000 |
salt | String | 隨機(jī)字符串 | True |
sign | String | 簽名信息:sha256(appKey + salt + curtime +密鑰) | True |
signType | String | 簽名類型 | True | v4 |
packetId | String | 語音包id | True | P_24A59791123C49A9B498DCD1972803B3 |
taskId | String | 訓(xùn)練任務(wù)id | True | T_D2560E2DCF6E435EA7BEDD88AC88B9CC |
{
"errorCode":"0",//錯誤碼
"msg":"success",//信息說明
"result": {
"taskId":"T_D2560E2DCF6E435EA7BEDD88AC88B9CC", // 訓(xùn)練任務(wù)id
"estimateSeconds":"10", //剩余時間 秒
"packetId":"P_24A59791123C49A9B498DCD1972803B3",//語音包id
"modelId":"M_A0852354A2ED4BB19DE759F1B80C6E37",//模型id
"status":"1" //訓(xùn)練狀態(tài) 0:開始,1:完成,2:終止,3:失敗,4:語音包創(chuàng)建
}
}
刪除語音包
- 接口uri:/ttsLlm/packet/delete
- 請求方式:POST
- 接口說明:
刪除指定語音包,同時會刪除包含錄音及訓(xùn)練模型 - 接口參數(shù):
參數(shù)名稱 | 類型 | 含義 | 是否必填 | 示例 |
---|
appKey | String | 應(yīng)用ID | True | 可在 應(yīng)用管理 查看 |
curtime | String | 時間戳(秒) | True | 1666600000 |
salt | String | 隨機(jī)字符串 | True |
sign | String | 簽名信息:sha256(appKey + salt + curtime +密鑰) | True |
signType | String | 簽名類型 | True | v4 |
packetId | String | 語音包id | True | P_24A59791123C49A9B498DCD1972803B3 |
{
"errorCode":"0",//錯誤碼
"msg":"success",//信息說明
}
訓(xùn)練任務(wù)狀態(tài)碼
狀態(tài)ID | 狀態(tài)描述 |
---|
0 | 訓(xùn)練任務(wù)啟動 |
1 | 訓(xùn)練任務(wù)結(jié)束 |
2 | 訓(xùn)練任務(wù)已終止 |
3 | 訓(xùn)練任務(wù)失敗 |
4 | 語音包創(chuàng)建階段,訓(xùn)練任務(wù)未啟動 |
訓(xùn)練錯誤代碼
錯誤碼 | 含義 |
---|
101 | 缺少必填的參數(shù),首先確保必填參數(shù)齊全,然后,確認(rèn)參數(shù)書寫是否正確。 |
102 | 不支持的語言類型 |
103 | 翻譯文本過長 |
104 | 不支持的API類型 |
105 | 不支持的簽名類型 |
106 | 不支持的響應(yīng)類型 |
107 | 不支持的傳輸加密類型 |
108 | 應(yīng)用ID無效,注冊賬號,登錄后臺創(chuàng)建應(yīng)用和實例并完成綁定,可獲得應(yīng)用ID和應(yīng)用密鑰等信息 |
109 | batchLog格式不正確 |
110 | 無相關(guān)服務(wù)的有效實例,應(yīng)用沒有綁定服務(wù)。注:某些服務(wù)的結(jié)果發(fā)音需要tts,需要在控制臺創(chuàng)建語音合成綁定應(yīng)用后方能使用。 |
111 | 開發(fā)者賬號無效 |
112 | 請求服務(wù)無效 |
113 | q不能為空 |
114 | 不支持的圖片傳輸方式 |
115 | 語音包異常:不存在或者已刪除或者不屬于當(dāng)前devId |
116 | referenceSynthesisId已存在 |
201 | 解密失敗,可能為DES,BASE64,URLDecode的錯誤 |
202 | 簽名檢驗失敗 |
203 | 訪問IP地址不在可訪問IP列表 |
205 | 請求的接口與應(yīng)用的平臺類型不一致,確保接入方式(Android SDK、IOS SDK、API)與創(chuàng)建的應(yīng)用平臺類型一致。 |
206 | 因為時間戳無效導(dǎo)致簽名校驗失敗 |
207 | 重放請求 |
303 | 服務(wù)端的其它異常 |
401 | 賬戶已經(jīng)欠費停 |
402 | offlinesdk不可用 |
403 | 無權(quán)限 |
404 | 資源不存在 |
405 | auth服務(wù)不可用 |
411 | 訪問頻率受限,請稍后訪問 |
412 | 超過最大翻譯字符數(shù) |
VC001 | 不支持訓(xùn)練類型 |
VC002 | 不支持性別類型 |
VC003 | 無有效ticket |
VC004 | 語音包創(chuàng)建失敗 |
VC005 | 語音包id不存在 |
VC006 | 環(huán)境音檢測失敗 |
VC007 | 語音包重訓(xùn)練次數(shù)耗盡 |
VC008 | 當(dāng)前存在訓(xùn)練中的任務(wù) |
VC009 | 啟動訓(xùn)練失敗 |
VC010 | 訓(xùn)練任務(wù)id不存在 |
VC011 | 刪除語音包失敗 |
VC012 | 獲取語音包列表失敗 |
VC013 | 獲取訓(xùn)練狀態(tài)失敗 |
VC014 | 語音評測失敗 |
VC015 | 開發(fā)者id為空 |
VC016 | userId命名空間為空 |
VC022 | 回調(diào)地址錯誤 |
VC023 | 未知合成任務(wù) |
VC024 | 合成URL錯誤 |
VC025 | 獲取合成結(jié)果失敗 |
VC026 | 文件大小超限 |
VC027 | description超出限制 |
VC028 | name字段超出限制 |
VC029 | order字段取值錯誤 |
VC030 | text字段超限 |
VC031 | 當(dāng)日創(chuàng)建語音包到達(dá)上限 |
VC032 | 音頻時長錯誤 |
VC033 | userId和packetId不匹配 |
VC034 | 語音包錄制文本重復(fù) |
VC036 | 獲取語音包詳情失敗 |
VC041 | 音量過高 |
VC042 | 音頻格式錯誤 |
VC043 | 音頻次序錯誤 |
VC044 | 音頻質(zhì)量過低 |
VC045 | 創(chuàng)建任務(wù)數(shù)超出限制(每天最多創(chuàng)建1000個訓(xùn)練任務(wù)) |
VC046 | 音頻數(shù)量錯誤 |
VC047 | 不支持的啟動類型 |
VC048 | 處理音頻錯誤 |
VC049 | 調(diào)用Asr服務(wù)錯誤 |
VC049 | 上傳音頻錯誤 |
VC051 | 文件大小超限 |
VC052 | 文件時長不合法 |