Tree [r1961] /

File Date Author Commit
 build 2013-08-06 keller91711 [r1464] Remove sub-directories of build/, which contain...
 grammars 2015-07-13 carlilessard [r1948] Preferred directory for transforms is now the t...
 improvisor 2011-10-10 keller91711 [r668] Preparing release 5.05
 info-not for release 2011-09-16 keller91711 [r619] Working out dictionary and virtual tonic "t" is...
 leadsheets 2015-05-27 keller91711 [r1744] Prepping for Version 7.0 release.
 midi 2012-04-28 keller91711 [r1029] Cleaning up midi import.
 nbproject 2011-06-21 keller91711 [r161] Eliminated Complexity Window Stuff which was ne...
 packaging 2009-11-30 keller91711 [r79]
 sc 2015-06-26 zuchermann [r1855] Pitch detection now runs on windows
 src 2015-07-15 mikaylakonst [r1961] Now have the option to produce a guide tone lin...
 styleExtract 2012-05-02 keller91711 [r1056] StyleExtract files added.
 styles 2015-05-28 keller91711 [r1750] Changed bluegrass style to fix looping issue.
 transforms 2015-07-13 carlilessard [r1948] Preferred directory for transforms is now the t...
 vocab 2015-05-29 keller91711 [r1755] Ratchet point, working on Theme Weaver.
 COPYING.txt 2012-01-18 keller91711 [r682] Checkpoint, version 5.09 starting
 INSTALL.txt 2011-10-10 keller91711 [r668] Preparing release 5.05
 LICENSE.txt 2009-07-28 keller91711 [r11] Changed license to v 2.
 README.txt 2015-05-28 keller91711 [r1750] Changed bluegrass style to fix looping issue.
 build.xml 2015-05-28 keller91711 [r1751] Committed install4j configuration file.
 configuration.install4j 2015-05-28 keller91711 [r1751] Committed install4j configuration file.

Read Me

Welcome to Impro-Visor (Improvisation Advisor) Version 7.0,
from Prof. Bob Keller at Harvey Mudd College, 27 May 2015.

Release notes for this version may be found at the end.

If you need help, please post to the Yahoo! impro-visor user group:

From the group, you may also obtain The Imaginary Book which contains a
large number of chords-only leadsheets, as well as other useful

Impro-Visor is free and runs on any platform that supports Java 1.6 or
later, including:
    Windows (XP, 2000, Vista, 7, 8)
    MacOSX (Snow Leopard 10.6 or later needed for Java 1.6)

The official information site for Impro-Visor is:

which is the same as

The official download site for Impro-Visor is sourceForge:

Download the installer that is provided for your platform, 
then launch the installer.

Once the program is installed, there should be a launcher


that will run the program itself. The first time the program is run it
will set up a folder in your user home for your personal version of
various files.

On Windows, you will need to adjust MIDI settings to get sound on your 
particular system. The Impro-Visor MIDI control panel is identified by
a black circular icon (representing a MIDI connector) on the right side 
of the upper icon bar. Set it to one of:

    Microsoft GS Wavetable SW Synth  

    Microsoft MIDI Mapper
    some external synth.

Alternatively, you may run by double-clicking the file: 


which is a Java archive.

You cannot start the application by clicking on individual leadsheet
files. They must be opened from within.
You can download the latest version of Java free from:

What you want is the JRE (Java Runtime Environment).

I am pleased to acknowledge contributions from the following developers:

 Stephen Jones, Aaron Wolin, David Morrison, Martin Hunt, 
 Steven Gomez, Jim Herold, Brandy McMenamy, Sayuri Soejima, Emma Carlson, 
 Jon Gillick, Kevin Tang, Stephen Lee, Chad Waters, John Goodman, Lasconic, 
 Julia Botev, Michael Carney, Paul Hobbs, Ryan Wieghard, Amos Byon, 
 Zachary 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, Kelly Lee, Willem Engen, Eric Chicot,
 Mark Heimann, Nava Dallal, Carli Lessard, Alex Putman, Becki Yukman

We hope you enjoy using the program. 


Bob Keller, Impro-Visor Project Director
Professor of Computer Science
Harvey Mudd College
Claremont, CA 91711

Release notes for Impro-Visor 7.0

There is a new grammar learning method based on relative pitches.

There is new solo generation method based on transformations from a basic

Trading can now be done with any grammar, not just ones designated for trading.

The former Solo Generator has been enhanced to become the Theme Weaver. There
is still a bit of work to be done on it.

There is a menu for quantize a melody to a specified number of sub-divisions
of a beat. This can be used to clean up melodies that are played by a human
in real-time on a MIDI instrument.

