python模仿声音_python – 如何合成声音?

我想制作类似于真实乐器音频的声音.问题是我很少知道怎么做到这一点.

我所知道的远离真实乐器的是它们输出的声音很少干净.但是如何产生这种不洁的声音呢?

到目前为止,我已经做到了这一点,它产生了非常简单的声音,我不确定它是否正确地使用了alsa.

import numpy

from numpy.fft import fft, ifft

from numpy.random import random_sample

from alsaaudio import PCM, PCM_NONBLOCK, PCM_FORMAT_FLOAT_LE

pcm = PCM()#mode=PCM_NONBLOCK)

pcm.setrate(44100)

pcm.setformat(PCM_FORMAT_FLOAT_LE)

pcm.setchannels(1)

pcm.setperiodsize(4096)

def sine_wave(x, freq=100):

sample = numpy.arange(x*4096, (x+1)*4096, dtype=numpy.float32)

sample *= numpy.pi * 2 / 44100

sample *= freq

return numpy.sin(sample)

for x in xrange(1000):

sample = sine_wave(x, 100)

pcm.write(sample.tostring())