- 如何在声卡每次采集一个数字时听到口头的 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/