마이크 볼륨을 모니터링하는 방법은 무엇입니까?

마이크 볼륨을 모니터링하는 방법은 무엇입니까?

나에게 맞지 않는 해결책을 찾았습니다.

오디오 - Linux에서 명령줄 도구를 사용하여 마이크 레벨 모니터링 - Think Tank 101 - CC 저작권 기반 Q&A 공유 플랫폼 https://superuser.com/questions/306701/monitoring-the-microphone-level-with-a-command-line-tool-in-linux

문제는 그들이 사용하고 있다는 것입니다.최대 진폭소리를 감지합니다. 그러나 녹음된 오디오에 침묵만 포함되어 있든 일부 소리가 포함되어 있든 나에게 그 가치는 항상 동일합니다. 예를 들어:

10초간 묵념(여기에서 다운로드 가능:http://denis-aristov.ucoz.com/en/test-mic-silence.wav):

$ arecord -f S16_LE -D hw:2,0 -d 10 /tmp/test-mic-silence.wav

$ sox -t .wav /tmp/test-mic-silence.wav -n stat
Samples read:             80000
Length (seconds):     10.000000
Scaled by:         2147483647.0
Maximum amplitude:     0.999969
Minimum amplitude:    -1.000000
Midline amplitude:    -0.000015
Mean    norm:          0.202792
Mean    amplitude:     0.009146
RMS     amplitude:     0.349978
Maximum delta:         0.913849
Minimum delta:         0.000000
Mean    delta:         0.001061
RMS     delta:         0.005564
Rough   frequency:           20
Volume adjustment:        1.000

10초 동안 약간의 소리 포함(여기에서 다운로드 가능:http://denis-aristov.ucoz.com/en/test-mic-sounds.wav):

$ arecord -f S16_LE -D hw:2,0 -d 10 /tmp/test-mic-sounds.wav

$ sox -t .wav /tmp/test-mic-sounds.wav -n stat
Samples read:             80000
Length (seconds):     10.000000
Scaled by:         2147483647.0
Maximum amplitude:     0.999969
Minimum amplitude:    -1.000000
Midline amplitude:    -0.000015
Mean    norm:          0.185012
Mean    amplitude:     0.010225
RMS     amplitude:     0.334286
Maximum delta:         1.999969
Minimum delta:         0.000000
Mean    delta:         0.006213
RMS     delta:         0.057844
Rough   frequency:          220
Volume adjustment:        1.000

차이점은 무엇입니까? 소리 감지에 사용되는 값은 무엇입니까? 아니면 뭔가 잘못되었기 때문에 일부 설정을 해야 합니까?

방금 다른 컴퓨터(마이크가 내장된 노트북)를 사용했습니다. Windows "Audio Recorder"를 사용하여 두 개의 WMA 파일(사운드 포함 및 제외)을 녹음했습니다. .을 사용하여 WAV 파일로 변환하고 audacity다음 출력을 얻습니다. 이번에는 최대 진폭이 다릅니다.

소음이 있어요:

$ sox -t .wav /tmp/mic-sounds.wav -n stat
Samples read:            581632
Length (seconds):      6.594467
Scaled by:         2147483647.0
Maximum amplitude:     0.999969
Minimum amplitude:    -1.000000
Midline amplitude:    -0.000015
Mean    norm:          0.013987
Mean    amplitude:     0.000062
RMS     amplitude:     0.065573
Maximum delta:         1.999969
Minimum delta:         0.000000
Mean    delta:         0.011242
RMS     delta:         0.047009
Rough   frequency:         5031
Volume adjustment:        1.000

소리가 나지 않음:

$ sox -t .wav /tmp/mic-silence.wav -n stat
Samples read:            372736
Length (seconds):      4.226032
Scaled by:         2147483647.0
Maximum amplitude:     0.029022
Minimum amplitude:    -0.029114
Midline amplitude:    -0.000046
Mean    norm:          0.005082
Mean    amplitude:    -0.000053
RMS     amplitude:     0.006480
Maximum delta:         0.030487
Minimum delta:         0.000000
Mean    delta:         0.005815
RMS     delta:         0.007285
Rough   frequency:         7891
Volume adjustment:       34.348

이는 다른 컴퓨터의 마이크에 문제가 있음을 의미합니까?

답변1

(이 접근 방식은 허용 가능한 것으로 보이며 의견이 보존을 보장하지 않으므로 다양한 의견을 바탕으로 답변합니다.)

예를 들어 오디오 편집기에서 첫 번째 녹음("10초의 무음")을 봅니다 audacity. 레벨이 0초에 1에서 1초에 -1, 1.5초에 0.5로 변한 다음 끝 부분에서 거의 0으로 떨어지면 DC(극저주파) 구성 요소를 볼 수 있습니다. 그 동안 마이크를 연결해 두셨나요? 그렇다면 약 기다려야합니다. 진폭은 측정 전 10초 동안 안정화됩니다. 그렇지 않은 경우 DC(직류, 즉 정전압 오프셋) 구성 요소입니다. sox시도해 볼 수 있는 몇 가지 필터가 있습니다.

sox아무런 문제 없이 쉘 스크립트의 필터를 사용할 수 있습니다 . 예를 들어 highpass 100초기 점프를 제외한 대부분의 콘텐츠를 필터링 해 보세요 .

DC 성분을 필터링하는 것이 너무 힘들다면 초기 부분을 무시하고 나머지 부분을 직접 사용할 수 있습니다.

관련 정보