pythonで1秒の440hz(ドレミファでいうラ音)を再現してみました。wikiで必要なネタなのでちょっと予習中です。使ってみた感想というと、なにこれ!超簡単じゃないですか!C言語に比べて圧倒的な簡略化じゃないですかヤダー!という気持ち。田舎者が都会に出てきて、最近の常識はコレですよ感を見せつけれたような心境です(泣。
import numpy as np import wave import struct from matplotlib import pylab as plt fname = '440Hz.wav' fs = 44100 f = 440 sec = 1 A = 32767 samples = sec * fs t = np.linspace(0, sec, samples) s = A * np.sin(2 * np.pi * f * t) s = np.rint(s) s = s.astype(np.int16) data = struct.pack("h" * samples , *s) wf = wave.open(fname, 'w') wf.setnchannels(1) wf.setsampwidth(2) wf.setframerate(fs) wf.writeframes(data) wf.close() plt.plot(s[0:441]) plt.show()