从 url 读取 mp3 时 SOX 检测静音

从 url 读取 mp3 时 SOX 检测静音

我设置了一个很好的实用程序来记录和记录扫描仪无线电流量,然后使用 SOX 消除静音。为了连续录音,我不断调用带有静音检测功能的 SOX:

function dosox() {
/usr/bin/sox -t alsa -D "plughw:2,0" $DATE.wav silence 1 0.1 2% 1 1.0 2%
 dosox  
}
dosox

这对于 ALSA 声音设备非常有效。不过我现在想从 url 获取流。我使用如下 URL 源:

function dosox() {
/usr/bin/sox -t mp3 $CHAN_URL $DATE.wav silence 1 1.0 2% 1 2.0 2%   
 dosox  
}
dosox

通过流,SOX 似乎可以快速生成许多音频输出文件。其中许多文件几乎是重复的。 (它们包含相同的传输)。我认为 SOX 正在运行流缓存并考虑到文件的结尾,然后终止。 然后,当下次调用 SOX 时,它会获取相同的流,该流显然可以是已经流式传输的音频。

假设这是正在发生的事情,我正在寻找一种简单的方法,让 SOX 在流上实际静音时退出,但当它认为已经到达流的末尾时等待一段时间以获取更多音频。我尝试过的方法:

-使用 mplayer 流式传输到 fifo 并使用 SOX 读取它。

-尝试调整SOX静音效果的静音设置。

这是一个示例流

相关内容