はじめに
pythonのpayaudioをつかってみる。PyAudioを使用すると、Pythonを使用して、Linux、Windows、macOSなどのさまざまなプラットフォームでオーディオを再生および録音ができる。 people.csail.mit.edu
Windows環境で今回はサンプルを動かしてみる。
環境構築
- Visual Studio Community2019とVisual C++ Build Toolsのインストール
- Python開発環境をインストールする
- 下記のライブラリをインストールする https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio
※ひとによってはVisulal Studio Community 2019をインストールしなくても動作したという記事をみましたが、自分はインストールしないとエラーになって動作しませんでした。
インストール
上記の環境構築後にようやくインストールすることが可能です。
python -m pip install pyaudio
サンプルコード
import pyaudio import wave CHUNK = 1024 FORMAT = pyaudio.paInt16 CHANNELS = 2 RATE = 44100 RECORD_SECONDS = 5 WAVE_OUTPUT_FILENAME = "output.wav" p = pyaudio.PyAudio() stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK) print("* recording") frames = [] for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)): data = stream.read(CHUNK) frames.append(data) print("* done recording") stream.stop_stream() stream.close() p.terminate() wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb') wf.setnchannels(CHANNELS) wf.setsampwidth(p.get_sample_size(FORMAT)) wf.setframerate(RATE) wf.writeframes(b''.join(frames)) wf.close()
- 公式サイトのサンプルはこちら people.csail.mit.edu
サンプル実行
- 実行後、5秒間話している内容をwavファイルに録音してくれます。
python sound.py * recording * done recording