================================================================================ I M P R O V I S E R ================================================================================ This is the automatic music generation program imaginatively called: 'Improviser'. It can play and generate music in real-time and save the result as a MIDI file as well. The program can be controlled using a GUI or the command line and is supposed to work on all the major platforms. http://improviser.onderstekop.nl/ http://pypi.python.org/pypi/improviser/ ================================================================================ Requirements: * A Python runtime - http://www.python.org * The Python mingus library with fluidsynth (see mingus' setup instructions) http://mingus.googlecode.com/ * A SF2 SoundFont. You can find thousands of those using Google. Some good ones can be found here: http://www.hammersound.net (go to Sounds -> Soundfont Library -> Collections). Optional: * Pygame for the Visualizations - http://www.pygame.org/ * Python bindings for Qt4. [Recommended] ================================================================================ Installation: * Install the required programs and libraries. * Run `python setup.py install` ================================================================================ Graphical User Interface: If you have the bindings for Qt4 installed. You can load up a GUI to control the improviser by running: qtImproviser.py This is the preferred way to go, because the GUI is not only a front-end for the cli version, but has support for up- and downloading and exporting and importing as well; which currently can't be found in the cli version. It's also easier to control. ================================================================================ Command Line Interface: To start a real-time simulation from the command-line, run: Improviser.py -e jazz --sf2 soundfont.sf2 This uses the jazz ensemble to play the default progressions with the soundfont you downloaded from the internet. You can use the --list or -l switch to list progressions, ensembles, blocks, etc. For instance: Improviser.py -le Gives you a list of the available ensembles. If you want to have a little visualization while the PC is jamming away, use the --frontend switch: Improviser.py --frontend mixed To see more options use --help. ================================================================================ Contact: If you'd like to get in touch to ask a question or submit a patch, you can best contact me by e-mail: onderstekop@gmail.com ================================================================================ Improviser - Automatic music generation software Copyright (C) 2008-2009, Bart Spaans <onderstekop@gmail.com> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. ================================================================================