gpt4 book ai didi

node.js - 当 NodeJS 执行时,PocketSphinx 无法从 stdin 读取

转载 作者:太空宇宙 更新时间:2023-11-04 00:39:10 26 4
gpt4 key购买 nike

我正在尝试将数据流从 NodeJS 传递到 pocketsphinx_continuous 进程。我的想法是使用 NodeJS 的管道功能将数据发送到 pocketsphinx 进程的 stdin 流。

如果我运行

pocketsphinx_continuous -infile /dev/stdin -nfft 2048 -samprate 44100 -keyphrase "hello computer" -kws_threshold 1e-18

在命令行上,pocketsphinx_continuous 启动并耐心等待标准输入。

但是,当我添加时

var ps = exec('pocketsphinx_continuous -infile /dev/stdin -nfft 2048 -samprate 44100 -keyphrase "hello computer" -kws_threshold 1e-18', function(error, stdout, stderr) {});

对于我的 NodeJS 程序,我得到:

FATAL: "continuous.c", line 158: Failed to open file '/dev/stdin' for reading: No such device or address

我很难理解为什么在 NodeJS 下运行时会出现此错误,但正常运行时不会出现此错误。

谢谢

乔什

最佳答案

我找到了an issue在 Nodejs GitHub 上,它回答了我的问题。

我已将代码调整为以下内容,现在它可以工作了:

var ps = exec('cat | pocketsphinx_continuous -infile /dev/stdin -nfft 2048 -samprate 44100 -keyphrase "hello computer" -kws_threshold 1e-18', function(error, stdout, stderr) {});

通过 cat 进行管道传输会将 NodeJS 为子进程创建的套接字标准输入转换为允许/dev/stdin 工作的管道标准输入。

关于node.js - 当 NodeJS 执行时,PocketSphinx 无法从 stdin 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37605048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com