Please Share


"Impro-Visor" has been tested in the Softpedia labs using several industry-leading security solutions and found to be completely clean of adware/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-2020

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-2020 by Robert M. Keller,
all rights reserved.

 

Last update: 1 August 2019

Version 10.2 is now available for Download on SourceForge


Support by the developer is free through the Yahoo! user group

Uses | Classroom Use | FAQ | Certifications | Tutorials | Reference Card | Bob Keller's Jazz Page | Videos

60+ Ideas for Using | Samples | Roadmap Garden | Licks | Comments | Papers | References to | Photos | Links

 

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.

 

Chords may also be entered quickly through a "roadmap" editor, which also analyzes chord changes for implied keys and idiomatic progressions ("bricks").

 

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 example leadsheets. More resources are available through the Yahoo! users group: https://groups.yahoo.com/neo/groups/impro-visor/info

 

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

Windows (10, 7, 8, Vista, XP, 2000, maybe others)

MacOSX (with Java 1.8 installed)

Linux

 

Documentation that you might find helpful:

Impro-Visor's Scale and Chord Repertoire

 

How To Improvise Jazz Melodies by Bob Keller

 

Guide to Leadsheet Notation (pdf)

 

Other papers and presentations on, or related to, Impro-Visor

 

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),

Zack Merritt, Xanda Schofield, August Toman-Yih, David Halpern, Jack Davison,

Audrey Musselman-Brown, Kevin Choi, Brian Howell, Caitlin Chen, Nicolas Chung, Anna Turner,

Hayden Blauzvern, Nate Tarrh, Brian Kwak, Eric Chicot, Alex Putman, Carli Lessard,

Mark Heimann, Nava Dallal, Becki Yukman, Nathan Kim, Zach Kondak, Mikayla Konst,

Daniel Scanteianu, Amelia Sheppard, David Siah, Daniel Johnson, Nicholas Weintraut, Joseph Yaconelli,

Cai Glencross, Lukas Gnirke

 

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)

Zack Merritt, Xanda Schofield, August Toman-Yih, David Halpern, Jack Davison,

Audrey Musselman-Brown, Kevin Choi, Brian Howell, Caitlin Chen, Nicolas Chung, Anna Turner,

Hayden Blauzvern, Nate Tarrh, Brian Kwak, Willem Engen, Eric Chicot, Alex Putman,

Carli Lessard, Mark Heimann, Nava Dallal, Becki Yukman, Errick Jackson, Nathan Kim,

Zach Kondak, Mikayla Konst, Baunnee Martinez, Daniel Scanteianu, Amelia Sheppard, David Siah,

Daniel Johnson, Nicholas Weintraut, Sam Goree, Samantha Long, Isys Johnson, Joseph Yaconelli,

Cai Glencross, Lukas Gnirke

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,

by a grant from the Baker Foundation, and by Harvey Mudd College.

 

 

Software Libraries and Tools Used in Development:

 

install4j Multi-Platform Installer Builder by ej-Technologies GmbH

 

NetBeans Interactive Development Environment, versions 4-8.2

 

jMusic Java Library by Andrew Sorensen and Andrew Brown, Griffith University

 

Polya Java Library, created by Robert Keller

 

vectorz, created by Mike Anderson

 

Sincerely,

Bob Keller

 

Professor of Computer Science

Harvey Mudd College