Impro-Visor has been tested in the Softpedia labs using several industry-leading security solutions and found to be completely clean of adware and spyware components. To assure our visitors that Impro-Visor is clean, we have granted it with the 100% FREE Softpedia award.
(more certifications)

Welcome to Impro-Visor

Jazz Improvisation Advisor

for the Improviser


Free Open-Source Software from

Harvey Mudd College

Computer Science Department


This document is
Copyright © 2008-2010

by Robert M. Keller, all rights reserved.


The software is free and licensed under
GNU General Public License, v2.

 

Impro-Visor is a Registered Trademark.
The logo was drawn by Franz Keller and
is Copyright © 2009-2010 by Robert M. Keller,
all rights reserved.

 

Page Rank

Last update: Tuesday, 24 August 2010

Version 4.12 is now available through either Get Impro-Visor at SourceForge.net. Fast, secure and Free Open Source software downloads or

Please join the Yahoo! user group to download The Imaginary Book and user-contributed works.

Certifications | Tutorial | Samples | Program Downloads | Comments | Photos | Videos

 

Impro-Visor (short for “Improvisation Advisor”) is a music notation program designed to help jazz musicians compose and hear solos similar to ones that might be improvised. The objective is to improve understanding of solo construction and tune chord changes. There are other, secondary, things it can do, such as improvise on its own. It has also been used for transcription. Because rhythm-section (e.g. piano, bass, drums) accompaniment is automatically generated from chords, Impro-Visor can be used as a play-along device. Now having a wider array of accompaniment styles, its use is not limited to jazz.

 

Impro-Visor Screen Shot:

 

 

 

Partial List of Features:

 

Lead sheets and solos can be constructed through either point-and-click or using a plain text editor (one is provided, but any editor can be used).

 

Optional automatic note coloration shows whether notes are consonant or dissonant with chords and scales.

 

Harmonic note entry option guides the user to select notes that are consonant with harmony. Similarly, transposition options provide chromatic or harmonic transposition.

 

Solos or solo fragments can be played back immediately on the computer, with automatic rhythm section accompaniment.

 

Can be used for self-study, classroom, or play-along. Any segment of a leadsheet can be played back in looped mode.

 

Users can define new accompaniment styles. There is spreadsheet-like Style Editor, and a Style Extractor facility that helps create styles from MIDI performances. .

 

Solos and heads may be exported as MIDI files, with accompaniment if desired.

 

Solos and heads may be exported as MusicXML, for import to other popular music notation software.

 

It is not necessary that the soloist memorize the solos that are created in Impro-Visor. The act of constructing solos is intended to help one get a better understanding of the tune and of solo construction. But one can use some or all of the ideas from pre-constructed solos, as many generations of outstanding players have done.

 

Impro-Visor also provides a way for the user to create and save licks for later use. Lick creation is helpful in understanding how to construct interesting lines over chord changes.

 

When used for transcription, Impro-Visor allows easy "mining" of selected licks from a solo for future reference.

 

Impro-Visor uses menus to help one choose notes, cells, idioms, licks, and quotes for use in constructing a solo.

 

Musical knowledge about chords, scales, licks, etc. are definable by the user or instructor, in the form of a vocabulary text file. These items are defined in a single key, and Impro-Visor will transpose them to any key.

 

Impro-Visor includes a powerful lick generation capability. Licks, or entire choruses, can be generated in near-real time just by pressing a button. The generation of licks is controlled by a user-modifiable grammar, so that a range of styles and complexities is possible.

 

Impro-Visor can learn grammars for a particular style from a corpus of solos.

 

Impro-Visor saves solos and other lead sheets as free-form text. We call this leadsheet notation. Although a point-and-click interface is provided, users can optionally enter chords and/or melody in this notation with a standard text editor and have them displayed as a lead sheet in Impro-Visor. The documentation tells how to create and interpret the notation. The notation also provides slash-chords and polychords.

 

Any number of leadsheet windows can be open simultaneously. The user can cut and paste melody and chords from one window to another.

 

