我正在尝试生成一个给定频率和持续时间的正弦波,然后将其写入.wav文件中。我使用了numpy的sin函数和scipy的wavfile函数。但是,我得到了一个奇怪的声音,肯定不是正弦波。
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.arange(t * fs) / fs
会发生什么? - Paul Panzer