Pythonでオーディオ録音機能を実現する方法は何ですか?

Pythonのオーディオ処理ライブラリであるpyaudioを使用して、音声録音機能を実装することができます。

最初に、pyaudioライブラリをインストールする必要があります。次のコマンドを使用してインストールできます:

pip install pyaudio

次に、音声録音機能を実装するために以下のコードを使用することができます。

import pyaudio
import wave

# 设置参数
chunk = 1024  # 每次录制的音频大小
format = pyaudio.paInt16  # 音频格式
channels = 2  # 声道数
rate = 44100  # 采样率
record_seconds = 5  # 录制时长
output_file = "output.wav"  # 输出文件名

# 创建PyAudio对象
p = pyaudio.PyAudio()

# 打开音频流
stream = p.open(format=format,
                channels=channels,
                rate=rate,
                input=True,
                frames_per_buffer=chunk)

print("开始录制音频...")

frames = []

# 录制音频
for i in range(int(rate / chunk * record_seconds)):
    data = stream.read(chunk)
    frames.append(data)

print("录制音频结束.")

# 关闭音频流
stream.stop_stream()
stream.close()
p.terminate()

# 保存音频到文件
wf = wave.open(output_file, 'wb')
wf.setnchannels(channels)
wf.setsampwidth(p.get_sample_size(format))
wf.setframerate(rate)
wf.writeframes(b''.join(frames))
wf.close()

print("音频保存成功:", output_file)

上記のコードでは、まず音声の録音パラメーターが設定されます。これには、音声のサイズ、形式、チャンネル数、サンプリングレート、録音時間などが含まれます。次に、PyAudioオブジェクトが作成され、open()メソッドを使用して音声ストリームが開かれます。その後、ループを使用して音声ストリームのデータを読み取り、データをframesリストに追加して音声を録音します。最後に、音声ストリームを閉じ、PyAudioオブジェクトを停止し、録音した音声データをファイルに保存します。

上記のコードを実行すると、音声の録音が開始され、録音が完了すると指定されたファイルに保存されます。必要に応じてパラメーターやファイル名を変更することができます。

bannerAds