Pythonを使用して、マイクから音量を取得する方法をご紹介します。
必要なライブラリ
- pyaudio
- numpy
インストール
以下のコマンドを使用して、必要なライブラリをインストールしてください。
pip install pyaudio numpy
コード
以下のPythonコードを使用して、マイクから音量を取得することができます。
import pyaudio
import numpy as np
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)
while True:
data = np.frombuffer(stream.read(CHUNK), dtype=np.int16)
rms = np.sqrt(np.mean(np.square(data)))
print(rms)
解説
CHUNKは、ストリームから一度に読み取るフレーム数を指定します。値が小さいほど、取得される音量データはより正確になりますが、CPU負荷が高くなります。FORMATは、ストリームから読み取るデータのフォーマットを指定します。CHANNELSは、ストリームから読み取るチャンネル数を指定します。RATEは、サンプリング周波数を指定します。pは、PyAudioオブジェクトを表します。streamは、マイクからのストリームを表します。np.frombufferを使用して、ストリームから読み取ったデータをNumPy配列に変換します。np.meanを使用して、データの平均値を計算します。np.squareを使用して、各値を自乗します。np.sqrtを使用して、各値の平方根を計算します。printを使用して、音量を出力します。
結論
Pythonを使用して、マイクから音量を取得する方法を説明しました。この方法を使用すると、Pythonを使用してオーディオアプリケーションを作成することができます。