开源地址:
https://github.com/Tencent/Fa…
近期咱们公布了微信同声传译小程序插件,收费凋谢微信 AI 团队在机器翻译、智能语音畛域的业界当先成绩,使开发者简便地在小程序中退出机器翻译、智能语音能力。
当初咱们开源齐全基于微信同声传译插件实现的面对面翻译小程序,以进一步升高小程序开发者应用插件的门槛。
小程序开发者参考面对面翻译开源实现,只须要调用几个简略 API,就能够实现一个翻译利用。
咱们的终极目标是:0 门槛搞定!!
插件性能
- 语音输入
- 语音合成
- 文本翻译
上面将展现如何应用插件“0 门槛”5 步轻松实现面对面翻译小程序。
step 1:增加插件
在应用前,须要登录官网 设置 → 第三方服务 → 增加插件
搜寻【微信同声传译】并增加
在须要应用插件的小程序 app.json 中指明须要应用的插件版本等信息
// app.json
{
...
"plugins": {
...
"WechatSI": {
"version": "0.0.6",
"provider": "wx069ba97219f66d99"
}
}
接下来,在 index.js 引入插件,获取全局惟一的语音辨认管理器 recordRecoManager
// index.js
const plugin = requirePlugin("WechatSI")
const manager = plugin.getRecordRecognitionManager()
step 2:语音输入
心愿做到的成果是按住某个按钮,开始辨认语音,松开按钮就完结辨认
<!-- index.wxml -->
<view catchtouchstart="streamRecord" catchtouchend="endStreamRecord"> 中文 </view>
// index.js
Page({data: {},
streamRecord: function() {
manager.start({lang: 'zh_CN',})
},
streamRecordEnd: function() {manager.stop()
}
})
step 3:绑定录音回调事件
<!-- index.wxml -->
<!-- 能够在页面上实时输入语音辨认后果 -->
<view> 语音辨认内容:{{currentText}}</view>
// page.js
Page({
data: {currentText: '',},
initRecord: function() {
// 有新的辨认内容返回,则会调用此事件
manager.onRecognize = (res) => {
let text = res.result
this.setData({currentText: text,})
}
// 辨认完结事件
manager.onStop = (res) => {
let text = res.result
if(text == '') {
// 用户没有谈话,能够做一下提醒解决...
return
}
this.setData({currentText: text,})
// 失去残缺辨认内容就能够去翻译了
this.translateTextAction()}
},
translateTextAction: function() {},
onLoad: function() {this.initRecord()
}
})
step 4:文本翻译
<!-- index.wxml -->
<view> 翻译后果:{{translateText}}</view>
// page.js
Page({
data: {
currentText: '',
translateText: '',
},
translateTextAction: function() {
let lfrom = 'zh_CN'
let lto = 'en_US'
plugin.translate({
lfrom: lfrom,
lto: lto,
content: this.data.currentText,
tts: true, // 须要合成语音
success: (resTrans)=>{
// 翻译能够失去 翻译文本,翻译文本的合成语音,合成语音的过期工夫
let text = resTrans.result
this.setData({translateText: text,})
// 失去合成语音让它自动播放进去
wx.playBackgroundAudio({
dataUrl: resTrans.filename,
title: '',
})
},
})
},
})
step 5:语音合成
plugin.translate 失去的语音文件是有过期工夫,能够 download 到本地应用。
如果像面对面翻译一样须要存比拟多历史记录的话,也能够抉择过期之后调用 plugin.textToSpeech 接口再去从新合成一次。
plugin.textToSpeech({
lang: 'zh_CN',
content: '我想从新进行语音合成',
success: resTrans => {// 能够重新得到语音合成文件和过期工夫},
})
小程序开发者参考面对面翻译开源实现,只须要调用几个简略 API,就能够实现一个蕴含有语音输入、语音合成、文本翻译的利用。
0 门槛搞定!!
想尝试微信语音输入、微信翻译的小程序开发同学们,连忙口头吧!
本文转自微信后盾团队, 如有进犯, 请分割咱们立刻删除
OpenIMgithub 开源地址:
https://github.com/OpenIMSDK/…
OpenIM 官网: https://www.rentsoft.cn
OpenIM 官方论坛: https://forum.rentsoft.cn/
更多技术文章:
开源 OpenIM:高性能、可伸缩、易扩大的即时通讯架构
https://forum.rentsoft.cn/thr…
【OpenIM 原创】简略轻松入门 一文解说 WebRTC 实现 1 对 1 音视频通信原理
https://forum.rentsoft.cn/thr…
【OpenIM 原创】开源 OpenIM:轻量、高效、实时、牢靠、低成本的音讯模型
https://forum.rentsoft.cn/thr…