当前位置: 首页 > 知识库问答 >
问题:

语音识别

陆耀
2023-03-14

由于连接到不同的API,我目前正在开发一个工具,允许我阅读所有的通知。

它工作得很好,但现在我想用一些声音命令来做一些动作。

就像当软件说“一封来自Bob的邮件”时,我想说“阅读”或“存档”。

我的软件是通过一个节点服务器运行的,目前我没有任何浏览器实现,但它可以是一个计划。

在NodeJS中,启用语音到文本的最佳方式是什么?

我在它上面看到了很多线程,但主要是使用浏览器,如果可能的话,我希望在一开始就避免这种情况。可能吗?

另一个问题是一些软件需要输入wav文件。我没有任何文件,我只是希望我的软件总是听我说什么,当我说一个命令时做出反应。

你知道我怎么做吗?

干杯

共有3个答案

庄新翰
2023-03-14

要识别几个命令而不将它们流到服务器,您可以使用node-pokesphinx模块。在NPM中可用。

识别continuos流中少数命令的代码如下所示:

var fs = require('fs');

var ps = require('pocketsphinx').ps;

modeldir = "../../pocketsphinx/model/en-us/"

var config = new ps.Decoder.defaultConfig();
config.setString("-hmm", modeldir + "en-us");
config.setString("-dict", modeldir + "cmudict-en-us.dict");
config.setString("-kws", "keyword list");
var decoder = new ps.Decoder(config);

fs.readFile("../../pocketsphinx/test/data/goforward.raw", function(err, data) {
    if (err) throw err;
    decoder.startUtt();
    decoder.processRaw(data, false, false);
    decoder.endUtt();
    console.log(decoder.hyp())
});

您只需从麦克风读取数据并将其传递给识别器,而不是readFile。要检测的关键字列表应如下所示:

read it /1e-20/
archive it /1e-20/

有关使用pocketsphinx定位的更多详细信息,请参阅语音中的关键词定位和使用pocketsphinx识别多个关键词

孟树
2023-03-14

要将音频数据输入到应用程序中,您可以尝试使用类似麦克风的模块,我还没有使用过它,但它看起来很有希望。这可能是一种避免使用浏览器进行音频输入的方法。

要进行实际的语音识别,您可以使用IBM Watson Developer Cloud的语音到文本服务。此服务支持websocket接口,因此您可以使用全双工服务,将音频数据传输到云端,并返回结果转录。您可能需要考虑实现一种启动检测的形式,以避免向服务发送大量(相对)的静默-这样,您可以停留在自由层中。

还有一个文本到语音的服务,但听起来您已经为工具的这一部分找到了解决方案。

披露:我是IBM沃森的福音传道者。

林意蕴
2023-03-14

这两个答案都很好,但我想你要找的是索纳斯。它照顾音频编码和流为您。它总是离线监听可定制的热词(如Siri或Alexa)。您还可以以编程方式触发监听。与一个模块相结合,例如,您可以通过执行以下操作来启用您的示例:

say.speak('One mail from Bob', function(err) {
  Sonus.trigger(sonus, 1) //start listening
});

您还可以使用不同的热词以不同的方式处理随后识别的语音。例如:
"通知。最近的。”和“发送消息。你今天怎么样"

把它放在桌上带麦克风的Pi或芯片上,你就有了一个私人助理,可以读取你的通知并对命令做出反应。

简单示例:
https://twitter.com/_evnc/status/811290460174041090

稍微复杂一点:
https://youtu.be/pm0F_WNoe9k?t=20s

全留档:
https://github.com/evancohen/sonus/blob/master/docs/API.md

免责声明:这是我的项目:)

 类似资料:
  • 我正在为嵌入式设备的语音相关语音识别解决方案寻找解决方案。我已经研究过Pocketsphinx,但由于我仍然不熟悉它,我想也许更有经验的人可能会知道。是否有可能使用Pocketsphinx来实现这样的语音识别。它应该记录音频,提取其特征,然后将其与所说的任何内容进行匹配,而不是使用声学和语言模型。是否有可能使用Pocketsphinx实现此流程?如果没有,有人能为这样的解决方案指出正确的方向吗?谢

  • 语音识别是以语音为研究对象,通过语音信号处理和模式识别让机器自动识别和理解人类口述的语言。语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术。语音识别是一门涉及面很广的交叉学科,它与声学、语音学、语言学、信息理论、模式识别理论以及神经生物学等学科都有非常密切的关系。语音识别技术正逐步成为计算机信息处理技术中的关键技术,语音技术的应用已经成为一个具有竞争性的新兴高技术产

  • 识别简单的语句。

  • 光环板内置的麦克风和Wi-Fi功能相结合,可以实现语音识别相关的应用。通过接入互联网,可以使用各大主流科技公司提供的语音识别服务,像是微软语音识别服务。使用联网功能需要登陆慧编程账号。 注册/登陆慧编程 点击工具栏右侧的登陆/注册按钮,依据提示登陆/注册账号。 启用上传模式 点击启用上传模式。 新建语音识别项目 我们将新建一个语音识别项目,使用语音来点亮光环板的LED灯。 连接网络 1. 添加事件

  • 1.1. ASR(语音识别) HTTP接口文档 1.1.1. 概述 1.1.2. 服务地址 1.1.3. 协议详解 1.1.4. HTTP API 接入参考Demo 1.1.5. 协议概述 1.1. ASR(语音识别) HTTP接口文档 1.1.1. 概述 本文档目的是描述Rokid云ASR(语音识别)Http接口协议,面向想要了解ASR细节,并具有一定开发能力的开发者或用户。 1.1.2. 服务

  • 1.1. ASR(语音识别) WebSocket接口文档 1.1.1. 概述 1.1.2. 服务地址 1.1.3. 协议详解 1.1.4. 协议地址 1.1.5. 协议概述 1.1.6. ASR 云端一些细节 1.1. ASR(语音识别) WebSocket接口文档 1.1.1. 概述 本文档目的是描述Rokid云ASR(语音识别)WebSocket接口协议,面向想要了解ASR细节,并具有一定开发