私は、与えられた期間、与えられた周波数の正弦波を生成し、それを.wavファイルに書き込もうとしています。私はnumpyのsin関数とscipyのwavfile関数を使用しています。私は確かに正弦波ではない奇妙な音を得ています。Pythonを使用して正弦波を生成するにはどうすればよいですか?
import numpy as np
from scipy.io import wavfile
fs = 44100
f = int(raw_input("Enter fundamental frequency: "))
t = float(raw_input("Enter duration of signal (in seconds): "))
samples = np.arange(t * fs)
signal = np.sin(2 * np.pi * f * samples)
signal *= 32767
signal = np.int16(signal)
wavfile.write(str(raw_input("Name your audio: ")), fs, signal)
助けてください。正弦波か何かについて根本的に間違った仮定をしましたか?
samples = np.linspace(0, t, int(fs*t), endpoint=False)
に
'samples = np.arange(t * fs)/ fs'を実行するとどうなりますか? –