Raspbian:检查声音输出

胡安·安东尼奥·米拉莱斯

如何从命令行检查(使用ALSA插件创建的虚拟设备的)音频线输出是否有音频信号?并检查信号强度吗?

胡安·安东尼奥·米拉莱斯

我找到了使用“ sox”工具(sox man的解决方案我可以使用此答案中建议的方法(将声音输出发送到应用程序和扬声器)在alsa虚拟设备调用“回送”中获取信号,同时还将其发送到输出设备,然后使用sox查找是否存在信号它的优点是:

sox -b 16 -t alsa hw:Loopback,1,0 -r 48000 -n stat

(-b-> 16位信号,-t(alsa hw:Loopback,1,0)->给我信号的虚拟设备,-r 48000->采样频率和-n stat->分析信号)

该命令给出如下输出:

Input File     : 'hw:Loopback,1,0' (alsa)
Channels       : 2
Sample Rate    : 48000
Precision      : 16-bit
Sample Encoding: 16-bit Signed Integer PCM


In:0.00% 00:00:02.47 [00:00:00.00] Out:115k  [-=====|=====-] Hd:3.9 Clip:0  

Samples read:            229376
Length (seconds):      2.389333
Scaled by:         2147483647.0
Maximum amplitude:     0.630951
Minimum amplitude:    -0.630981
Midline amplitude:    -0.000015
Mean    norm:          0.159916
Mean    amplitude:    -0.004383
RMS     amplitude:     0.198459
Maximum delta:         1.176422
Minimum delta:         0.000000
Mean    delta:         0.223984
RMS     delta:         0.278537
Rough   frequency:        10721
Volume adjustment:        1.585

当您收到信号时,如无信号时:

Input File     : 'hw:Loopback,1,0' (alsa)
Channels       : 2
Sample Rate    : 48000
Precision      : 16-bit
Sample Encoding: 16-bit Signed Integer PCM

In:0.00% 00:02:23.70 [00:00:00.00] Out:6.89M [      |      ]        Clip:0

Samples read:          13787136
Length (seconds):    143.616000
Scaled by:         2147483647.0
Maximum amplitude:     0.000000
Minimum amplitude:     0.000000
Midline amplitude:     0.000000
Mean    norm:          0.000000
Mean    amplitude:     0.000000
RMS     amplitude:     0.000000
Maximum delta:         0.000000
Minimum delta:         0.000000
Mean    delta:         0.000000
RMS     delta:         0.000000
Rough   frequency:            0

可以在(Sox手册页)中找到“ -n stat”工具的含义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章