gpt4 book ai didi

linux - 通过 multimon、awk 和 espeak 监控 DTMF

转载 作者:太空狗 更新时间:2023-10-29 11:16:46 25 4
gpt4 key购买 nike

  • 如何在声卡每次采集一个数字时听到口头的 DTMD 数字?

目标是 radio 控制我的电脑和接口(interface)事件,通过手持收发器调用 dtmf 音调。

我用 multimon 听 DTMF 音调我尝试使用 awk 来过滤数字并相应地进行。例如,如果我从 radio 中键入“0”,系统必须重新启动等,但首先要确认操作。 "计算机将重新启动,发送 # 以确认"...

我尝试使用 espeak 对远程 radio 进行语音确认。连接到 pc 声卡的 radio 接收命令并传输响应。

我不只是知道如何在 espeak 中的 awk 中嵌套 multimon。

Multimon 本身不允许我对它的标准输出做任何事情,因为它正在运行(听到数字后不要终止,这确实是正确的)。

如果我知道如何只说出每个数字而不退出自然的 multimon 循环,那将非常有帮助。

例如,multimon -a DTMF | awk'{print}' espeak -stdin如果这简单有效!

可以吗?欢迎任何帮助。

3 年过去了,linux DTMF 解码仍然没有进步。

一旦我在 Linux 中没有看到任何 DTMF radio 控制项目,我打算发布这个,我可以解决这个问题。

谢谢/马里奥/巴西圣保罗

最佳答案

我认为我的回答已经过时,也许您已经找到了解决方法。

我遇到了同样的问题,发现问题出在 multimon 中。当您将标准输出从 multimon 传输到另一个程序时,multimon 不会正确刷新详细输出。

尝试修补并重新编译 multimon,添加“fflush(stdout);”,如下所示:

(unixinput.c,第 71 行左右)

    void verbprintf(int verb_level, const char *fmt, ...)
{
va_list args;

va_start(args, fmt);
if (verb_level <= verbose_level) {
vfprintf(stdout, fmt, args);



fflush(stdout); //ADD THIS LINE!!!!!!!!!!!!!!!



}
va_end(args);
}

最好的问候,

-爱德华多

关于linux - 通过 multimon、awk 和 espeak 监控 DTMF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2197271/

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