PySoundFileでのWaveの読み書き

インストール

公式サイトInstallation を参考に

サイン波をwaveに出力

In [1]:
import numpy as np
import soundfile as sf
import matplotlib.pyplot as plt
%matplotlib inline

#Sine波の作成
time_len_sec = 10
samplerate_Hz = 48000
freq_Hz = 440.0

time_sample = np.arange(0, samplerate_Hz * time_len_sec)
wave_data = np.sin(2 * np.pi * freq_Hz / samplerate_Hz * time_sample)

#waveに出力
sf.write("sineWave_f440_fs48000_10sec.wav", wave_data, samplerate_Hz)

サイン波waveを読み込む

In [2]:
#ndarrayとsamplerateのタプルが返ってくる
sin_wave, _ = sf.read("sineWave_f440_fs48000_10sec.wav")

#読み込みデータの確認
plt.plot(range(sin_wave.size), sin_wave)
plt.xlim(0, sin_wave.size / 1000)
plt.show()
In [ ]: