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