マイクの音量を監視する方法は?

マイクの音量を監視する方法は?

私に合わない解決策を見つけました。

オーディオ - 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」を使用して、2つの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成分をフィルタリングするのが難しい場合は、最初の部分を無視して残りの部分を直接使用できます。

おすすめ記事