微信小程序语音识别、语音合成(微信同声传译)使用代码实例

最近在开发一款“单词大作战”的微信小程序,想增加语音识别、语音合成这2个功能。(让用户能听到单词的读音,并对比自己读音是否标准正确)。

查了一下资料,大概有几种方式:用百度翻译(需要配置后台来转发)、讯飞(听说效果最好,但好像要收费并要配置后台来转发 )。还有用微信同声传译插件。

微信同声传译插件使用最方便,目前功能还是尽善尽美,但一直在升级,是个人开发者不错的选择。用微信扫描下面小程序可以体验语音合成和语音识别的功能:

 

 

官方的开发文档:https://mp.weixin.qq.com/wxopen/plugindevdoc?appid=wx069ba97219f66d99&token=251348119&lang=zh_CN

使用步骤:

1、 在微信公众平台配置,找到设置–第三方设置–插件管理–点击添加插件,
搜索微信同声传译并添加

2、 在项目根目录app.json文件中配置

 "plugins": {"WechatSI": {"version": "0.3.4","provider": "wx069ba97219f66d99"}},

语音合成:

在pages的js中加入插件初始化代码

const innerAudioContext = wx.createInnerAudioContext();
innerAudioContext.autoplay = true;
const plugin = requirePlugin('WechatSI');

由于语音合成原理是微信同声传译是在同声传译后台生产录音,下载播放录音。可以在页面加载阶段生产录音,在使用的地方播放录音,就不会有延迟。

//在全局定义变量
var remoteAudio = null;//在开始阶段加载plugin.textToSpeech({lang: "en_US",tts: true,content: word,success: function(res) {console.log("succ tts", res.filename)   // this.playAudio(res.filename);remoteAudio = res.filename;},fail: function(res) {console.log("fail tts", res)}})},//在实际需要使用语音合成地方
innerAudioContext.stop();
console.log("remoteAudio: " + remoteAudio);
innerAudioContext.src = remoteAudio;
innerAudioContext.play();
innerAudioContext.onError((e) => {console.log(e.errMsg)      console.log(e.errCode)      })

 

语音识别:

在pages的js中加入插件初始化代码

//引入插件:微信同声传译
const plugin = requirePlugin('WechatSI');
//获取全局唯一的语音识别管理器recordRecoManager
const manager = plugin.getRecordRecognitionManager();
// 设置采集声音参数
const options = {sampleRate: 44100,numberOfChannels: 1,encodeBitRate: 192000,format: 'aac'
}

在 onload()中加入初始化代码

//识别语音
this.initRecord();

在需要加入语音识别地方加入下面代码:

 //语音  --按住说话touchStart: function(e) {wx.vibrateShort() //按键震动效果(15ms)manager.start(options)this.setData({recordState: true, //录音状态为真tips: '松开结束',})},//语音  --松开结束touchEnd: function(e) {// 语音结束识别manager.stop();this.setData({recordState: false,})},//识别语音 -- 初始化initRecord: function() {const that = this;// 有新的识别内容返回,则会调用此事件manager.onRecognize = function(res) {console.log(res)}// 正常开始录音识别时会调用此事件manager.onStart = function(res) {console.log("成功开始录音识别", res)}// 识别错误事件manager.onError = function(res) {console.error("error msg:", res.retcode, res.msg)}//识别结束事件manager.onStop = function(res) {console.log('..............结束录音')console.log('录音总时长 -->' + res.duration + 'ms');console.log('语音内容 --> ' + res.result);if (res.result == '') {wx.showModal({title: '提示',content: '听不清楚,请重新说一遍!',showCancel: false,success: function(res) {}})return;}//下面有些代码有一些业务代码,要根据自己实际进行替换if(res.result == this.myword){that.setData({content: that.myword + '读音正确' //去掉自动添加的句号}) next();}else{that.setData({recordState: false, //录音状态为真content: that.myword +'读音不准',})plugin.textToSpeech({lang: "en_US",tts: true,content: that.myword,success: function(res) {console.log("succ tts", res.filename)                },fail: function(res) {console.log("fail tts", res)}})}}},

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/35134.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

同声传译,主要难在哪里?

搜狗的机器翻译团队成绩有目共睹,而且搜狗同传也是国内目前唯一曾应用于大型会议的语音识别机器翻译系统,从去年世界互联网大会上,搜狗CEO王小川首秀了这项技术。随后,搜狗同传又在香港科技大学学术讲座、前哨大会、GMIS大会上“炫…

使用微信同声传译,实现页面滑动播放

一、添加微信同声传译插件 由于目前使用官方推荐的添加方式无法查找到微信同声传译插件,因此,我们直接使用微信服务平台进行添加,操作步骤如下: 1.点击微信服务平台链接,下滑找到微信同声传译 2.点击添加插件按钮&am…

线上Debug,学会Arthas拿捏所有bug

点击上方“Java基基”,选择“设为星标” 做积极的人,而不是积极废人! 每天 14:00 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应…

中国首档程序员真人秀,20位选手找bug做模型,结果一开场主办方就惨遭攻击...

金磊 杨净 发自 凹非寺 量子位 报道 | 公众号 QbitAI 终于!终于!终于! 以程序员为主题的综艺真人秀,真真儿的诞生了! 你以为是参赛选手都会是秃头、黑眼圈,21岁拥有40岁的面容? 图源&#xff1a…

跑分达ChatGPT的99%,人类难以分辨!开源「原驼」爆火,iPhone都能微调大模型了...

梦晨 发自 凹非寺量子位 | 公众号 QbitAI 自动测试分数达到ChatGPT的99.3%,人类难以分辨两者的回答…… 这是开源大模型最新成果,来自羊驼家族的又一重磅成员——华盛顿大学原驼(Guanaco)。 更关键的是,与原驼一起提出…

