五月天综合,欧美一区二区三区在线观看视频,久久中文字幕乱码久久午夜加勒比 ,亚洲一区 视频 在线

幫助與文檔 > 產(chǎn)品文檔 > 自然語言翻譯服務(wù) > API文檔 > 語音翻譯
語音翻譯

語音翻譯 API 簡介

概念解釋

語音翻譯:將一段源語言音頻文件轉(zhuǎn)換成目標(biāo)語言文本/語音,大大減輕傳統(tǒng)文本翻譯的讀寫成本,翻譯更輕松

說明

Hi,您好,歡迎使用有道智云語音翻譯API接口服務(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)用密鑰;如果您還沒有,請按照新手指南獲取。
  • 平臺向每個(gè)賬戶贈送50元的體驗(yàn)金,供用戶集成前測試所用,具體資費(fèi)規(guī)則詳見 語音翻譯服務(wù)報(bào)價(jià) 。

接口說明

語音翻譯API接口提供有道的語音翻譯服務(wù),包含了中文和其他有道自有語種的互譯功能。您只需要通過調(diào)用有道語音翻譯API,傳入待翻譯的音頻文件,并指定要翻譯的源語言(支持源語言語種自動檢測)和目標(biāo)語言種類,以POST方式請求就可以得到相應(yīng)的翻譯結(jié)果。

有道語音翻譯API HTTPS地址:

https://openapi.youdao.com/speechtransapi

注:上傳的語音文件時(shí)長不能超過15s,文件大小不能超過2M。

協(xié)議須知

調(diào)用方在集成語音翻譯API時(shí),請遵循以下規(guī)則。

規(guī)則 描述
傳輸方式 HTTPS
請求方式 POST
字符編碼 統(tǒng)一使用 UTF-8 編碼
請求格式 表單
響應(yīng)格式 JSON

接口調(diào)用參數(shù)

調(diào)用API需要向接口發(fā)送以下字段來訪問服務(wù)。

字段名 類型 含義 必填 備注
q text 要翻譯的音頻文件的Base64編碼字符串 True 必須是UTF-8編碼
from text 源語言 True 參考下方的 支持語言
to text 目標(biāo)語言 True 參考下方的 支持語言
appKey text 應(yīng)用ID True 可在應(yīng)用管理 查看
salt text UUID True uuid,唯一通用識別碼
sign text 簽名 True sha256(應(yīng)用ID+input+salt+curtime+應(yīng)用密鑰)
signType text 簽名類型 True v3
format text 語音文件的格式, 目前只支持wav/mp3,區(qū)分大小寫 true wav/mp3
rate text 采樣率,推薦 16000 采用率 true 16000
channel text 聲道數(shù), 僅支持單聲道,請?zhí)顚懝潭ㄖ? true 1
type text 上傳類型, 僅支持Base64上傳,請?zhí)顚懝潭ㄖ? true 1
ext text 翻譯結(jié)果音頻格式,支持mp3,默認(rèn)mp3 false mp3
voice text 翻譯結(jié)果發(fā)音選擇 false 0為女聲,1為男聲。默認(rèn)為女聲
version text 接口版本 false v1

簽名生成方法如下: signType=v3; sign=sha256(應(yīng)用ID+input+salt+curtime+應(yīng)用密鑰); 其中,input的計(jì)算方式為:input=q前10個(gè)字符 + q長度 + q后10個(gè)字符(當(dāng)q長度大于20)或 input=q字符串(當(dāng)q長度小于等于20);

注意:

  1. 請先將需要識別的音頻文件轉(zhuǎn)換為 Base64 編碼。
  2. 在發(fā)送HTTP請求之前需要對各字段做 URL encode。
  3. 在生成簽名拼接 應(yīng)用ID+q+salt+應(yīng)用密鑰 字符串時(shí),q 不需要做 URL encode,在生成簽名之后,發(fā)送 HTTP 請求之前才需要對要發(fā)送的 q 做URL encode。
  4. 簽名和請求有疑問,可以參考文檔最后的常用語言demo。

輸出結(jié)果

返回的結(jié)果是json格式,包含字段與FROM和TO的值有關(guān),具體說明如下:

字段 含義
tSpeakUrl 翻譯結(jié)果發(fā)音地址,翻譯成功一定存在
errorCode 翻譯結(jié)果錯(cuò)誤碼,一定存在
query 源語言文本,翻譯成功一定存在
translation 翻譯結(jié)果,翻譯成功一定存在
dict text,詞典deeplink
webdict text,詞典web deeplink
speakUrl 源語言發(fā)音地址,翻譯成功一定存在

示例

使用good單詞查詢作為示例進(jìn)行說明:

發(fā)送請求,調(diào)用接口:

{
    "q":"xxx",    //xxx為音頻的base64編碼
    "salt":123,
    "docType":"json",
    "format":"wav",
    "channel":1,
    "sign":"ACE8373C54C82A9C793A480B55138F3E",
    "type":1,
    "version":"v1",
    "rate":16000,
    "signType":"v1",
    "appKey":"test",
    "from":"zh-CHS",
    "to":"en"
}

輸出結(jié)果與FROM和TO的值有關(guān):

如果源語言和目標(biāo)語言一致,直接返回識別結(jié)果。

若不一致,按如下格式返回如下結(jié)果:

{
    "tSpeakUrl": "https://openapi.youdao.com/ttsapi?q=北京科技館&langType=en&sign=40133A29285AD7F85D62DC9EBFE36955&salt=1512458805233&appKey=apiTest",    //翻譯結(jié)果發(fā)音地址,翻譯成功一定存在
    "query": "北京科技館",    //識別結(jié)果,翻譯成功一定存在
    "translation": [
        "Beijing science and technology museum"
    ],    //翻譯結(jié)果
    "errorCode": "0",    //錯(cuò)誤碼。一定存在
    "dict": {
        "url": "yddict://m.youdao.com/dict?le=eng&q=%E5%8C%97%E4%BA%AC%E7%A7%91%E6%8A%80%E9%A6%86"
    },    //詞典deeplink
    "webdict": {
        "url": "http://m.youdao.com/dict?le=eng&q=%E5%8C%97%E4%BA%AC%E7%A7%91%E6%8A%80%E9%A6%86"
    },    //webdict deeplink
    "speakUrl": "https://openapi.youdao.com/ttsapi?q=%E5%8C%97%E4%BA%AC%E7%A7%91%E6%8A%80%E9%A6%86&langType=zh-CHS&sign=25FA4EFF0F453867B8D5EAD9C0EF5D07&salt=1512458805232&appKey=zhudytest123"    //源語言發(fā)音地址
}

支持語言

英文名 中文名 代碼
Mandarin (China) 中文 zh-CHS
English (US) 英文 en
English (Australia) 英文(澳大利亞) en-AUS
English (GB) 英文(英國) en-GBR
English (India) 英文(印度) en-IND
Japanese 日文 ja
Korean 韓文 ko
French 法文 fr
Spanish 西班牙文 es
Portuguese (Portugal) 葡萄牙文 pt
Russian 俄文 ru
German 德文 de
Arabic 阿拉伯文 ar
Indonesian 印尼文 id
Catalan 加泰隆語 ca
Czech 捷克語 cs
Danish 丹麥語 da
Greek 希臘語 el
Finnish 芬蘭語 fi
French (Canada) 法語(加拿大) fr-CAN
Hebrew 希伯來語 he
Hindi 印地語 hi
Hungarian 匈牙利語 hu
Italian 意大利語 it
Dutch 荷蘭語 nl
Norwegian 挪威語 no
Polish 波蘭語 pl
Portuguese (Brazil) 葡萄牙語(巴西) pt-BRA
Romanian 羅馬尼亞語 ro
Slovak 斯洛伐克語 sk
Swedish 瑞典語 sv
Thai 泰語 th
Turkish 土耳其語 tr
Cantonese 粵語 yue
Mandarin (Taiwan) 普通話(中國臺灣) zh-TWN

注意

  1. 越南語和印尼語目前只支持和中文的互譯。
  2. 支持自動識別的語種包括:中文、英文。
  3. 若列表語言出現(xiàn)不支持的問題,請參考產(chǎn)品定價(jià)列表語種互譯的限制