The release of Impro-Visor comes with a few leadsheets with melodies, a number of sample solos, transcriptions, and The Imaginary Book: a large set (over 2500) of chords-only lead sheets for standard, jazz, and some pop tunes.

 

Impro-Visor is free and runs on any platform that supports Java 1.5 or later, including:

Windows (Vista, XP, 2000, maybe others)

MacOSX (with Java 1.5 installed)

Linux

 

Documentation that you might find helpful:

 

Tutorial

 

Impro-Visor's Scale and Chord Repertoire

 

How To Improvise Jazz Melodies by Bob Keller

 

Guide to Leadsheet Notation (pdf)

 

Improvisation Education Support Software (pdf)
Slides from a talk at the Sixteenth Annual Leeds International Jazz Conference, March 2010, Leeds, England

 

Blues for Gary: Design Abstractions for a Jazz Improvisation Assistant,
ENTCS (Electronic Notes in Theoretical Computer Science), 193 (2007) 47-60,
by Keller, Hunt, Jones, Morrison, Wolin, and Gomez

 

Slides related to the above paper

 

Paper presented at the Third Workshop on Computational Creativity,
European Conference on Artificial Intelligence, 2006 (ECAI '06), Riva del Garda, Italy:

            A Computational Framework Enhancing Jazz Creativity

             by Keller, Jones, Morrison, Thom, and Wolin.

 

Paper appearing in the Fourth Sound and Music Computing Conference, SMC 2007, Lefkada, Greece:

            A Grammatical Approach to Automatic Improvisation, by Keller and Morrison.

 

Slides from JavaOne, 2009: Making Music with Java (requires Sun Developer Network login)

 

Paper appearing in the Sixth Sound and Music Computing Conference, SMC 2009, Porto, Portugal:

            Learning Jazz Grammars, by Gillick, Tang, and Keller.

 

Slides from the above presentation

 

A Clustering Algorithm for Recombinant Jazz Improvisations, Jonathan Gillick’s Honors Thesis, Math Department, Wesleyan University, 2009.

 

Early paper describing usage:

An Interactive Tool for Learning Improvisation Through Composition,

by Keller, Jones, Thom, and Wolin,

Tech Rept. HMC- CS - 2005-02, Harvey Mudd College, Sept. 2005

 

A related paper on techniques not yet in Impro-Visor:

Learning to Create Jazz Melodies Using Deep Belief Nets (pdf),

by Greg Bickerman, Sam Bosley, Peter Swire, and Robert Keller,

Proc. First International Conference on Computational Creativity, Lisbon, Portugal, January, 2010

 

Credits:

 

Concept:

Bob Keller

 

Design:

Bob Keller, Steve Gomez, Martin Hunt, Stephen Jones,

David Morrison, Belinda Thom, Aaron Wolin, Jim Herold, Brandy McMenamy, Sayuri Soejima

Jon Gillick, Kevin Tang, Emma Carlson, Stephen Lee

Lasconic (Nicolas Froment)

 

Implementation:

Bob Keller, Steve Gomez, Martin Hunt, Stephen Jones,

David Morrison, Aaron Wolin, Jim Herold, Brandy McMenamy, Sayuri Soejima, John Goodman

Jon Gillick, Kevin Tang, Emma Carlson, Stephen Lee, Chad Waters

Lasconic (Nicolas Froment)

 

Support:

This project was supported by a Mellon Foundation Faculty

Enhancement grant to Professors Keller and Thom, by

the National Science Foundation REU Program under grant

Award No. 0451293 to Harvey Mudd College,

and by a grant from the Baker Foundation.

 

Software Libraries and Tools Used in Development:

NetBeans IDE 4.x, 5.x, 6.x

Polya Java Library

jMusic Java Library, created by Andrew Sorensen and Andrew Brown at Queensland University of Technology

 

Sincerely,

 

Bob Keller

Csilla and Walt Foley Professor of Computer Science

Harvey Mudd College