iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >JS应用程序中怎么执行语音识别
  • 813
分享到

JS应用程序中怎么执行语音识别

2023-06-15 04:06:14 813人浏览 泡泡鱼
摘要

这篇文章主要介绍了js应用程序中怎么执行语音识别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。语音识别是计算机科学和计算语言学的一个跨学科子领域。它可以识别口语并将其翻译成文

这篇文章主要介绍了js应用程序中怎么执行语音识别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

语音识别是计算机科学和计算语言学的一个跨学科子领域。它可以识别口语并将其翻译成文本,它也被称为自动语音识别(ASR),计算机语音识别或语音转文本(STT)。

机器学习(ML)是人工智能ai)的一种应用,它使系统能够自动学习并从经验中进行改进,而无需进行明确的编程。机器学习在本世纪提供了大多数语音识别方面的突破。如今,语音识别技术无处不在,例如Apple Siri,Amazon Echo和Google Nest。

语音识别以及语音响应(也称为语音合成或文本到语音(TTS))由WEB speech api提供支持。

在本文中,我们重点介绍javascript应用程序中的语音识别。另一篇文章介绍了语音合成。

语音识别接口

SpeechRecognition 是识别服务的控制器接口,在Chrome中称为 webkitSpeechRecognitionSpeechRecognition 处理从识别服务发送的 SpeechRecognitionEventSpeechRecognitionEvent.results 返回一个SpeechRecognitionResultList 对象,该对象表示当前会话的所有语音识别结果。

可以使用以下几行代码来初始化 SpeechRecognition

// 创建一个SpeechRecognition对象const recognition = new webkitSpeechRecognition();// 配置设置以使每次识别都返回连续结果recognition.continuous = true;// 配置应返回临时结果的设置recognition.interimResults = true;// 正确识别单词或短语时的事件处理程序recognition.onresult = function (event) {  console.log(event.results);};

ognition.start() 开始语音识别,而 ognition.stop() 停止语音识别,它也可以中止( recognition.abort)。

当页面正在访问您的麦克风时,地址栏中将显示一个麦克风图标,以显示该麦克风已打开并且正在运行。

JS应用程序中怎么执行语音识别

我们用句子对页面说。“hello comma I'm talking period.” onresult 在我们说话时显示所有临时结果。

JS应用程序中怎么执行语音识别

这是此示例的html代码:

<!DOCTYPE html><html>  <head>    <meta charset="UTF-8" />    <meta name="viewport" content="width=device-width, initial-scale=1.0" />    <title>Speech Recognition</title>    <script>      window.onload = () => {        const button = document.getElementById('button');        button.addEventListener('click', () => {          if (button.style['animation-name'] === 'flash') {            recognition.stop();            button.style['animation-name'] = 'none';            button.innerText = 'Press to Start';            content.innerText = '';          } else {            button.style['animation-name'] = 'flash';            button.innerText = 'Press to Stop';            recognition.start();          }        });        const content = document.getElementById('content');        const recognition = new webkitSpeechRecognition();        recognition.continuous = true;        recognition.interimResults = true;        recognition.onresult = function (event) {          let result = '';          for (let i = event.resultIndex; i < event.results.length; i++) {            result += event.results[i][0].transcript;          }          content.innerText = result;        };      };    </script>    <style>      button {        background: yellow;        animation-name: none;        animation-duration: 3s;        animation-iteration-count: infinite;      }      @keyframes flash {        0% {          background: red;        }        50% {          background: green;        }      }    </style>  </head>  <body>    <button id="button">Press to Start</button>    <div id="content"></div>  </body></html>

第25行创建了 SpeechRecognition 对象,第26和27行配置了 SpeechRecognition 对象。

当一个单词或短语被正确识别时,第28-34行设置一个事件处理程序。

第19行开始语音识别,第12行停止语音识别。

在第12行,单击该按钮后,它可能仍会打印出一些消息。这是因为 Recognition.stop() 尝试返回到目前为止捕获的SpeechRecognitionResult。如果您希望它完全停止,请改用 ognition.abort()

您会看到动画按钮的代码(第38-51行)比语音识别代码长。这是该示例的视频剪辑:https://youtu.be/5V3bb5YOnj0

JS应用程序中怎么执行语音识别

以下是浏览器兼容性表:

JS应用程序中怎么执行语音识别

网络语音识别依赖于浏览器自己的语音识别引擎。在Chrome中,此引擎在云中执行识别。因此,它仅可在线运行。

语音识别库

有一些开源语音识别库,以下是基于npm趋势的这些库的列表:

1. Annyang

Annyang是一个JavaScript语音识别库,用于通过语音命令控制网站。它建立在SpeechRecognition Web API之上。在下一节中,我们将举例说明annyang的工作原理。

2. artyom.js

artyom.js是一个JavaScript语音识别和语音合成库。它建立在Web语音API的基础上,除语音命令外,它还提供语音响应。

3. Mumble

