오디오 라인 출력(ALSA 플러그인을 사용하여 생성된 가상 장치)에 오디오 신호가 있는지 명령줄에서 어떻게 확인할 수 있나요? 신호 강도를 확인하시겠습니까?
답변1
"sox" 도구를 사용하여 해결책을 찾았습니다(양말 남자). 이 답변에서 제안한 방법을 사용할 수 있습니다(애플리케이션 및 스피커로 사운드 출력 보내기) alsa 가상 장치에서 신호를 얻으려면 출력 장치로 보내는 동안 "Loopback"을 호출한 다음 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
"-n stat" 도구의 의미는 (레드삭스 매뉴얼 페이지)