• 微信同声传译
    • 体验入口
    • 语音输入
      • recordRecoManager
    • 文本翻译
      • translate(OBJECT)
    • 语音合成
      • textToSpeech(OBJECT)
  • 版本要求
  • 配额说明
    • 配额申请模版

    微信同声传译

    微信同声传译插件是微信自研的语音输入,文本翻译等功能的插件封装,用于提供给第三方小程序调用。

    体验入口

    微信同声传译 - 图1

    语音输入

    提供语音的实时流式识别能力。通过获取全局唯一的语音识别管理器recordRecoManager实现

    recordRecoManager

    recordRecoManager 对象的方法列表:

    方法参数说明
    startoptions开始识别
    stop结束识别
    onStartcallback正常开始录音识别时会调用此事件
    onRecognizecallback有新的识别内容返回,则会调用此事件
    onStopcallback识别结束事件
    onErrorcallback识别错误事件

    start(options)说明:

    属性类型必填默认值说明
    durationNumber60000指定录音的时长,单位ms,最大为60000。如果传入了合法的 duration ,在到达指定的 duration 后会自动停止录音
    langStringzh_CN识别的语言,目前支持zh_CN**en_USzh_HKsichuanhua**

    onStart(callback)回调结果说明:

    属性类型说明
    msgString默认Ok

    onStop(callback)回调结果说明:

    属性类型说明
    tempFilePathString录音临时文件地址
    durationNumber录音总时长,单位: ms
    fileSizeNumber文件大小,单位: B
    resultString最终识别结果

    onError(callback)回调结果说明:

    属性类型说明
    retcodeInt错误码
    msgString错误信息

    onRecognize(callback)回调结果说明:

    属性类型说明
    resultString识别结果

    onError错误码说明:

    错误码说明
    -30001录音接口出错
    -30002录音暂停接口被调用,录音终止,识别终止
    -30003录音帧数据未产生或者发送失败导致的数据传输失败
    -30004因网络或者其他非正常状态导致的未查询识别结果
    -30005语音识别服务内部错误
    -30006语音识别服务未在限定时间内识别完成
    -30007start启动参数错误
    -30008查询请求时网络失败
    -30009创建鉴权内部失败
    -30010发送鉴权时网络失败
    -30011试图在识别正在进行中是再次调用start,返回错误,正在进行的识别任务正常进行
    -30012当前无识别任务进行时调用stop错误
    -30013其他未知错误
    -40001达到接口调用频率限制

    示例代码:

    1. //app.json
    2. {
    3. ...
    4. "plugins": {
    5. ...
    6. "WechatSI": {
    7. "version": "0.0.7",
    8. "provider": "wx069ba97219f66d99"
    9. }
    10. }
    11. }
    12. //index.js
    13. var plugin = requirePlugin("WechatSI")
    14. let manager = plugin.getRecordRecognitionManager()
    15. manager.onRecognize = function(res) {
    16. console.log("current result", res.result)
    17. }
    18. manager.onStop = function(res) {
    19. console.log("record file path", res.tempFilePath)
    20. console.log("result", res.result)
    21. }
    22. manager.onStart = function(res) {
    23. console.log("成功开始录音识别", res)
    24. }
    25. manager.onError = function(res) {
    26. console.error("error msg", res.msg)
    27. }
    28. manager.start({duration:30000, lang: "zh_CN"})

    文本翻译

    文本翻译目前支持的语言有 zh_CN(中国大陆) en_US(英语)

    translate(OBJECT)

    translate(object)说明:

    参数名类型必填说明
    lfromString文本语言 zh_CN(中国大陆) en_US(英语)
    ltoString目标语言 zh_CN(中国大陆) en_US(英语)
    contentString需要被翻译的文本内容,后台限制1000字节大小
    ttsBoolean是否对翻译结果进行语音合成,默认为false,不进行语音合成
    successFunction调用成功时触发的callback
    failFunction调用失败时触发的callback
    completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

    success(callback)回调结果说明

    属性类型说明
    retcodeIntretcode == 0 时翻译成功
    originString原始文本
    resultString翻译结果
    filenameString语音合成返回的语音地址,仅支持合成中文语音
    expired_timeInt语音合成链接超时时间戳 如1525930552超时后无法播放,可使用时间为3小时

    success返回码说明:翻译成功,合成失败时调用success回调

    状态码说明
    0翻译合成成功
    -10006翻译成功,合成内部错误
    -10007翻译成功,传入了不支持的语音合成语言
    -10008翻译成功,语音合成达到频率限制

    fail(callback)回调结果说明

    属性类型说明
    retcodeInt错误码
    msgString错误信息

    fail错误码说明:

    错误码说明
    -10001语言检查错误
    -10002输入的待翻译内容格式不正确
    -10003传入过长的待翻译文本内容
    -10004翻译内部逻辑错误
    -10005请求发送失败,请检查网络
    -40001接口调用频率达到限制,请联系插件开发者

    示例代码

    1. plugin.translate({
    2. lfrom:"en_US",
    3. lto:"zh_CN",
    4. content:"hello, this is the first time to test?",
    5. success: function(res) {
    6. if(res.retcode == 0) {
    7. console.log("result", res.result)
    8. } else {
    9. console.warn("翻译失败", res)
    10. }
    11. },
    12. fail: function(res) {
    13. console.log("网络失败",res)
    14. }
    15. })

    语音合成

    语音合成支持的语言有 zh_CN(中国大陆),en_US(英文)

    textToSpeech(OBJECT)

    textToSpeech(object)说明:

    参数名类型必填说明
    langString文本语言 zh_CN(中国大陆)en_US(英文)
    contentString需要被翻译的文本内容,后台限制1000字节大小
    successFunction调用成功时触发的callback
    failFunction调用失败时触发的callback

    success(callback)回调结果说明

    属性类型说明
    retcodeIntretcode == 0 时请求成功
    originString原始文本
    filenameString语音合成返回的语音地址,可自行下载使用
    expired_timeInt语音合成链接超时时间戳 如1525930552,超时后无法播放,可使用时间为3小时

    success返回码说明:

    状态码说明
    0语音合成成功

    fail(callback)回调结果说明

    属性类型说明
    retcodeInt错误码
    msgString错误信息

    fail错误码说明:

    错误码说明
    -20001语音合成语言格式出错
    -20002输入的待合成格式不正确
    -20003语音合成内部错误
    -20005网络错误
    -40001接口调用频率达到限制,请联系插件开发者

    示例代码

    1. plugin.textToSpeech({
    2. lang: "zh_CN",
    3. tts: true,
    4. content: "一个常见的需求",
    5. success: function(res) {
    6. console.log("succ tts", res.filename)
    7. },
    8. fail: function(res) {
    9. console.log("fail tts", res)
    10. }
    11. })

    版本要求

    基础库版本 >= 1.9.94

    • 使用插件,需要基础库版本 >= 1.9.6
    • 插件内调用wx.getRecorderManager接口,需要基础库版本 >= 1.9.94

    配额说明

    由于资源限制,当前各个接口调用存在配额限制,如业务有特殊更多需求,请邮箱联系roytianzou@tencent.com申请,邮件配额模版如下。语音输入配额:每个小程序250条/分钟,3w条/天。文本翻译配额:每个小程序500次/分钟,10w次/天。语音合成配额:每个小程序100次/分钟,2w次/天。

    配额申请模版

    公司简介:(个人则填写个人)

    小程序简介:

    小程序appid:

    申请接口名:

    当前用户量:(当前未上线可填无)

    当前调用量:(当前未上线可填无)

    申请配额: xx 次/分钟, xx次/天。

    合理的配额推导(请提供使用场景,预期用户量,用户使用频率,高峰时段,平均时长/字数):