There are some new elements, such as arpeggiation, in the style pattern editor.

Individual style patterns (rather than just whole styles) can be named and
included by reference rather than by literally copying them.

The section sub-divider interface has been changed slightly.

Release notes for Impro-Visor 6.0

Now the pitch of the note is displayed to the left of the arrow-head note
cursor. This may be turned off in the View menu.

There is an alternate cursor in the shape of note head. The note head will
have a line through it if the note is on a line, and no line if the note is
on a space.

The Style/Section editor has been changed to allow greater flexiblity.

Sections may be added and removed on the staff by using a shift-click.

There is an option in the View menu to display Major 7 chords using a delta, 
and minor 7 flat 5 chords using a phi symbol, as is done in some leadsheets 
such as Aebersold and the Real Book.

There is a virtual keyboard for entering notes on the screen. It has an
advising option that indicates whether a note is a chord tone or color tone,
as well as some other options. This is opened as Advising Keyboard from the
Utilities menu or with control-shift-K. 

There is now an option within Import MIDI Tracks from File to infer chords.

Now the Style Extractor does not require a leadsheet file to specify chords;
extraction is done only form MIDI files. There are some added styles that were
extracted from MIDI files generated by ChordPulse.

The grammar formalism contains some new constructs, including the ability
to specify relative pitches (rather than just abstract notes), and other
built-ins, such as for generating George Garzone's triadic melodies. There
is also a grammar for Jerry Bergonzi's method of improvisation, described in
his book Melodic Structures.

Now a new leadsheet can be constructed from a roadmap.

The roadmap analysis algorithm has been changed to use harmonic tempo.

Now the Improv button will start improvisation over the selection and loop
continuously, until the button is toggled off.

There is a **preliminary** facility for audio input, however it requires 
co-installation of SuperCollider with the Tartini plug-in. Audio is converted
to MIDI, which Impro-Visor can input in real-time.


Release notes for Impro-Visor 5.16 

Improves MIDI recording, allowing resolution to be set. 

MIDI recording can now be done in conjunction with improvisation.

Memory leakage during recording is greatly reduced.

Re-organizes grammars for trading, in the form trade-4-A-chord, etc.
Here 4 is the number of bars traded, A means the computer goes first,
B means the user goes first. 'chord' means that tones are constrainted to
chord tones and approach tones. 'color' means that color tones and
scale tones are also used.

The layout of the main window is changed slightly for better ergonomics.


Release notes for Impro-Visor 5.15 

Improves handling of MIDI track importing.

Improves style extraction from MIDI capabilities.


Release notes for Impro-Visor 5.14 (pre-release)

Bug fix: Fixes MusicXML export that was broken in 5.12, 5.13.

Adds preliminary MIDI file import. Now a MIDI file can be loaded and played
as such. Single tracks can be imported as Impro-Visor melodies.
(We do not import an entire leadsheet with chord symbols, etc.)
Sysex events in the MIDI file are ignored.

Improves Style Extraction editor and repairs some long standing problems
in that area.

Replaces Generate button with Improvise toggle button. Now improvisation
will continue until the button is toggled a second time. Playback stop is
still through the stop button or the K key.


Release notes for Impro-Visor 5.13

Bug fix: Selecting New Leadsheet (control-N) caused the program to hang.


Release notes for Impro-Visor 5.12

Added volume specification options to style specifications. (Use Vnnn where
nnn is an integer between 0 and 127 to control volume in notes following
this term, up to the next V setting.)

Changed Style Editor and Piano Roll Editor to accommodate volumes.

Changed the layout of the Piano Roll Editor so that controls are at the top.

Now the percussion instrument names can be names rather than numbers as before.
Numbers are still accepted, but when style files are written, names will be

Now MIDI channels can be assigned (in the Mixer panel), rather than be
confined to fixed settings (melody = 1, chords = 4, bass = 7, drums = 10).

Now there is an option to send MIDI Bank 0 Select before notes. This is
set in the MIDI Preferences panel.

Now each percussion instrument is assigned a separate MIDI track. This can
be useful if the MIDI output is used as input to a Digital Audio Workstation,
for example.

Updated style files to use names for percussion instruments, added some 
volume settings, and removed some redundant or unwanted patterns.

Fixed a problem in rendering bass lines, which was causing the bass instrument
to move out of range.

Fixed a problem with saving styles containing weights with decimal points
which would cause them to fail to load.


Release notes for Impro-Visor 5.11

Fixes a bug that prevented roadmaps from opening.


Release notes for Impro-Visor 5.10

