Audacityを使用してオーディオ入力(マイクまたはライン入力)を監視すると、現在の入力レベルを表示できます。
テキストコンソールで入力レベルとビューレベルを監視する方法は?
答え1
arecord
とコマンドを使用すると、sox
1秒のサンプルを録音してそのレベルを測定できます。
arecord -qd 1 file && sox file -n stat
以下は出力例です。
Samples read: 8000
Length (seconds): 1.000000
Scaled by: 2147483647.0
Maximum amplitude: 0.992188
Minimum amplitude: -0.992188
Midline amplitude: 0.000000
Mean norm: 0.093221
Mean amplitude: -0.015338
RMS amplitude: 0.232947
Maximum delta: 0.617188
Minimum delta: 0.000000
Mean delta: 0.001067
RMS delta: 0.009643
Rough frequency: 52
Volume adjustment: 1.008
レベル/最大振幅にのみ興味がある場合は、結果をawk
4行目のみ出力する2番目のフィールドにパイプできます。
arecord -qd 1 /tmp/rec.waw && sox /tmp/rec.waw -n stat 2>&1 | awk 'BEGIN{FS=":"} NR==4 {print $2}'
進行状況を監視するには、次のコマンドをwhileループに入れることができます。
while :; do
arecord -qd 1 /tmp/rec.waw && sox /tmp/rec.waw -n stat 2>&1 | awk 'BEGIN{FS=":"} NR==4 {print $2}'
sleep 1 # repeat every one second
done
出力:
0.992188
0.023438
0.046875
0.375000
0.523438
0.109375
0.242188
出力をdB単位にするには、次のように計算できますawk
。
while :; do
arecord -qd 1 /tmp/rec.waw && sox /tmp/rec.waw -n stat 2>&1 | awk 'BEGIN{FS=":"} NR==4 {db=20*log($2)/log(10); printf("%0.4f\n",db}'
sleep 1 # repeat every one second
done
出力(dB):
-12.6467
-13.4366
-13.2010
-14.4959
答え2
あなたはそれを使用することができますsox
。 Pulseaudioと私のウェブカメラをソースとして使用する例:
sox -S -t pulseaudio alsa_input.usb-046d_0809_23E942AD-02.analog-mono -n stats
ALSA デバイスでも動作し、基本デバイスなどを指定できます。man sox
詳細より。pactl list short sources
Pulseaudioソースリストと一緒に使用されます。