2024-09-30 04:32:03 发布
网友
有人能给我指出一个好的库来在Python2.7中生成音符和和弦吗?我看了一下PythonInfoWiki,没有太多的运气,PyAudio只是崩溃了,其他似乎没有什么能产生音调。在
我不知道这是否有用,但这里有一些代码可以根据给定的频率和振幅合成复杂的声音:
import math import wave import struct def synthComplex(freq=[440],coef=[1], datasize=10000, fname="test.wav"): frate = 44100.00 amp=8000.0 sine_list=[] for x in range(datasize): samp = 0 for k in range(len(freq)): samp = samp + coef[k] * math.sin(2*math.pi*freq[k]*(x/frate)) sine_list.append(samp) wav_file=wave.open(fname,"w") nchannels = 1 sampwidth = 2 framerate = int(frate) nframes=datasize comptype= "NONE" compname= "not compressed" wav_file.setparams((nchannels, sampwidth, framerate, nframes, comptype, compname)) for s in sine_list: wav_file.writeframes(struct.pack('h', int(s*amp/2))) wav_file.close() synthComplex([440,880,1200], [0.4,0.3,0.1], 30000, "tone.wav")
这就是我在python中用来生成音符和和弦的代码。你应该有一个第一个参数的频率列表,一个振幅列表(大小与第一个相同),一些样本和文件名。它将生成具有给定组合的wav文件。在
我不知道这是否有用,但这里有一些代码可以根据给定的频率和振幅合成复杂的声音:
这就是我在python中用来生成音符和和弦的代码。你应该有一个第一个参数的频率列表,一个振幅列表(大小与第一个相同),一些样本和文件名。它将生成具有给定组合的wav文件。在
相关问题 更多 >
编程相关推荐