語音支持

格式支持:wav格式 / mp3格式(不壓縮、pcm編碼)。

采樣率:推薦16k。

編碼:16bit位深的單聲道

格式 代碼
wav wav
mp3 mp3

服務(wù)配置

支持格式 音頻大小上限 單次最大請求時(shí)長(s) 每小時(shí)最大查詢次數(shù) 支持語言
wav/mp3 2M(編碼后) 15 3000 中/英/日/韓等,詳見支持的語言列表

錯(cuò)誤代碼列表

錯(cuò)誤碼 含義
101 缺少必填的參數(shù),首先確保必填參數(shù)齊全,然后,確認(rèn)參數(shù)書寫是否正確。
102 不支持的語言類型
103 翻譯文本過長
104 不支持的API類型
105 不支持的簽名類型
106 不支持的響應(yīng)類型
107 不支持的傳輸加密類型
108 應(yīng)用ID無效,注冊賬號,登錄后臺創(chuàng)建應(yīng)用和實(shí)例并完成綁定,可獲得應(yīng)用ID和應(yīng)用密鑰等信息
109 batchLog格式不正確
110 無相關(guān)服務(wù)的有效實(shí)例,應(yīng)用沒有綁定服務(wù)實(shí)例,可以新建服務(wù)實(shí)例,綁定服務(wù)實(shí)例。注:某些服務(wù)的翻譯結(jié)果發(fā)音需要tts實(shí)例,需要在控制臺創(chuàng)建語音合成實(shí)例綁定應(yīng)用后方能使用。
111 開發(fā)者賬號無效
112 請求服務(wù)無效
113 q不能為空
114 不支持的圖片傳輸方式
201 解密失敗,可能為DES,BASE64,URLDecode的錯(cuò)誤
202 簽名檢驗(yàn)失敗,如果確認(rèn)應(yīng)用ID和應(yīng)用密鑰的正確性,仍返回202,一般是編碼問題。請確保翻譯文本 q 為UTF-8編碼.
203 訪問IP地址不在可訪問IP列表
205 請求的接口與應(yīng)用的平臺類型不一致,確保接入方式(Android SDK、IOS SDK、API)與創(chuàng)建的應(yīng)用平臺類型一致。如有疑問請參考入門指南
206 因?yàn)闀r(shí)間戳無效導(dǎo)致簽名校驗(yàn)失敗
207 重放請求
301 辭典查詢失敗
302 翻譯查詢失敗
303 服務(wù)端的其它異常
304 會話閑置太久超時(shí)
401 賬戶已經(jīng)欠費(fèi)停
402 offlinesdk不可用
411 訪問頻率受限,請稍后訪問
412 長請求過于頻繁,請稍后訪問
1001 無效的OCR類型
1002 不支持的OCR image類型
1003 不支持的OCR Language類型
1004 識別圖片過大
1201 圖片base64解密失敗
1301 OCR段落識別失敗
1411 訪問頻率受限
1412 超過最大識別字節(jié)數(shù)
2003 不支持的語言識別Language類型
2004 合成字符過長
2005 不支持的音頻文件類型
2006 不支持的發(fā)音類型
2201 解密失敗
2301 服務(wù)的異常
2411 訪問頻率受限,請稍后訪問
2412 超過最大請求字符數(shù)
3001 不支持的語音格式
3002 不支持的語音采樣率
3003 不支持的語音聲道
3004 不支持的語音上傳類型
3005 不支持的語言類型
3006 不支持的識別類型
3007 識別音頻文件過大
3008 識別音頻時(shí)長過長
3009 不支持的音頻文件類型
3010 不支持的發(fā)音類型
3201 解密失敗
3301 語音識別失敗
3302 語音翻譯失敗
3303 服務(wù)的異常
3411 訪問頻率受限,請稍后訪問
3412 超過最大請求字符數(shù)
4001 不支持的語音識別格式
4002 不支持的語音識別采樣率
4003 不支持的語音識別聲道
4004 不支持的語音上傳類型
4005 不支持的語言類型
4006 識別音頻文件過大
4007 識別音頻時(shí)長過長
4201 解密失敗
4301 語音識別失敗
4303 服務(wù)的異常
4411 訪問頻率受限,請稍后訪問
4412 超過最大請求時(shí)長
5001 無效的OCR類型
5002 不支持的OCR image類型
5003 不支持的語言類型
5004 識別圖片過大
5005 不支持的圖片類型
5006 文件為空
5201 解密錯(cuò)誤,圖片base64解密失敗
5301 OCR段落識別失敗
5411 訪問頻率受限
5412 超過最大識別流量
9001 不支持的語音格式
9002 不支持的語音采樣率
9003 不支持的語音聲道
9004 不支持的語音上傳類型
9005 不支持的語音識別 Language類型
9301 ASR識別失敗
9303 服務(wù)器內(nèi)部錯(cuò)誤
9411 訪問頻率受限(超過最大調(diào)用次數(shù))
9412 超過最大處理語音長度
10001 無效的OCR類型
10002 不支持的OCR image類型
10004 識別圖片過大
10201 圖片base64解密失敗
10301 OCR段落識別失敗
10411 訪問頻率受限
10412 超過最大識別流量
11001 不支持的語音識別格式
11002 不支持的語音識別采樣率
11003 不支持的語音識別聲道
11004 不支持的語音上傳類型
11005 不支持的語言類型
11006 識別音頻文件過大
11007 識別音頻時(shí)長過長,最大支持30s
11201 解密失敗
11301 語音識別失敗
11303 服務(wù)的異常
11411 訪問頻率受限,請稍后訪問
11412 超過最大請求時(shí)長
12001 圖片尺寸過大
12002 圖片base64解密失敗
12003 引擎服務(wù)器返回錯(cuò)誤
12004 圖片為空
12005 不支持的識別圖片類型
12006 圖片無匹配結(jié)果
13001 不支持的角度類型
13002 不支持的文件類型
13003 表格識別圖片過大
13004 文件為空
13301 表格識別失敗
15001 需要圖片
15002 圖片過大(1M)
15003 服務(wù)調(diào)用失敗
17001 需要圖片
17002 圖片過大(1M)
17003 識別類型未找到
17004 不支持的識別類型
17005 服務(wù)調(diào)用失敗

