\

Pythonを使用してWAVファイルを再生する方法について説明します。この記事では、Pythonの標準ライブラリであるwavepyaudioを使用します。

必要なモジュール

以下のモジュールが必要です。

  • numpy
  • matplotlib
  • wave
  • struct
  • pyaudio

WAVファイルの再生

まず、numpyを使用して音声データを生成します。

import numpy as np

sec = 1 #1秒
note_hz = 440 #ラの音の周波数
sample_hz = 44100 #サンプリング周波数
t = np.arange(0, sample_hz * sec) #1秒分の時間の配列を確保
wv = np.sin(2 * np.pi * note_hz * t/sample_hz)

次に、生成した音声データをWAVファイルとして出力します。

import wave
import struct

max_num = 32767.0 / max(wv) #バイナリ化の下準備の下準備
wv16 = [int(x * max_num) for x in wv] #バイナリ化の下準備
bi_wv = struct.pack("h" * len(wv16), *wv16) #バイナリ化

最後に、pyaudioを使用して音声を再生します。

import pyaudio

p = pyaudio.PyAudio()
stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

stream.write(bi_wv)
stream.close()
p.terminate()

以上がPythonを使用してWAVファイルを再生する基本的な方法です。この方法を使用すれば、自分で生成した音声データを再生したり、既存のWAVファイルを再生したりすることが可能です。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です