Sound generation / synthesis with python? Sound generation / synthesis with python? python python

Sound generation / synthesis with python?


I was looking for the same thing, In the end, I wrote this code which is working fine.

import math        #import needed modulesimport pyaudio     #sudo apt-get install python-pyaudioPyAudio = pyaudio.PyAudio     #initialize pyaudio#See https://en.wikipedia.org/wiki/Bit_rate#AudioBITRATE = 16000     #number of frames per second/frameset.      FREQUENCY = 500     #Hz, waves per second, 261.63=C4-note.LENGTH = 1     #seconds to play soundif FREQUENCY > BITRATE:    BITRATE = FREQUENCY+100NUMBEROFFRAMES = int(BITRATE * LENGTH)RESTFRAMES = NUMBEROFFRAMES % BITRATEWAVEDATA = ''    #generating wawesfor x in xrange(NUMBEROFFRAMES): WAVEDATA = WAVEDATA+chr(int(math.sin(x/((BITRATE/FREQUENCY)/math.pi))*127+128))    for x in xrange(RESTFRAMES):  WAVEDATA = WAVEDATA+chr(128)p = PyAudio()stream = p.open(format = p.get_format_from_width(1),                 channels = 1,                 rate = BITRATE,                 output = True)stream.write(WAVEDATA)stream.stop_stream()stream.close()p.terminate()


I know I'm a little late to the game on this one, but this is a pretty fantastic python project for synthesis and audio composition: https://github.com/hecanjog/pippi

It's still actively being developed, but it's been going for a while.


After wasting time on some uncompilable or non-existent projects, I discovered the python module wavebender, which offers generation of single or multiple channels of sine, square and combined waves. The results can be written either to a wavefile or to sys.stdout, from where they can be interpreted directly by aplay in real-time. Some useful examples are explained here, and are included at the project's github page.