Mumble是一个JavaScript语音识别库,用于通过语音命令控制网站。它建立在SpeechRecognition Web API之上,这类似于annyang的工作方式。

4. julius.js

Julius是面向语音相关研究人员和开发人员的高性能,占用空间小的大词汇量连续语音识别(LVCSR)解码器软件。它可以在从微型计算机到云服务器的各种计算机和设备上执行实时解码。Julis是使用C语言构建的,而julius.js是Julius自以为是JavaScript的移植版。

5.voice-commands.js

voice-commands.js是一个JavaScript语音识别库,用于通过语音命令控制网站。它建立在SpeechRecognition Web API之上,这类似于annyang的工作方式。

Annyang

Annyang初始化一个 SpeechRecognition 对象,该对象定义如下:

var SpeechRecognition = root.SpeechRecognition ||                                                             root.webkitSpeechRecognition ||                                                  root.mozSpeechRecognition ||                                                  root.msSpeechRecognition ||                                                  root.oSpeechRecognition;

有一些API可以启动或停止annyang:

  • annyang.start:使用选项(自动重启,连续或暂停)开始监听,例如 annyang.start({autoRestart:true,Continuous:false})

  • annyang.abort:停止收听(停止SpeechRecognition引擎或关闭麦克风)。

  • annyang.pause:停止收听(无需停止SpeechRecognition引擎或关闭麦克风)。

  • annyang.resume:开始收听时不带任何选项。

这是此示例的HTML代码:

<!DOCTYPE html><html>  <head>    <meta charset="UTF-8" />    <meta name="viewport" content="width=device-width, initial-scale=1.0" />    <title>Annyang</title>    <script src="//cdnjs.cloudflare.com/ajax/libs/annyang/2.6.1/annyang.min.js"></script>    <script>      window.onload = () => {        const button = document.getElementById('button');        button.addEventListener('click', () => {          if (button.style['animation-name'] === 'flash') {            annyang.pause();            button.style['animation-name'] = 'none';            button.innerText = 'Press to Start';            content.innerText = '';          } else {            button.style['animation-name'] = 'flash';            button.innerText = 'Press to Stop';            annyang.start();          }        });        const content = document.getElementById('content');        const commands = {          hello: () => {            content.innerText = 'You said hello.';          },          'hi *splats': (name) => {            content.innerText = `You greeted to ${name}.`;          },          'Today is :day': (day) => {            content.innerText = `You said ${day}.`;          },          '(red) (green) (blue)': () => {            content.innerText = 'You said a primary color name.';          },        };        annyang.addCommands(commands);      };    </script>    <style>      button {        background: yellow;        animation-name: none;        animation-duration: 3s;        animation-iteration-count: infinite;      }      @keyframes flash {        0% {          background: red;        }        50% {          background: green;        }      }    </style>  </head>  <body>    <button id="button">Press to Start</button>    <div id="content"></div>  </body></html>

第7行添加了annyang源代码。

第20行启动annyang,第13行暂停annyang。

Annyang提供语音命令来控制网页(第26-42行)。

第27行是一个简单的命令。如果用户打招呼,页面将回复“您说‘你好’。”

第30行是带有 splats 的命令,该命令会贪婪地捕获命令末尾的多词文本。如果您说“hi,爱丽丝e”,它的回答是“您向爱丽丝致意。”如果您说“嗨,爱丽丝和约翰”,它的回答是“您向爱丽丝和约翰打招呼。”

第33行是一个带有命名变量的命令。一周的日期被捕获为 day,在响应中被呼出。

第36行是带有可选单词的命令。如果您说“黄色”,则将其忽略。如果您提到任何一种原色,则会以“您说的是原色名称”作为响应。

从第26行到第39行定义的所有命令都在第41行添加到annyang中。

... ...

结束

我们已经了解了JavaScript应用程序中的语音识别,Chrome对Web语音API提供了最好的支持。我们所有的示例都是在Chrome浏览器上实现和测试的。

在探索Web语音API时,这里有一些提示:如果您不想在日常生活中倾听,请记住关闭语音识别应用程序。

JavaScript是什么

JS是JavaScript的简称,它是一种直译式的脚本语言,其解释器被称为JavaScript引擎,是浏览器的一部分,主要用于web的开发,可以给网站添加各种各样的动态效果,让网页更加美观。

感谢你能够认真阅读完这篇文章,希望小编分享的“JS应用程序中怎么执行语音识别”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: JS应用程序中怎么执行语音识别

