科大迅飞语音听写(流式版)WebAPI,Web前端、H5调用 语音识别,语音搜索,语音听写

前言

由于公司有个Web项目需要用到语音搜索功能,找了一些第三方库都不太理想,要么语音识别速度很慢,要么不能精确识别等等,最后选择了迅飞语音(迅飞语音听写(流式版)WebAPI)。迅飞语音相对来说做得还是比较成熟了,不过是收费的,是按照调用API次数来收费,但是有试用次数,新用户注册每天有500次调用次数,用户实名认证后每天有15万次调用次数(不定期会有活动,推荐购买正式版)。

讯飞语音相关的产品还是比较全面的,根据项目需要这次用的是迅飞语音听写(流式版)WebAPI,官网有不同平台的Demo和SDK,由于我们是之前的老Web项目(没有进度前后端分离),而官网下载下来的Demo需要调用很多第3方库,而且还要经过打包编译,感觉过于复杂。

所以我进行了一下封装,去除了很多不必要的插件和代码,可以直接Web前端、H5中调用(在html文件中引入js文件调即可,使用起来很方便,不用去打包编译等)注:获取浏览器录音功能,因安全性问题,需要在localhost 或 127.0.0.1 或 https 下才能获取权限,在这里记录一下,方便以后再次用到。

语音听写功能简介:

  • 把语音(≤60秒)转换成对应的文字信息,让机器能够“听懂”人类语言,相当于给机器安装上“耳朵”,使其具备“能听”的功能。
  • 语音听写流式接口,用于1分钟内的即时语音转文字技术,支持实时返回识别结果,达到一边上传音频一边获得识别文本的效果。
  • 该语音能力是通过Websocket API的方式给开发者提供一个通用的接口。
  • Websocket API具备流式传输能力,适用于需要流式数据传输的AI服务场景,比如边说话边识别。
  • 相较于SDK,WebAPI具有轻量、跨语言的特点;相较于HTTP API,Websocket API协议有原生支持跨域的优势。
  • 语音听写流式WebAPI 服务,热词使用方式:登陆开放平台https://www.xfyun.cn/后,找到控制台--我的应用---语音听写---个性化热词,上传热词。

实例效果:

实例化API:

let times = null;// 实例化迅飞语音听写(流式版)WebAPI
const voice = new Voice({// 服务接口认证信息 注:apiKey 和 apiSecret 字符串的长度都差不多,请不要填错了哦!appId: '',apiSecret: '', apiKey: '',// 注:要获取以上3个参数,请到迅飞开放平台:https://www.xfyun.cn/services/voicedictation 【注册的新用户,每天服务量500(也就是调500次),如果你需求里大请购买服务量:https://www.xfyun.cn/services/voicedictation?target=price】onWillStatusChange: function (oldStatus, newStatus) {//可以在这里进行页面中一些交互逻辑处理:注:倒计时(语音听写只有60s),录音的动画,按钮交互等!},onTextChange: function (text) {//监听识别结果的变化console.log('识别结果:', text)// 3秒钟内没有说话,就自动关闭if (text) {clearTimeout(times);times = setTimeout(() => voice.stop(), 3000);};}
});// 开始识别方法
voice.start();// 关闭识别
voice.stop();

使用说明:

在代码中已有很详细的注释和说明,一看就便懂,这里就不要熬述啦哈!

语音听写简介:语音听写_语音识别-讯飞开放平台

语音听写(流式版)WebAPI 文档:语音听写(流式版)WebAPI 文档 | 讯飞开放平台文档中心

SDK&API 错误码查询:错误码查询 - 讯飞开放平台

项目地址:

https://github.com/MuGuiLin/VoiceDictation

注意事项:

要使用该功能,请先去迅飞开放平台注册账户(只限新用户),然后登录到控制台,创建应用拿到迅飞语音听写(流式版)WebAPI服务接口认证信息,分别是appId: '', apiKey: '', apiSecret: ''这3种参数。

