Hi,您好,歡迎使用有道智云個性化語音定制接口服務(wù)。
本文檔主要針對需要集成HTTP API的技術(shù)開發(fā)工程師,詳細描述個性化語音定制相關(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
溫馨提示:
個性化語音定制服務(wù),基于網(wǎng)易有道的語音識別技術(shù),通過上傳少量錄音,訓練語音引擎定制自己聲音模型,賦予產(chǎn)品聲音形象,可在讀小說、播音主持、講故事、客服服務(wù)等場景應(yīng)用。
服務(wù)主要分模型定制和模型調(diào)用兩部分。
調(diào)用方在集成個性化語音定制服務(wù)API時,請遵循以下規(guī)則。
規(guī)則 | 描述 |
---|---|
傳輸方式 | HTTPS |
請求方式 | GET或POST |
字符編碼 | 統(tǒng)一使用UTF-8 編碼 |
請求格式 | 表單 |
響應(yīng)格式 | JSON |
個性化語音定制調(diào)用地址:
https://openapi.youdao.com
格式支持:wav(不壓縮,pcm編碼,采樣率:推薦16k ,編碼:16bit位深的單聲道)
格式 | 代碼 |
---|---|
wav | wav |
創(chuàng)建語音包接口,通過語音包收集錄音,定制個性化音色模型
接口參數(shù):
參數(shù)名稱 | 類型 | 含義 | 是否必填 | 示例 |
---|---|---|---|---|
appKey | String | 應(yīng)用ID | True | 可在 應(yīng)用管理 查看 |
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 | 應(yīng)用ID | True | 可在 應(yīng)用管理 查看 |
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 //分貝
}
}
錄制語音,通過評測的音頻會賦予recordId并則錄入語音包
參數(shù)名稱 | 類型 | 含義 | 是否必填 | 示例 |
---|---|---|---|---|
appKey | String | 應(yīng)用ID | True | 可在 應(yīng)用管理 查看 |
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ù)),重復傳遞則覆蓋原有音頻 |
例子:
小鴨子讓它坐在自己的背上,順利上了岸
小鴨子正在水里捉魚,忽然聽見小公雞喊救命
烏鴉把小石子放進瓶子里,水漸漸升高
瓶子里水不多,瓶口又小,烏鴉喝不著水
一只烏鴉口渴了,到處找水喝
愛心的深層含義就是保護所有的動植物
荷葉像個碧綠的大圓盤。荷花在它之間冒出來
要是碰上陰雨天,大樹也會來幫忙
北極星是盞指路燈,它永遠高掛在北方
中午它在南邊,地上的樹影指向北方
桂樹還沒有開花,但風中已經(jīng)飄來甜絲絲的香氣
老師穿著長袍,頭發(fā)胡子全白了,看上去很有學問
杭州昨日正式入夏,較常年略早,昨天陽光早早上崗
安靜的連一根針掉下來的聲音都聽得見
我低著頭走出書店,腳站得有些麻木,我卻渾身輕松
它小巧玲瓏,一雙透亮靈活的眼睛下面,長著一張又尖又長的嘴
當蒲公英盛開的時候,這片草地就變成金色的了
那鮮艷的民族服裝,把學校打扮得更加絢麗多彩
人們佩服孔子和老子的學問,也敬重他們的品行
盡管它這樣機靈,還是難以逃脫翠鳥銳利的眼睛
{
"errorCode":"0",//錯誤碼
"msg":"success",//信息說明
"result":{
"recordingId":"V_7FFDF89DC01F40CFA8A478D7E3231WV9", //音頻合格,錄入語音包時有返回值
"score": "99.03", //評測得分
"guidance": , // 評測建議
"correctMessage": [], // 錯誤發(fā)音句中index
"packetId": "P_3F9AB85F37CE497B9A1483848ACCF56C" //語音包ID
}
}
啟動訓練,語音包中的錄音數(shù)量達標后,可以啟動訓練定制語音合成模型
參數(shù)名稱 | 類型 | 含義 | 是否必填 | 示例 |
---|---|---|---|---|
appKey | String | 應(yīng)用ID | True | 可在 應(yīng)用管理 查看 |
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", // 訓練任務(wù)id 啟動成功返回
"modelType":"vc", //模型類型
"modelStatus":"started", //模型狀態(tài)("started":訓練啟動,"failed":啟動失?。? "failedReason":"" // 失敗原因 啟動失敗返回
}
]
}
}
參數(shù)名稱 | 類型 | 含義 | 是否必填 | 示例 |
---|---|---|---|---|
appKey | String | 應(yīng)用ID | True | 可在 應(yīng)用管理 查看 |
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 | 訓練任務(wù)id | True | T_D2560E2DCF6E435EA7BEDD88AC88B9CC |
{
"errorCode":"0",//錯誤碼
"msg":"success",//信息說明
"result": {
"taskId":"T_D2560E2DCF6E435EA7BEDD88AC88B9CC", // 訓練任務(wù)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 | 應(yīng)用ID | True | 可在 應(yīng)用管理 查看 |
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 | 應(yīng)用ID | True | 可在 應(yīng)用管理 查看 |
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)ID | 狀態(tài)描述 |
---|---|
0 | 訓練任務(wù)啟動 |
1 | 訓練任務(wù)結(jié)束 |
2 | 訓練任務(wù)已終止 |
3 | 訓練任務(wù)失敗 |
4 | 語音包創(chuàng)建階段,訓練任務(wù)未啟動 |
錯誤碼 | 含義 |
---|---|
101 | 缺少必填的參數(shù),首先確保必填參數(shù)齊全,然后,確認參數(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 | 語音包異常:不存在或者已刪除或者不屬于當前devId |
116 | referenceSynthesisId已存在 |
201 | 解密失敗,可能為DES,BASE64,URLDecode的錯誤 |
202 | 簽名檢驗失敗 |
203 | 訪問IP地址不在可訪問IP列表 |
205 | 請求的接口與應(yīng)用的平臺類型不一致,確保接入方式(Android SDK、IOS SDK、API)與創(chuàng)建的應(yīng)用平臺類型一致。 |
206 | 因為時間戳無效導致簽名校驗失敗 |
207 | 重放請求 |
303 | 服務(wù)端的其它異常 |
401 | 賬戶已經(jīng)欠費停 |
402 | offlinesdk不可用 |
403 | 無權(quán)限 |
404 | 資源不存在 |
405 | auth服務(wù)不可用 |
411 | 訪問頻率受限,請稍后訪問 |
412 | 超過最大翻譯字符數(shù) |
VC001 | 不支持訓練類型 |
VC002 | 不支持性別類型 |
VC003 | 無有效ticket |
VC004 | 語音包創(chuàng)建失敗 |
VC005 | 語音包id不存在 |
VC006 | 環(huán)境音檢測失敗 |
VC007 | 語音包重訓練次數(shù)耗盡 |
VC008 | 當前存在訓練中的任務(wù) |
VC009 | 啟動訓練失敗 |
VC010 | 訓練任務(wù)id不存在 |
VC011 | 刪除語音包失敗 |
VC012 | 獲取語音包列表失敗 |
VC013 | 獲取訓練狀態(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 | 當日創(chuàng)建語音包到達上限 |
VC032 | 音頻時長錯誤 |
VC033 | userId和packetId不匹配 |
VC034 | 語音包錄制文本重復 |
VC036 | 獲取語音包詳情失敗 |
VC041 | 音量過高 |
VC042 | 音頻格式錯誤 |
VC043 | 音頻次序錯誤 |
VC044 | 音頻質(zhì)量過低 |
VC045 | 創(chuàng)建任務(wù)數(shù)超出限制(每天最多創(chuàng)建1000個訓練任務(wù)) |
VC046 | 音頻數(shù)量錯誤 |
VC047 | 不支持的啟動類型 |