跑分达ChatGPT的99%,人类难以分辨!开源「原驼」爆火,iPhone都能微调大模型了

来源 | 量子位 | 公众号 QbitAI 自动测试分数达到ChatGPT的99.3%,人类难以分辨两者的回答…… 这是开源大模型最新成果,来自羊驼家族的又一重磅成员——华盛顿大学原驼(Guanaco)。 更关键的是,与原驼一起提出的新方法…

一键让ChatGPT教出新模型!100美元单卡炼出平替「白泽」,数据集权重代码都开源...

梦晨 发自 凹非寺量子位 | 公众号 QbitAI 炼ChatGPT需要高质量对话数据。 在以前这可是稀缺资源,但自从有了ChatGPT,时代就变了。 加州大学圣迭戈分校(UCSD)与中山大学、MSRA合作团队提出最新方法: 使用少量“种子问题…

爆火ChatGPT代码解释器食用指南,来了

丰色 发自 凹非寺 ChatGPT推出至今最强最有用的功能是什么? 可能要非代码解释器(Code Interpreter)莫属了。 这项功能下周才会正式向所有Plus用户开放,但不少提前进行测试的网友都不约而同地发现: 它的潜力实在太太太深…

烧掉300亿美元,小扎和元宇宙说再见!Meta转投AIGC,制定搞钱时间表

视学算法报道 编辑:Aeneas 好困 【导读】Meta已经成立机构,专门研究生成式AI,并计划今年12月前完成商业化。看到小扎终于不在元宇宙上一条路走到黑,Meta的投资人们总算要松一口气了吧。 所以,小扎决定抛弃元宇宙了&a…

jQuery快速入门

前言 在二次开发人脸识别来进行注册登录时,卡在了前端上传图片到后端这一步,莫得办法,只得来学习前端的jQuery和AJAX看看能不能解决问题 大致思路分为系统性学习和情境性学习,前期以系统性学习为主,跟着视频进行快速入…

运营策略:影响内容病毒式传播的 8 个维度

目录 01 第一个影响要素就是内容的类型 02 第二个要素时内容的长度 03 第三个要素是要唤起正确的情感 04 第四个是利用趋势,也就是热点问题或事件 05 第五个是视觉效果 06 第六个是增加作者署 07 第七个是在正确的时间发布内容 08 第八个是影响者的力量 病毒…

拼多多解散了在应用中加入恶意功能的团队;苹果首款混合现实头显即将亮相;Pandas 2.0 发布|极客头条...

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#…

自行车+ChatGPT主打“陪伴”?感觉哪里怪怪的

强大的ChatGPT引得各行各业的产品经理两眼放光,抓住机会就想“”一把。智能汽车GPT不新鲜了,自行车来了。 几天前,名为Urtopia的电助力单车(E-Bike)品牌发布了世界上首款搭载的ChatGPT的自行车。利用蓝牙音箱当“嘴替…

ChatGPT:DevSecOps 落地实践的最后一公里

DevSecOps 背后的三个逻辑 复杂性:让安全从 “幕后” 走向 “台前” 安全并不是一个新鲜的话题,自软件诞生以来,安全就一路伴随,但是近几年安全似乎又到了一个新的 “热度” 与 “高度”。 一些企业、组织都在探讨软件供应链安全…

ChatGPT背后的打工人:你不干,有的是AI干

AI“出圈” 如今,数字技术发展速度惊人,AI提高了社会生产效率,更真切地冲击到原有的生产秩序。 年初AI技术的爆发,让国内看到了进一步降本增效的希望。 国内多家互联网企业相继推出类ChatGPT产品,复旦大学邱锡鹏教授…

杀入GPT战场,「两翼齐飞」的360胜算有几分?|内测体验

衡宇 发自 凹非寺量子位 | 公众号 QbitAI 360,正站在GPT风口浪尖迎来新一春。 在透露相关计划后2个月内,360快速给出了类ChatGPT产品。公开展示后半个月,就在昨天,360大模型进入落地加速期: 基于360GPT开发的“360智脑…

GPT-4再次引爆科技圈?

北京时间3月15日凌晨, Open AI如期发布最新的大模型GPT-4,众多亮点功能直接引爆了科技圈。科技板块头条被GPT-4的发布会占据,朋友圈里面也被发布霸屏,满满的全员围观即视感。 Open ai在官网上放出了发布会的全部内容,…

Java音视频处理——JavaCV

目录 简介 Maven 软件环境 JavaCV-Examples OpenCV Cookbook Examples 概述 示例 OpenCV文档 如何使用JavaCV示例 示例代码的组织结构 示例列表 Why Scala? 学习地址 图像简单处理代码示例 1.打开保存一张图 2.画直线 3.画圆圈 4.画折现 5.添加文字水印 6.裁…

大模型与AIGC峰会!知名专家学者现场论道!

6月30日-7月1日,在由稀土掘金开发者社区主办的稀土开发者大会上,邀你与专业前沿的嘉宾面对面交流!6月30日上午的主会场,北京大学王选计算机研究所教授、CCF 自然语言处理专委会秘书长万小军,会带来关于AIGC的重磅分享。…

第三周C++与PCL的学习(3.13-3.19)

目录 第一天3.13 星期一 Qt安装于简单应用 第二天3.14 星期二 ui闪退的解决、PCL的pri文件配置 第三天3.15 星期三 百度地图api的调用以及在Qt中的配置 第四天3.16 星期四 PCM软件的学习 第五天3.17 星期五 数据库的建立和使用 第六天3.18 星期六 Kinect融合、时…