/improviser

Musical content generation software in Python

Primary LanguagePython

================================================================================
                         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/>.

================================================================================