Pythonで音を鳴らす方法はいくつかありますが、ここでは2つの主要な方法を紹介します。
方法1: waveとpyaudioを使用する
この方法では、Pythonの標準ライブラリであるwaveと、音声を再生するための外部ライブラリであるpyaudioを使用します。以下にそのコードを示します。
import numpy as np
import wave
import struct
import pyaudio
# 音声データのパラメータ
sec = 1 #1秒
note_hz = 440 #ラの音の周波数
sample_hz = 44100 #サンプリング周波数
# 1秒分の時間の配列を確保
t = np.arange(0, sample_hz * sec)
# 正弦波を生成
wv = np.sin(2 * np.pi * note_hz * t/sample_hz)
# .wavファイルに出力
max_num = 32767.0 / max(wv) #バイナリ化の下準備
wv16 = [int(x * max_num) for x in wv] #バイナリ化の下準備
bi_wv = struct.pack("h" * len(wv16), *wv16) #バイナリ化
方法2: IPython.display.Audioを使用する
この方法では、Jupyter Notebook上で音を鳴らすためのIPython.display.Audioを使用します。以下にそのコードを示します。
import numpy as np
import IPython
rate = 48000 # サンプリングレート
duration = 1.0 # 音の長さ(秒)
t = np.linspace(0., duration, int(rate * duration)) # 時間軸
x = np.sin(2.0 * np.pi * 440.0 * t) # 正弦波を生成
# 音を鳴らす
IPython.display.Audio(x, rate=rate, autoplay=True)
これらの方法を使えば、Pythonで簡単に音を鳴らすことができます。音声処理を学ぶ上で、これらの方法は非常に有用です。.