Hi,您好,歡迎使用有道智云個性化語音定制接口服務。
本文檔主要針對需要集成HTTP API的技術開發(fā)工程師,詳細描述個性化語音定制相關的技術內容。
如果您有與我們商務合作的需求,可以通過以下方式聯(lián)系我們:
商務郵箱: AIcloud_Business@corp.youdao.com
如果您對文檔內容有任何疑問,可以通過以下幾種方式聯(lián)系我們:
客服QQ:1906538062
智云翻譯技術交流QQ 1群: 652880659
智云翻譯技術交流QQ 2群: 669384425
智云翻譯技術交流QQ 3群: 807539209
智云翻譯技術交流QQ 4群: 936752411
聯(lián)系郵箱: zhiyun@corp.youdao.com
溫馨提示:
個性化語音定制服務,基于網(wǎng)易有道的語音識別技術,通過上傳少量錄音,訓練語音引擎定制自己聲音模型,賦予產品聲音形象,可在讀小說、播音主持、講故事、客服服務等場景應用。 服務主要分模型定制和模型調用兩部分。
調用方在集成個性化語音定制服務API時,請遵循以下規(guī)則。
規(guī)則 | 描述 |
---|---|
傳輸方式 | HTTPS |
請求方式 | GET或POST |
字符編碼 | 統(tǒng)一使用UTF-8 編碼 |
請求格式 | 表單 |
響應格式 | JSON |
個性化語音定制調用地址:
https://openapi.youdao.com
格式支持:wav(不壓縮,pcm編碼,采樣率:推薦16k ,編碼:16bit位深的單聲道)
格式 | 代碼 |
---|---|
wav | wav |
接口uri:/customVoice/packet/create
請求方式:POST
接口說明:
創(chuàng)建語音包接口,通過語音包收集錄音,定制個性化音色模型
接口參數(shù):
參數(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 | 定制質量(1為低質量2為高質量) | False | 1或2(默認為1) |
響應結果
{
"errorCode":"0",//錯誤碼
"msg":"success",//信息說明
"result":{
"packetId":"P_24A59791123C49A9B498DCD1972803B3"//返回的語音包ID
}
}
接口uri:/customVoice/packet/measureNoise
請求方式:POST
接口說明:
語音包錄音前可以進行環(huán)境音檢測
接口參數(shù):
參數(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 //分貝
}
}
接口uri:/customVoice/packet/evaluateRecording
請求方式:POST
接口說明:
錄制語音,通過評測的音頻會賦予recordId并則錄入語音包
接口參數(shù):
參數(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ù)),重復傳遞則覆蓋原有音頻 |
例子:
高定(quality=2)20句文案如下:
小鴨子讓它坐在自己的背上,順利上了岸 小鴨子正在水里捉魚,忽然聽見小公雞喊救命 烏鴉把小石子放進瓶子里,水漸漸升高 瓶子里水不多,瓶口又小,烏鴉喝不著水 一只烏鴉口渴了,到處找水喝 愛心的深層含義就是保護所有的動植物 荷葉像個碧綠的大圓盤。荷花在它之間冒出來 要是碰上陰雨天,大樹也會來幫忙 北極星是盞指路燈,它永遠高掛在北方 中午它在南邊,地上的樹影指向北方 桂樹還沒有開花,但風中已經飄來甜絲絲的香氣 老師穿著長袍,頭發(fā)胡子全白了,看上去很有學問 杭州昨日正式入夏,較常年略早,昨天陽光早早上崗 安靜的連一根針掉下來的聲音都聽得見 我低著頭走出書店,腳站得有些麻木,我卻渾身輕松 它小巧玲瓏,一雙透亮靈活的眼睛下面,長著一張又尖又長的嘴 當蒲公英盛開的時候,這片草地就變成金色的了 那鮮艷的民族服裝,把學校打扮得更加絢麗多彩 人們佩服孔子和老子的學問,也敬重他們的品行 盡管它這樣機靈,還是難以逃脫翠鳥銳利的眼睛
響應結果
{
"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":"" // 失敗原因 啟動失敗返回
}
]
}
}
接口uri:/customVoice/model/checkStatus
請求方式:GET
接口說明: 查詢當前訓練任務狀態(tài)
接口參數(shù):
參數(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)建
}
}
接口uri:/customVoice/packet/delete
請求方式:POST
接口說明: 刪除指定語音包,同時會刪除包含錄音及訓練模型
接口參數(shù):
參數(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
}
接口uri:/customVoice/packet/detail
請求方式:GET
接口說明: 查詢所有創(chuàng)建的語音包基本信息
接口參數(shù):
參數(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)ID | 狀態(tài)描述 |
---|---|
0 | 訓練任務啟動 |
1 | 訓練任務結束 |
2 | 訓練任務已終止 |
3 | 訓練任務失敗 |
4 | 語音包創(chuàng)建階段,訓練任務未啟動 |
錯誤碼 | 含義 |
---|---|
101 | 缺少必填的參數(shù),首先確保必填參數(shù)齊全,然后,確認參數(shù)書寫是否正確。 |
102 | 不支持的語言類型 |
103 | 翻譯文本過長 |
104 | 不支持的API類型 |
105 | 不支持的簽名類型 |
106 | 不支持的響應類型 |
107 | 不支持的傳輸加密類型 |
108 | 應用ID無效,注冊賬號,登錄后臺創(chuàng)建應用和實例并完成綁定,可獲得應用ID和應用密鑰等信息 |
109 | batchLog格式不正確 |
110 | 無相關服務的有效實例,應用沒有綁定服務。注:某些服務的結果發(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 | 賬戶已經欠費停 |
402 | offlinesdk不可用 |
403 | 無權限 |
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 | 回調地址錯誤 |
VC023 | 未知合成任務 |
VC024 | 合成URL錯誤 |
VC025 | 獲取合成結果失敗 |
VC026 | 文件大小超限 |
VC027 | description超出限制 |
VC028 | name字段超出限制 |
VC029 | order字段取值錯誤 |
VC030 | text字段超限 |
VC031 | 當日創(chuàng)建語音包到達上限 |
VC032 | 音頻時長錯誤 |
VC033 | userId和packetId不匹配 |
VC034 | 語音包錄制文本重復 |
VC036 | 獲取語音包詳情失敗 |
VC041 | 音量過高 |
VC042 | 音頻格式錯誤 |
VC043 | 音頻次序錯誤 |
VC044 | 音頻質量過低 |
VC045 | 創(chuàng)建任務數(shù)超出限制(每天最多創(chuàng)建1000個訓練任務) |
VC046 | 音頻數(shù)量錯誤 |
VC047 | 不支持的啟動類型 |