Vic*_*ico 8 speech-recognition speech-to-text node.js
我正在开发一个工具,允许我阅读所有通知,这要归功于与不同API的连接.
它工作得很好,但现在我想用一些声音命令来做一些动作.
就像软件说"来自Bob的一封邮件"一样,我想说"读它"或"存档".
我的软件正在通过节点服务器运行,目前我没有任何浏览器实现,但它可以是一个计划.
节点JS中启用语音到文本的最佳方法是什么?
我已经看到了很多线程,但主要是它使用浏览器,如果可能的话,我想在开始时避免使用它.可能吗?
另一个问题是某些软件需要输入wav文件.我没有任何文件,我只是希望我的软件能够在我说出命令时总是听我说的反应.
你有关于我怎么做的信息吗?
干杯
这里的两个答案都已经很好,但我认为您正在寻找的是Sonus。它会为您处理音频编码和流媒体。它总是离线收听可定制的热门词(如 Siri 或 Alexa)。您还可以以编程方式触发侦听。结合像say 这样的模块,您可以通过执行以下操作来启用您的示例:
say.speak('One mail from Bob', function(err) {
Sonus.trigger(sonus, 1) //start listening
});
Run Code Online (Sandbox Code Playgroud)
您还可以使用不同的启动指令以不同的方式处理后续识别出的语音。例如:
“通知。最近。” 和“发送消息。你今天好吗”
把它扔到桌上有麦克风的树莓派或芯片上,你就有了一个私人助理,可以读取你的通知并对命令做出反应。
简单示例:https :
//twitter.com/_evnc/status/811290460174041090
更复杂的东西:https :
//youtu.be/pm0F_WNoe9k?t=20s
完整文档:https :
//github.com/evancohen/sonus/blob/master/docs/API.md
免责声明:这是我的项目:)
要识别一些命令而不将它们流式传输到服务器,您可以使用node-pocketsphinx模块。在 NPM 中可用。
识别连续流中的少数命令的代码应如下所示:
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())
});
Run Code Online (Sandbox Code Playgroud)
而不是readFile您只是从麦克风读取数据并将其传递给识别器。要检测的关键字列表应如下所示:
read it /1e-20/
archive it /1e-20/
Run Code Online (Sandbox Code Playgroud)
有关使用 pocketsphinx 进行识别的更多详细信息,请参阅语音中的关键字识别和使用 PocketSphinx 识别多个关键字
| 归档时间: |
|
| 查看次数: |
12075 次 |
| 最近记录: |