音頻切換

本部分描述如何把其他格式的音頻轉(zhuǎn)成符合語音識別輸入要求的格式文件。

語音識別底層使用的是wav格式,因此推薦使用wav格式音頻。音頻格式轉(zhuǎn)換推薦使用ffmpeg。

PCM文件音頻介紹

pcm保存的是未壓縮的音頻信息,沒有頭文件

16bits編碼是指每次采樣信息用2個(gè)字節(jié)保存。

16000采樣率,是指1秒采樣16000次,常見的音頻是44100HZ,即一秒采樣44100次。

單聲道: 只有一個(gè)聲道。

根據(jù)這些信息,可以得出:

1ms的16采樣率音頻文件大小是 2*16 = 32字節(jié) 。

1ms的8采樣率音頻文件大小是 2*8 = 16字節(jié),由此即可得到音頻的長度。

ffmpeg簡介

ffmpeg是一個(gè)自由軟件,可以運(yùn)行音頻、視頻多種格式的錄影、轉(zhuǎn)換、流功能,包含libavcodec--這是一個(gè)用于多個(gè)項(xiàng)目中的音頻、視頻的解碼器庫,以及l(fā)ibavformat--一個(gè)音頻和視頻格式轉(zhuǎn)換庫。

ffmpeg官網(wǎng):https://www.ffmpeg.org/

ffmpeg的github地址:https://github.com/FFmpeg/FFmpeg

ffmpeg編譯參數(shù)

ffmpeg默認(rèn)支持pcm和wav(pcm編碼)格式,額外的編譯參數(shù)如下:

—enable-libopencore-amrnb 支持amr-nb(8000 采樣率) 讀寫

—enable-libopencore-amrwb 支持amr-wb(16000 采樣率) 讀取

—enable-libvo-amrwbenc 支持amr-wb(16000 采樣率) 寫入

—enable-libmp3lame 支持mp3 寫入