原WebAPI普通版本接口(http: //api.xfyun.cn/v1/service/v1/iat) 不再对外开放,已经使用WebAPI普通版本的用户仍可使用,同时也欢迎体验新版流式接口并尽快完成迁移!

使用前提条件:

1、要有appId,apiKey,apiSecret这3个参数,并且还要有API次数。

2、要有硬件设备(麦克风)并且允许受权API调用麦克风的权限。

3、使用要在服务环境下运行如(WAMP、XAMPP、Phpstudy、http-server、WebServer)以localhost 或 127.0.0.1 或 在https环境下运行。

识别运行过程:

1、websocket连接:判断浏览器是否兼容,获取websocket url并连接,这里为了方便本地生成websocket url。

2、 获取浏览器录音权限:判断浏览器是否兼容,获取浏览器录音权限。

3、.js获取浏览器录音数据。

4、将录音数据处理为文档要求的数据格式:采样率16k或8K、位长16bit、单声道;该操作属于纯数据处理,使用webWork处理。

5、根据要求(采用base64编码,每次发送音频间隔40ms,每次发送音频字节数1280B)将处理后的数据通过websocket传给服务器。

6、实时接收websocket返回的数据并进行处理。

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

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

相关文章

安卓接入讯飞语音识别

#因为该项目不适合图形展示,所以无图 需要使用录音功能,那么虚拟机是不行的,只能使用真机测试 集成到项目中,需要将讯飞SDK里的内容搬到项目对应位置 在AndroidMainfest.xml中添加相应权限,安卓多少版本需要在代码中动…

腾讯、百度、讯飞 语音识别

一、腾讯语音识别—一句话语音识别 1、账号申请 (1)搜索腾讯云官网 https://cloud.tencent.com/?fromSourcegwzcw.2212127.2212127.2212127&utm_mediumcpd&utm_idgwzcw.2212127.2212127.2212127 (2)打开语音识别 腾…

js pink老师

JS 基础 输入和输出语法 向body输出内容 document.write("<h1>眼泪为你唱歌</h1>")窗口弹出内容 alert("将军")控制台打印内容 console.log("勇敢的面对");输入语句 prompt("蓝色的雨")输入语句输出到页面 const n…

新增WebDB和ChatGPT组件,支持对ChatGPT资产进行纳管,JumpServer堡垒机v3.5.0发布

2023年7月24日&#xff0c;JumpServer开源堡垒机正式发布v3.5.0版本。在这一版本中&#xff0c;新生代数据库连接组件——问题终结者Chen强势来袭&#xff0c;替代原有的OmniDB组件&#xff0c;在兼容旧版本的同时&#xff0c;解决了旧组件性能不足的问题&#xff0c;为用户提供…

新增 WebDB 和 ChatGPT 组件,支持对 ChatGPT 资产进行纳管,JumpServer 堡垒机 v3.5.0 发布

▲图 1 新增 Web 可视化数据库连接组件 Chen&#xff0c;替代原有的 OmniDB 组件 2. 新增 GPT 资产连接组件 Kael&#xff0c;支持纳管 ChatGPT 资产 在 JumpServer v3.5.0 版本中&#xff0c;新增 Kael 组件。该组件集成了 GPT 平台&#xff0c;支持对 ChatGPT 资产进行纳管…

毕业设计\毕业论文论文下载查询\查重降重\PPT工具合集

目录 各类工科毕业设计源码下载 论文查询\下载 广西壮族自治区图书馆 国家哲学社会科学文献中心 OALib 查重 万方免费查重&#xff08;应届生免费一次&#xff09; 降重 秘塔写作猫 火龙果写作 PDF工具 PDF Shaper 思维导图 GitMind 开题报告\答辩 PPT 第一pp …

android绑定两个ip,安卓手机模拟器如何多开切换IP防封号的最新方法介绍

原标题&#xff1a;安卓手机模拟器如何多开切换IP防封号的最新方法介绍 很多手游玩家、工作室和网吧用户想在电脑上登手机游戏&#xff0c;其实在电脑上装一个手机模拟器就可以了&#xff0c; 而且可以改不同的IP地址&#xff0c;实现游戏无限多开&#xff0c;今天小编就来为大…

手机上什么App能连接mysql_这款APP让你的手机瞬间变身服务器,php+mysql,太硬核了!...

话不多说&#xff0c;开搞。 舞剑前面介绍了两款 Web 前端编辑神器&#xff0c;一款是 HopWeb&#xff0c; 适合新手开发小型项目&#xff0c;一款是 EasyWeb&#xff0c;适合进阶开发大型项目。 不管是小型项目还是大型项目&#xff0c;最终目的都是为了上线&#xff0c;这两款…

AndroidStudio连接不上真机的全面分析(真的超详细不是你打我)

前言 写这篇文章之前呢&#xff0c;我只想说我心很累。今天码代码码的好好的&#xff0c;结果在码好之后进行真机测试的时候突然发现连不上手机了 WDNMD&#xff01;&#xff01;&#xff01;本来被代码就搞得焦头烂额&#xff0c;这个时候仿佛我的手机也不嫌事大一般&#xf…

google android模拟器多系统,Android模拟器安装教程_体验google_Android系统手机

1、下载Android SDK&#xff1a;SDK由官方网站提供,官方下载地址&#xff1a;http://dl.google.com/android/android-sdk_r05-windows.zip (大小22M&#xff0c;如果点击不能下载&#xff0c;请复制地址到下载软件中进行下载)要了解更多也可以访问官方网站&#xff1a;http://d…

学妹跑过来抱着我的胳膊让我帮她在Linux上装jdk【手把手教学】

在Linux上装jdk 首先需要个安装包查看下默认的版本号解压jdk压缩包修改/etc/profile刷新/etc/profile修改 .bash _profile刷新.bash_profile查看版本 首先需要个安装包 下载较慢&#xff0c;直接用Xftp传一个就行了&#xff08;直接拉着拖拽过去就行&#xff09; 查看下默认…

我是如何利用闲置手机安装 centos7.0 linux发行版,实现一台内网服务器的

开始 首先你需要有一部闲置安卓手机(root)&#xff08;基于linux内核&#xff09;我的是 乐视x520 安装软件 linuxdeploy (一个运行在linux主线容器&#xff0c;linux发行版将运行在其中&#xff09; 缺点&#xff1a;无法使用 service , systemctl 命令&#xff0c;但是有…

android网络传输唤醒系统,Android手机唤醒群晖NAS系统

之前我们提到的群晖NAS是内部的Web浏览器控制&#xff0c;但是有时候我们不在内部网络的时候也需要打开NAS去操作&#xff0c;有时候甚至我们的NAS都没有开机&#xff0c;必须通过远程开机才能正常使用&#xff0c;那么应该如何通过手机唤醒NAS呢&#xff1f; 群晖很贴心的给我…

用adb往手机上装软件

这几天在给多部手机装软件&#xff0c;作为一个小学生我觉得有必要记录一下。 方法一、 1.用cmd打开dos界面&#xff0c;cd到adb所在的文件夹 2.然后检测设备是否连接 3.然后可以把apk安装进手机 方法二、 1.直接在adb所在的文件夹中新建一个文本文档&#xff0c;后缀改为ba…

电脑会显示android,怎么在电脑上显示、操作安卓手机

想要在电脑上显示、操作安卓手机&#xff0c;该怎么办&#xff0c;那么怎么在电脑上显示、操作安卓手机的呢?下面是学习啦小编收集整理的怎么在电脑上显示、操作安卓手机&#xff0c;希望对大家有帮助~~ 在电脑上显示、操作安卓手机的方法 工具/原料 windows操作系统 安卓手机…

计算机无法安装系统,电脑为什么重装不了系统?

原标题&#xff1a;电脑为什么重装不了系统&#xff1f; 很多用户在电脑出现问题的时候&#xff0c;想要重装系统来解决系统问题。但发现电脑无法进行系统重装。这到底怎么回事呢&#xff1f;下面就让云骑士为大家带来电脑为什么无法重装系统。 无法使用光盘重装系统 使用光驱来…

教程 | 用安卓手机搭建 web 服务器(二)—— Nginx 安装配置

上一步完成了必要的软件安装&#xff0c;接下来需要在 Linux 系统上安装 nginx。 Nginx(“engine x”)是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能的 Web 和 反向代理服务器&#xff0c;也是一个 IMAP/POP3/SMTP 代理服务器。在高连接并发的情况下&#xff0c;Ngi…

Android能装到电脑上吗,怎么在电脑上装安卓系统

想要在电脑上装安卓系统,该怎么办呢,那么怎么在电脑上装安卓系统的呢?下面是学习啦小编收集整理的怎么在电脑上装安卓系统,希望对大家有帮助~~ 在电脑上装安卓系统的方法 工具/原料 Android x86系统的镜像(见参考资料) UItraISO的安装包(见参考资料) 电脑一台 U盘一个(1G以…

安卓AndroidStudio如何在同一个手机中安装两个相同的项目

我的开发工具: AndroidStudio 今天由于公司业务需要, 经理让安装两个相同的APP到手机上, 考虑到包名是应用程序的唯一标识, 所以在工程列表的app下的build.gradle里, 把applicationId改成了不同的. 然后再使用新的签名文件(也可以使用同一个签名文件)重新打包, 这样打包出来的…

android手机怎么改字体,手机字体怎么改 安卓手机字体修改教程

类型&#xff1a;图片素材大小&#xff1a;1.6M语言&#xff1a;中文 评分&#xff1a;1.9 标签&#xff1a; 立即下载 看惯了自带的那个方方正正的字体&#xff0c;觉得不是那么美观呢。通过以下的教程可以帮你给自己的爱机换一个字体。 首先手机要需要获取过root权限&#xf…