本文链接: https://www.lsjlt.com/news/277500.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JS应用程序中怎么执行语音识别
    这篇文章主要介绍了JS应用程序中怎么执行语音识别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。语音识别是计算机科学和计算语言学的一个跨学科子领域。它可以识别口语并将其翻译成文...
    99+
    2023-06-15
  • 如何在Javascript应用程序中执行语音识别
    这篇文章将为大家详细讲解有关如何在Javascript应用程序中执行语音识别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。语音识别是计算机科学和计算语言学的...
    99+
    2024-04-02
  • win8语音识别怎么用?win8语音控制使用教程
    不知道win8语音识别怎么用下文将演示win8语音控制使用教程,有了语音识别功能,我们就可以完全抛弃鼠标。想要体验语音控制的朋友请参考下文步骤操作吧~    --启动语音识别功能   首先,用户需要准备一部笔记...
    99+
    2023-06-04
    win8 语音识别 语音控制 教程 语音
  • Python中怎么实现语音识别
    今天就跟大家聊聊有关Python中怎么实现语音识别,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。离线转换对于国内的网络环境,无法用google API来将语音数据转换成文本文件,因为...
    99+
    2023-06-16
  • 亚马逊语音识别怎么用
    以下是AIV的使用方法: 连接到Amazon Sphere或AWS上的Amazon Voice Recognition服务。 在您的设备上启动Amazon Voice Recognition服务,然后输入您的手机号码或访问Amazon ...
    99+
    2023-10-27
    亚马逊 语音识别
  • 微信小程序语音识别与合成怎么实现
    这篇文章主要介绍了微信小程序语音识别与合成怎么实现 的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序语音识别与合成怎么实现 文章都会有所收获,下面我们一起来看看吧。先叙述下原理:利用微信小程序api,录...
    99+
    2023-06-26
  • c语言程序执行中怎么暂停
    可暂停 c 语言程序执行的函数为 sleep(),它允许指定秒数暂停程序,步骤如下:包含头文件:\使用 sleep() 函数,指定暂停秒数作为参数。 如何暂停 C 语言程序的执行 在 ...
    99+
    2024-04-05
    c语言
  • 怎么Android项目中使用百度语音识别
    这篇文章将为大家详细讲解有关怎么Android项目中使用百度语音识别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。使用百度语音识别,先要申请APP ID,这个直接到百度网站上有说明文档,本文...
    99+
    2023-05-31
    android roi
  • 怎么在微信小程序中利用同声传译实现语音识别功能
    这篇文章给大家介绍怎么在微信小程序中利用同声传译实现语音识别功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。// app.json{    ... &nbs...
    99+
    2023-06-15
  • win10中怎么禁止开机自动运行语音识别功能
    本篇内容介绍了“win10中怎么禁止开机自动运行语音识别功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!打开windows设置界面,随后输...
    99+
    2023-06-27
  • 计算机能不能直接识别执行用汇编语言编写的程序
    这篇文章给大家分享的是有关计算机能不能直接识别执行用汇编语言编写的程序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。不能。用汇编语言编写的程序,计算机是不能直接识别和执行的;必须先把汇编语言源程序翻译成机器语言程...
    99+
    2023-06-14
  • PHP中怎么执行C++程序
    这篇文章给大家介绍PHP中怎么执行C++程序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。想要充分的掌握C++应用程序的技术,那么就要对C++中的结构、语句、变量、函数、预处理指令、输入和输出等内容进行了解掌握,不管怎...
    99+
    2023-06-17
  • linux中怎么执行java程序
    在Linux系统中,可以使用以下命令来执行Java程序: 首先,确保已经安装了Java开发工具包(JDK)。 编写Java程...
    99+
    2024-03-04
    linux java
  • Linux下怎么用python实现语音识别功能
    这篇文章主要介绍“Linux下怎么用python实现语音识别功能”,在日常操作中,相信很多人在Linux下怎么用python实现语音识别功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下怎么用py...
    99+
    2023-07-05
  • Python调用百度api怎么实现语音识别
    Python调用百度api怎么实现语音识别,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。最近在学习python,做一些python练习题github上几年前的练习题有一题是这样...
    99+
    2023-06-21
  • Java中怎么通过调用jna实现语音识别功能
    Java中怎么通过调用jna实现语音识别功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。JNAjava调用.dll获取.so一般通过JNI,但是JNI的使用比较复杂,需要用C...
    99+
    2023-06-17
  • 微信小程序使用同声传译实现语音识别功能
      我使用同声传译语音识别功能是为了实现微信小程序首页的语音搜索功能,如果你也是那么恭喜你,你可以ctrl+c、ctrl+v再改一改,如果你不是那么你也不要着急的走可以看完我的文章会...
    99+
    2024-04-02
  • 怎么将c语言程序打包成exe可执行程序
    本文章向大家介绍怎么将c语言程序打包成exe可执行程序,主要包括怎么将c语言程序打包成exe可执行程序的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。C语言是什么C语言是一门面向过程的、抽象化...
    99+
    2023-06-06
  • Linux中怎么独立执行Java程序
    这期内容当中小编将会给大家带来有关Linux中怎么独立执行Java程序,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Linux系统里,很多时候因为种种原因,需要把java程序单独执行,而不是在web容器环...
    99+
    2023-06-16
  • Java离线中文语音文字识别功能怎么实现
    这篇文章主要讲解了“Java离线中文语音文字识别功能怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java离线中文语音文字识别功能怎么实现”吧!1、pom文件如下:<xml&n...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作