Random Note Maker / RNM is Not Music was inspired by listening to what the music industry produces and thinking time and again "I could make a computer do that."
This is currently very much a work in progress, but I've decided to go ahead and check it in to Google Code, if nothing else but for my own version management. Currently you can run band.py (the main program file) and direct it to a text file (majorgeneral.txt is provided for testing purpoes). It creates a "vocalist" and generates lyrics for them, and the vocalist then performs (currently just recites) them.
Next steps are to make the vocalist speak in monotone, and then use pitch adjustment so it actually "sings." Then of course all the other music theory nonsense and accompaniment comes in. Resources I expect to use include:
http://code.google.com/p/mingus/ - Music package for Python
http://pypi.python.org/pypi/improviser/ - Improviser
http://pyaudiere.org/ - Python audio interface
I hope to avoid using VSTs and instead embrace LV2, but time will tell.