ffmpeg -codecs 可以查看所有的格式:

    D..... = Decoding supported  # 讀取
    .E.... = Encoding supported  # 寫入
    ..A... = Audio codec      # 音頻編碼
    ....L. = Lossy compression # 有損
    .....S = Lossless compression # 無損
    DEA..S pcm_s16le    PCM signed 16-bit little-endian
    DEA.LS wavpack      WavPack
    DEA.L. mp3          MP3 (MPEG audio layer 3)
    DEA.L. amr_nb       AMR-NB (Adaptive Multi-Rate NarrowBand)
    DEA.L. amr_wb       AMR-WB (Adaptive Multi-Rate WideBand)

主要參數(shù)

-i 設(shè)定輸入流

-f 設(shè)定格式

-ss 開始時(shí)間

wav、mp3、amr格式都自帶頭部,包含采樣率、編碼、多聲道等信息。而pcm為原始音頻信息,沒有頭部信息。wav(pcm編碼)就是pcm文件加了wav的頭部信息。

輸入wav、mp3、amr:

-i audio.wav/audio.mp3/audio.amr

輸入pcm格式:pcm需要額外告知編碼格式,采樣率,單聲道信息

-f s16le -ac 1 -ar 16000 -i 16k.pcm //單聲道、16000采樣率、16bits編碼的pcm文件

音頻參數(shù)

-ar 設(shè)定采樣率

-ac 設(shè)定聲音的channel數(shù)

-acodec 設(shè)定聲音編解碼器,未設(shè)定時(shí)則使用與輸入流相同的編解碼器

-an 不處理音頻

-ab 設(shè)置比特率(單位:bit/s,也許老版是kb/s),前面ac設(shè)置為立體聲時(shí)要以一半的比特率來設(shè)置,比如192kbps的就設(shè)置為96,轉(zhuǎn)換默認(rèn)比特率都較小,要聽到高品質(zhì)聲音的話建議設(shè)到160kbps(80)以上。

在原始采樣率 大于或者接近16000的時(shí)候,推薦使用16000,8000采樣率會降低識別效果。

輸出wav和amr時(shí),如果沒有指定聲音編解碼器,則會選擇默認(rèn)的編碼器。

輸出pcm:

-f s16le -ac 1 -ar 16000 16k.pcm // 單聲道 16000 采樣率 16bits編碼 pcm文件

輸出wav:

-ar 1 -ar 16000 16k.wav //單聲道 16000 采樣率 16bits編碼 pcm編碼的wav文件

amr-nb:全稱是:Adaptive Multi-Rate,自適應(yīng)多速率,是一種音頻編碼文件格式,專用于有效地壓縮語音頻率。amr-nb格式只能選 8000采樣率。bit rates越高音質(zhì)越好,但是文件越大

bit rates 4.75k, 5.15k, 5.9k, 6.7k, 7.4k, 7.95k, 10.2k or 12.2k

輸出 amr-wb 格式,采樣率 16000。 bit rates越高音質(zhì)越好,但是文件越大。

6600 8850 12650 14250 15850 18250 19850 23050 23850

常用參數(shù)

-y 覆蓋同名文件

-v 日志輸出 基本如-v ERROR -v quiet等

轉(zhuǎn)換命令示例

ffmpeg {常用參數(shù)} {輸入音頻參數(shù)} {輸出音頻參數(shù)}

  • wav 文件轉(zhuǎn) 16k 16bits 位深的單聲道pcm文件

ffmpeg -y -i 16k.wav -acodec pcm_s16le -f s16le -ac 1 -ar 16000 16k.pcm

  • pcm文件轉(zhuǎn)wav:

ffmpeg -y -f s16le -ar 16000 -ac 1 -acodec pcm_s16le 16k.pcm 16k.wav

  • m4a文件轉(zhuǎn)16k 16bits 位深的單聲道pcm文件

D:\ffmpeg\bin>ffmpeg -y -i test.m4a -acodec pcm_s16le -f s16le -ac 1 -ar 16000 16k.pcm

常用語言 Demo

Java 示例

語音翻譯 Java demo

Python3 示例

語音翻譯 python demo

C#示例

語音翻譯 c# demo

PHP 示例

語音翻譯 php demo

go 示例

語音翻譯 go demo