The Style Editor workings have been greatly improved.  Looping now works without
having to set an inter-loop delay.  Copying and pasting of large groups of 
cells is silent, as is creation of a pianoroll.

The shortcut for creating a pianoroll for a column is now control-shift-click,
rather than shift-click as before.  (Shift-click is used to extend a multi-cell

A bug was fixed in style rendering for playback.  It only arose in certain 
styles, such as una-mas and senor-blues.

A bug was fixed wherein MIDI input entered during count-in would cause
the program to lock up.

There is a remaining problem with MIDI input.  If used for a long time, 
memory will fill up and the program will start slowing down and eventually
need to be restarted.  Usually this won't happen until after a couple of
choruses have been entered. The problem is being worked.


Release notes for Impro-Visor 5.09 (pre-release for 5.10)

Windows users: You may need to set your MIDI settings (identified by the
black circular icon) in Impro-Visor the first time you use this release. Use

    Microsoft GS Wavetable SW Synth  
if not using other MIDI devices. Use

    Microsoft MIDI Mapper

if using other MIDI devices. The setting

    Java Sound Synthesizer 

might not work.

Impro-Visor should remember your setting the next time you launch.

Added a new "push" element to style specifications, so that a chord can be
struck before it appears in the leadsheet. The swing style is the only one
currently using this feature. The former swing style has been renamed 

The Section and Style Settings have been reworked. Now a style for any section
other than the first can be specified as "Use style of previous section".
It will appear as an asterisk in the style position. The point of this
feature is that the style of an entire leadsheet can be changed without
changing the styles of each section individually. This is important for
roadmaps, since they will tend to use more sections to indicate harmonic

Some problems with MIDI selection have been worked out. It is believed that
changing MIDI instruments will no longer wedge the program. 

NOTE: Any MIDI instruments used must be in place and running before launching 
Impro-Visor. This includes software and hardware instruments.

Preference settings have been changed to 1-click. Icons for the various
preferences are found at the right end of the icon tool bar. They are,
left to right:

    Global settings (a picture of the Earth globe)

    Leadsheet settings (a leadsheet image)

    Chorus settings(a treble clef and time signature)

    Style and section settings (stylized note symbols)

    MIDI settings (a MIDI connector cross-section)

    Contour drawing settings (a pencil)

Except for MIDI, these are the same icons as in previous versions. Once the
preference window is opened, the icons inside can be used to select the
various types of preference, as before.

In the Roadmap window, the option of selecting play-on-click. This means
that clicking a brick will immediately play that brick.

The number of measures per line for roadmaps is now saved with the leadsheet.
The default is 8. Currently this number can only be set by starting with a
roadmap and creating a leadsheet, or by editing the text of the leadsheet
using the textual editor (or an external editor).

The small status indicator in the tool bar has been replaced with text
having green background in the uppermost menu-bar. Some improvements have
been made in the information conveyed by the status indicator.

The button for toggling note beaming has been replaced with a checkbox in the
View Menu.

A Recur button and Lead Beats spinner have been added next the Generate button.
We are gradually moving toward the ability to have Impro-Visor generate
choruses indefinitely. Currently this works by generating the next chorus 
just before the current chorus ends. The default setting is 1.05 beats before.
This setting is touchy, in that if it is not just right, the next chorus will
start too early or too late. The amount of beats required will depend on the
tempo and the complexity of the generating grammar.

When a selection or chorus is being played, the slot construction lines are
temporarily removed. The chord symbols are still shown in red.

A few new grammars have been added, including some for trading twos and eights,
with either the computer first ("My") or the player first ("Your"). I also
added a "Woody Shaw" grammar and a "Wes Montgomery" grammar derived from one
each of their respective solos. Also, there is a Chord+Approach grammar that
yields more "inside" melodies, as it does not introduce color tones 

Impro-Visor will now remember the last grammar used, and re-open with that

Impro-Visor will now remember the last style edited, and re-open the style
editor with that style.

Fixed a bug in interpreting the textual leadsheet notation, wherein multiple
dots on a note were wrongly interpreted. For example c2.. is now equivalent to

Fixed a bug in the style editor wherein the checkboxes were being ignored.
(The checkboxes are an indication not to save the instruments of those rows.)

Fixed a bug in the lick generator wherein parameters of the grammar, such
as pitch range, were not being set unless the lick generator control panel
is opened.

The recovery from a bad leadsheet file is somewhat improved. It is possible 
to escape the endless cycle caused by restarting with a bad leadsheet.

The number of bars per line was increased from 15 to 64.

The keyboard display, if used, now continues to update after the first


End of release notes for Impro-Visor 5.09