百度翻译 API
  1. 语音翻译
百度翻译 API
  • 服务协议
  • 未命名文档
  • SDK隐私政策
  • 快速入门
    • 平台介绍
    • 注册账号
    • 接入服务
  • 开发者文档
    • 通用翻译
      • 接入举例
      • 语种列表
      • 词典、语音合成资源
      • 自定义术语库
      • 常见问题
      • 通用翻译API接入文档
    • 垂直领域
      • 接入举例
      • 语种列表
      • 错误码列表
      • 垂直领域API接入文档
    • 文档翻译
      • 翻译服务通知回调
      • 语种列表
      • 错误码列表
      • 统计校验服务
      • 翻译服务
    • 语音识别
      • 接入示例
      • 错误码列表
      • 语种识别API接入文档
    • 图片翻译
      • 语种列表
      • 错误码列表
      • SDK接入方式
      • 图片翻译API接入文档
    • 语音翻译
      • 语种列表
      • 错误码
      • SDK接入方式
      • 语音翻译 API 接入文档
        POST
  • 常见问题
    • 账号相关
    • 财务相关
  • 特色功能
    • 同步保存网盘
  1. 语音翻译

语音翻译 API 接入文档

POST
https://fanyi-api.baidu.com/api/trans/v2/voicetrans

语音翻译 API 接入文档#

本文档是百度翻译开放平台语音翻译API的用户指南,描述了语音翻译相关接口的说明。API接入方式对于IOS端、Android端、Web端均适用。新版本不再提供语音翻译SDK服务,已经接入的用户可下拉至本文档末尾查看SDK错误码列表。

接口限制:#

需要上传完整的录音文件,录音文件时长不超过 60 秒
音频编码要求:采样率 16000、8000,16 bit 位深,单声道
支持音频语种及格式:

语种 格式 中文、粤语 pcm、wav、amr、m4a 英语、日语、韩语、俄语、德语、法语、泰语、葡萄牙语、西班牙语、阿拉伯语 pcm#

音频格式说明:#

pcm(无损音频格式):也称为 raw 格式。音频输入最原始的格式,不用解码。
wav(无损音频格式,pcm 编码):在 pcm 格式的开头额外包含一段描述采样率、编码等信息的编码。
amr(有损压缩格式):对音频数据进行有损压缩,类似 mp3 文件。
m4a(有损压缩格式,AAC 编码):对音频数据进行有损压缩,通常仅供微信小程序使用的格式。
由于底层识别使用的是 pcm 格式,因此推荐直接上传 pcm 格式。若上传其它格式,在服务器端会有额外转换为 pcm 格式的工作,从而增加一定的调用耗时。

API接入方式(IOS端、Android端、Web端均适用)#

如何使用语音翻译API#

1.使用您的百度账号登录百度翻译开放平台;
2.注册成为开发者,获得APPID;
3.进行开发者认证;
4.开通语音翻译API服务:开通链接;
5.参考技术文档和Demo编写代码。

请求签名 X-Sign 计算方法#

1.
将音频文件进行base64编码,得到音频编码 ,即用于请求参数中的 voice 字段
2.
拼接字符串: X-Appid + X-Timestamp + voice
3.
使用 hmac_sha256 加密算法对(2)中的字符串进行加密,并得到base64格式的签名(因为hmac一般得到的是二进制字节流),做为 X-Sign 。hmac_sha256 的密钥来自于使用翻译开放平台分配的密钥,(可在 管理控制台 - 开发者信息获得)

#

示例#

appid = '2015063000000001'  # 请替换为您的APP ID
timestamp = '1646034877'  # 10位Unix时间戳
voice_bytes = b'00010101011101010101'
secret_key = 'XWG7Gyj'  # 翻译开放平台分配的密钥
# step1: base64编码音频文件
voice = base64encode(voice_bytes)
# step2: 得到待加密的字符串
msg = appid + timestamp + voice
# step3: 加密得到签名,作为`X-Sign`。若hmac得到的是二进制字节,需要进行base64编码
sign = base64encode(hmac_sha256(secret=secret_key, message=msg))

各语言hmac_sha256加密方法参考:#

hmac_sha256加密方法(点击下载)
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://fanyi-api.baidu.com/api/trans/v2/voicetrans' \
--header 'Content-Type: application/json' \
--data-raw '{
"from": "en",
"to": "zh",
"format":"pcm",
"voice": "W3NvdXJjZSBhdWRpbyBieXRlc10K"
}'
响应示例响应示例
200 - 成功 - 成功示例
{
  "code": 0,
  "msg": "Success",
  "data": {
    "source": "今天天气不错。",
    "target": "It's a nice day today.",
    "target_tts": "W2F1ZGlvIGJ5dGVzXQo="
  }
}

请求参数

Header 参数
Content-Type
string 
可选
示例值:
application/json
X-Appid
string 
可选
APPID从管理控制台中获得
示例值:
appid
X-Timestamp
string 
可选
Unix时间戳(10位)
示例值:
1642331332
X-Sign
string 
可选
请求签名。请参考 请求签名计算方法 小节
示例值:
i1b/6Ml/NxhEhOnsiQIK7nqsPH/avhhlHgfpo84lJC8=
Body 参数application/json
from
string 
源语言的语言代码,具体参考语种列表
必需
to
string 
目标语言的语言代码,具体考语种列表
必需
format
string 
语音文件二进制数据,base64编码
必需
voice
string 
音频文件格式。请参考语言列表和音频格式。需上传完整的音频数据,包含的音频时长不超过 60 秒,并且数据大小不超过4MB(base64编码前)
必需
示例

返回响应

🟢200成功
application/json
Body
code
integer 
必需
错误码 0:成功 非0:失败
msg
string 
错误信息
必需
data
object 
必需
结果结构,当且仅当code为 0 时存在
source
string 
语音识别的原文
必需
target
string 
翻译后的译文
必需
target_tts
string 
必需
译文 TTS,base64数据
🟢200异常
修改于 2022-07-01 08:22:31
上一页
SDK接入方式
下一页
账号相关
Built with