问题描述
我想从实时音频流中检测 DTMF 音调。 我能够录制现场音频并使用 sox 将其存储到波形文件中:
sox -b 16 -e signed-integer -c 1 -d -t wavpcm tt.wav
我还可以使用 multimon-ng 检测音调:
multimon-ng -t wav -a DTMF tt.wav
但是当我连接两者时它不起作用:
sox -b 16 -e signed-integer -c 1 -d -t wavpcm - | multimon-ng -t wav -a DTMF -
请帮助我完成此流程 - 现场录制音频 + 检测 DTMF 音 + 打印字符代码
解决方法
我还没有尝试过,但我想到的是使用命名管道
mkfifo ~/fifo
sox -b 16 -e signed-integer -c 1 -d -t wavpcm ~/fifo &
multimon-ng -t wav -a DTMF ~/fifo
貌似之前也有类似的解决方法: