個性化音色定制
說明
Hi,您好,歡迎使用有道智云個性化語音定制接口服務。
本文檔主要針對需要集成HTTP API的技術(shù)開發(fā)工程師,詳細描述個性化語音定制相關(guān)的技術(shù)內(nèi)容。
如果您有與我們商務合作的需求,可以通過以下方式聯(lián)系我們:
商務郵箱: 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ā)人員,接入測試前需要獲取應用ID和應用密鑰;如果您還沒有,請按照 新手指南 獲取。
- 平臺向每個賬戶贈送50元的體驗金,供用戶集成前測試所用。
接口說明
個性化語音定制服務,基于網(wǎng)易有道的語音識別技術(shù),通過上傳少量錄音,訓練語音引擎定制自己聲音模型,賦予產(chǎn)品聲音形象,可在讀小說、播音主持、講故事、客服服務等場景應用。
服務主要分模型定制和模型調(diào)用兩部分。
協(xié)議須知
調(diào)用方在集成個性化語音定制服務API時,請遵循以下規(guī)則。
規(guī)則 |
描述 |
傳輸方式 |
HTTPS |
請求方式 |
GET或POST |
字符編碼 |
統(tǒng)一使用UTF-8 編碼 |
請求格式 |
表單 |
響應格式 |
JSON |
接口調(diào)用參數(shù)
個性化語音定制調(diào)用地址:
https://openapi.youdao.com
音頻格式
格式支持:wav(不壓縮,pcm編碼,采樣率:推薦16k ,編碼:16bit位深的單聲道)
模型定制階段
創(chuàng)建語音包接口
參數(shù)名稱 |
類型 |
含義 |
是否必填 |
示例 |
appKey |
String |
應用ID |
True |
可在 應用管理 查看 |
curtime |
String |
時間戳(秒) |
True |
1666600000 |
salt |
String |
隨機字符串 |
True |
|
sign |
String |
簽名信息:sha256(appKey + salt + curtime +密鑰) |
True |
|
signType |
String |
簽名類型 |
True |
v4 |
name |
String |
語音包名稱 (不超過50字符) |
True |
語音包 |
gender |
String |
性別 |
True |
male或female |
trainingType |
String |
訓練類型 |
True |
tts或vc(詳見語音合成類型) |
description |
String |
語音包描述 (不超過250字符) |
False |
這是語音包描述 |
quality |
String |
定制質(zhì)量(1為低質(zhì)量2為高質(zhì)量) |
False |
1或2(默認為1) |
{
"errorCode":"0",//錯誤碼
"msg":"success",//信息說明
"result":{
"packetId":"P_24A59791123C49A9B498DCD1972803B3"//返回的語音包ID
}
}
環(huán)境音檢測
參數(shù)名稱 |
類型 |
含義 |
是否必填 |
示例 |
appKey |
String |
應用ID |
True |
可在 應用管理 查看 |
curtime |
String |
時間戳(秒) |
True |
1666600000 |
salt |
String |
隨機字符串 |
True |
|
sign |
String |
簽名信息:sha256(appKey + salt + curtime +密鑰) |
True |
|
signType |
String |
簽名類型 |
True |
v4 |
file |
MultipartFile |
環(huán)境錄音 |
True |
MultipartFile,音頻格式:單聲道、16KHz 16bit PCM編碼的WAV格式。時長3-5秒 |
packetId |
String |
語音包id |
True |
P_24A59791123C49A9B498DCD1972803B3 |
{
"errorCode":"0",//錯誤碼
"msg":"success",//信息說明
"result":{
"passTest":true, //是否通過檢測
"decibel": 30 //分貝
}
}
語音評測接口
參數(shù)名稱 |
類型 |
含義 |
是否必填 |
示例 |
appKey |
String |
應用ID |
True |
可在 應用管理 查看 |
curtime |
String |
時間戳(秒) |
True |
1666600000 |
salt |
String |
隨機字符串 |
True |
|
sign |
String |
簽名信息:sha256(appKey + salt + curtime +密鑰) |
True |
|
signType |
String |
簽名類型 |
True |
v4 |
text |
String |
評測文本 |
True |
每句話支持10-30個字符,不超過20句 ,高定文案可參考如下案例。 |
file |
MultipartFile |
錄制評測音頻 |
True |
MultipartFile,音頻格式:單聲道、16KHz 16bit PCM編碼的WAV格式。時長2-15秒 |
packetId |
String |
語音包id |
True |
P_24A59791123C49A9B498DCD1972803B3 |
order |
String |
語音包中語音序號 |
True |
取值1-20(有序+連續(xù)),重復傳遞則覆蓋原有音頻 |
例子:
{
"errorCode":"0",//錯誤碼
"msg":"success",//信息說明
"result":{
"recordingId":"V_7FFDF89DC01F40CFA8A478D7E3231WV9", //音頻合格,錄入語音包時有返回值
"score": "99.03", //評測得分
"guidance": , // 評測建議
"correctMessage": [], // 錯誤發(fā)音句中index
"packetId": "P_3F9AB85F37CE497B9A1483848ACCF56C" //語音包ID
}
}
啟動訓練
接口uri:/customVoice/model/launch
請求方式:POST
接口說明:
啟動訓練,語音包中的錄音數(shù)量達標后,可以啟動訓練定制語音合成模型
接口參數(shù):
參數(shù)名稱 |
類型 |
含義 |
是否必填 |
示例 |
appKey |
String |
應用ID |
True |
可在 應用管理 查看 |
curtime |
String |
時間戳(秒) |
True |
1666600000 |
salt |
String |
隨機字符串 |
True |
UUID(唯一識別通用碼) |
sign |
String |
簽名信息:sha256(appKey + salt + curtime +密鑰) |
True |
sha256(appKey + salt + curtime +密鑰) |
signType |
String |
簽名類型 |
True |
v4 |
packetId |
String |
語音包id |
True |
P_24A59791123C49A9B498DCD1972803B3 |
launchType |
String |
啟動訓練類型。注:語音包訓練類型需要支持 |
False |
tts或者vc (如果不填此參數(shù),按語音包類型啟動訓練) |
{
"errorCode":"0",//錯誤碼
"msg":"success",//信息說明
"result": {
"estimateSeconds":10 //剩余時間 秒
"modelList":[
{
"modelId":"M_A0852354A2ED4BB19DE759F1B80C6E37", //模型id 啟動成功返回
"createTime":"2023-04-23 13:59:43", // 創(chuàng)建時間 啟動成功返回
"taskId":"T_6381E68890C843488FD9569217EFA36A", // 訓練任務id 啟動成功返回
"modelType":"vc", //模型類型
"modelStatus":"started", //模型狀態(tài)("started":訓練啟動,"failed":啟動失?。? "failedReason":"" // 失敗原因 啟動失敗返回
}
]
}
}
查詢訓練狀態(tài)
參數(shù)名稱 |
類型 |
含義 |
是否必填 |
示例 |
appKey |
String |
應用ID |
True |
可在 應用管理 查看 |
curtime |
String |
時間戳(秒) |
True |
1666600000 |
salt |
String |
隨機字符串 |
True |
|
sign |
String |
簽名信息:sha256(appKey + salt + curtime +密鑰) |
True |
|
signType |
String |
簽名類型 |
True |
v4 |
packetId |
String |
語音包id |
True |
P_24A59791123C49A9B498DCD1972803B3 |
taskId |
String |
訓練任務id |
True |
T_D2560E2DCF6E435EA7BEDD88AC88B9CC |
{
"errorCode":"0",//錯誤碼
"msg":"success",//信息說明
"result": {
"taskId":"T_D2560E2DCF6E435EA7BEDD88AC88B9CC", // 訓練任務id
"estimateSeconds":"10", //剩余時間 秒
"packetId":"P_24A59791123C49A9B498DCD1972803B3",//語音包id
"modelId":"M_A0852354A2ED4BB19DE759F1B80C6E37",//模型id
"status":"1" //訓練狀態(tài) 0:開始,1:完成,2:終止,3:失敗,4:語音包創(chuàng)建
}
}
刪除語音包
參數(shù)名稱 |
類型 |
含義 |
是否必填 |
示例 |
appKey |
String |
應用ID |
True |
可在 應用管理 查看 |
curtime |
String |
時間戳(秒) |
True |
1666600000 |
salt |
String |
隨機字符串 |
True |
|
sign |
String |
簽名信息:sha256(appKey + salt + curtime +密鑰) |
True |
|
signType |
String |
簽名類型 |
True |
v4 |
packetId |
String |
語音包id |
True |
P_24A59791123C49A9B498DCD1972803B3 |
{
"errorCode":"0",//錯誤碼
"msg":"success",//信息說明
"result": null
}
查詢語音包詳情
參數(shù)名稱 |
類型 |
含義 |
是否必填 |
示例 |
appKey |
String |
應用ID |
True |
可在 應用管理 查看 |
curtime |
String |
時間戳(秒) |
True |
1666600000 |
salt |
String |
隨機字符串 |
True |
|
sign |
String |
簽名信息:sha256(appKey + salt + curtime +密鑰) |
True |
|
signType |
String |
簽名類型 |
True |
v4 |
packetId |
String |
語音包id |
True |
P_24A59791123C49A9B498DCD1972803B3 |
{
"errorCode":"0",//錯誤碼
"msg":"success",//信息說明
"result": {
"name":"名稱", // 語音包名稱
"description":"描述", //語音包描述
"recordingCount":5, //包含錄音數(shù)
"createTime":"2022-08-22 14:33:10", //語音包創(chuàng)建時間
"packetId":"", // 語音包id
"voiceList":[
{
"order":1, //錄音序號
"audioUrl":"", //音頻鏈接
"text":"", //評測文本
},
...
]
}
}
服務配置
輸出格式 |
文本大小或音頻時長 |
支持語言 |
wav |
噪音檢測 3-5s 語音評測音頻時長 2-15s 語音評測文本為10-30個字符 |
中文 |
訓練任務狀態(tài)碼
狀態(tài)ID |
狀態(tài)描述 |
0 |
訓練任務啟動 |
1 |
訓練任務結(jié)束 |
2 |
訓練任務已終止 |
3 |
訓練任務失敗 |
4 |
語音包創(chuàng)建階段,訓練任務未啟動 |
訓練錯誤代碼
錯誤碼 |
含義 |
101 |
缺少必填的參數(shù),首先確保必填參數(shù)齊全,然后,確認參數(shù)書寫是否正確。 |
102 |
不支持的語言類型 |
103 |
翻譯文本過長 |
104 |
不支持的API類型 |
105 |
不支持的簽名類型 |
106 |
不支持的響應類型 |
107 |
不支持的傳輸加密類型 |
108 |
應用ID無效,注冊賬號,登錄后臺創(chuàng)建應用和實例并完成綁定,可獲得應用ID和應用密鑰等信息 |
109 |
batchLog格式不正確 |
110 |
無相關(guān)服務的有效實例,應用沒有綁定服務。注:某些服務的結(jié)果發(fā)音需要tts,需要在控制臺創(chuàng)建語音合成綁定應用后方能使用。 |
111 |
開發(fā)者賬號無效 |
112 |
請求服務無效 |
113 |
q不能為空 |
114 |
不支持的圖片傳輸方式 |
115 |
語音包異常:不存在或者已刪除或者不屬于當前devId |
116 |
referenceSynthesisId已存在 |
201 |
解密失敗,可能為DES,BASE64,URLDecode的錯誤 |
202 |
簽名檢驗失敗 |
203 |
訪問IP地址不在可訪問IP列表 |
205 |
請求的接口與應用的平臺類型不一致,確保接入方式(Android SDK、IOS SDK、API)與創(chuàng)建的應用平臺類型一致。 |
206 |
因為時間戳無效導致簽名校驗失敗 |
207 |
重放請求 |
303 |
服務端的其它異常 |
401 |
賬戶已經(jīng)欠費停 |
402 |
offlinesdk不可用 |
403 |
無權(quán)限 |
404 |
資源不存在 |
405 |
auth服務不可用 |
411 |
訪問頻率受限,請稍后訪問 |
412 |
超過最大翻譯字符數(shù) |
VC001 |
不支持訓練類型 |
VC002 |
不支持性別類型 |
VC003 |
無有效ticket |
VC004 |
語音包創(chuàng)建失敗 |
VC005 |
語音包id不存在 |
VC006 |
環(huán)境音檢測失敗 |
VC007 |
語音包重訓練次數(shù)耗盡 |
VC008 |
當前存在訓練中的任務 |
VC009 |
啟動訓練失敗 |
VC010 |
訓練任務id不存在 |
VC011 |
刪除語音包失敗 |
VC012 |
獲取語音包列表失敗 |
VC013 |
獲取訓練狀態(tài)失敗 |
VC014 |
語音評測失敗 |
VC015 |
開發(fā)者id為空 |
VC016 |
userId命名空間為空 |
VC022 |
回調(diào)地址錯誤 |
VC023 |
未知合成任務 |
VC024 |
合成URL錯誤 |
VC025 |
獲取合成結(jié)果失敗 |
VC026 |
文件大小超限 |
VC027 |
description超出限制 |
VC028 |
name字段超出限制 |
VC029 |
order字段取值錯誤 |
VC030 |
text字段超限 |
VC031 |
當日創(chuàng)建語音包到達上限 |
VC032 |
音頻時長錯誤 |
VC033 |
userId和packetId不匹配 |
VC034 |
語音包錄制文本重復 |
VC036 |
獲取語音包詳情失敗 |
VC041 |
音量過高 |
VC042 |
音頻格式錯誤 |
VC043 |
音頻次序錯誤 |
VC044 |
音頻質(zhì)量過低 |
VC045 |
創(chuàng)建任務數(shù)超出限制(每天最多創(chuàng)建1000個訓練任務) |
VC046 |
音頻數(shù)量錯誤 |
VC047 |
不支持的啟動類型 |