Based on my procedural music project I had been working on here. I've made some improvements. Abstracted the playback some, can now play through numpy, oss, or pyaudio. The plan is to default to the best playback method, right now it just uses the first one that seems available. I did this because I got dozens of complaints about using just pyaudio. Can save audio to wave files, other formats would be nice but are not worth my time right now. It's got a few example files to give some idea of usage, but no documentation.
Google code project page is up: http://code.google.com/p/python-musical/
Download link: http://python-musical.googlecode.com/files/python-musical.tar.gz
arpeggiated chord progression
randomly generated lead (with chorus effect)
basic example of waveform generating
If you want to take a listen without running it, I saved the audio output of examples 1 and 2...