DURATION = 5 # 秒 def generate_sine_wave(freq, sample_rate, duration): x = np.linspace(0, duration, sample_rate * duration, endpoint=False) frequencies = x * freq y = np.sin((2 * np.pi) * frequencies) return x, y # 产生持续5秒的2赫兹正弦波 x, y = generate_sine_wave(2, S...
# generate the sine wave new_wave = [np.sin(2 * np.pi * frequency * x/sampling_rate) + np.sin(2 * np.pi * frequency1 * x/sampling_rate) for x in range(num_samples * play_time)] writeWave(new_wave) def createWave(frequency, frequency1, wave_type, play_time): if wave_type...
1 正玄波信号函数: def createSine(frequency, play_time): # generate the sine wave new_wave = [np.sin(2 * np.pi * frequency * x/sampling_rate) for x in range(num_samples * play_time)] writeWave(new_wave) 2方波信号函数: def createSquare(frequency, play_time): new_wave = [signal...
下面是一个简单的Python代码示例,用于生成正弦序列: importnumpyasnpimportmatplotlib.pyplotaspltdefgenerate_sine_wave(amplitude,frequency,phase,vertical_shift,num_samples,sampling_rate):time=np.linspace(0,num_samples/sampling_rate,num_samples)signal=amplitude*np.sin(2*np.pi*frequency*time+phase)+vertical...
num_samples=48000sampling_rate=48000.0amplitude=16000comptype='NONE'compname='not compressed'nchannels=1sampwidth=2FILE_NAME=''defcreateSine(frequency,frequency1,play_time):# generate the sine wave new_wave=[np.sin(2*np.pi*frequency*x/sampling_rate)+np.sin(2*np.pi*frequency1*x/sampling_rat...
x, y = generate_sine_wave(2, SAMPLE_RATE, DURATION) plt.plot(x, y) plt.show() x轴以秒为单位表示时间,并且由于每秒钟的时间都有两个峰值,因此可以看到正弦波每秒振荡两次。 混合音频 下面将两个正弦波,混合音频信号仅包括两个步骤: 将正弦波加在一起,然后进行归一化的操作。
generate_sine_wave 函数生成一个正弦波数据集,用于训练和测试 LSTM 模型。 SEQ_LENGTH 和NUM_SAMPLES 分别设置序列长度和样本数量。 X 是输入序列(去掉每个正弦波序列的最后一个点),y 是输出序列(每个正弦波序列的最后一个点)。 数据重塑: 将输入数据 X 重塑为 [samples, time steps, features] 的形状,这是...
import wave,math from winsound import PlaySound,SND_FILENAME def generate(T,total,volume,sine=False):# T: 周期, total 总长度, 都以帧为单位ifnot sine:h= T /2foriinrange(total):ifi % T >=h: yield volumeelse: yield0else:# 计算方法: sin 的 T = 2*pi / ww =2* math.pi / T...
if __name__ == "__main__":print('简易波形⽣成器')filename = input('请输⼊⽤于保存波形的⽂件名: ')frequency = int(input('正弦波的声⾳频率(单位:赫兹):'))duration = float(input('持续时间()单位:秒: '))generateSineWaveFile(filename, 48000, frequency, duration)
Yh = UF.genSpecSines(yhfreq, yhmag, yhphase, N, fs)# generate spec sinesmYs = resample(mYrenv, hN)# interpolate to original sizemYs =10**(mYs/20)# dB to linear magnitudepYs =2*np.pi*np.random.rand(hN)# generate phase random valuesYs = np.zeros(N, dtype = complex) ...