[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference napalm::commusic_v1

Title:* * Computer Music, MIDI, and Related Topics * *
Notice:Conference has been write-locked. Use new version.
Moderator:DYPSS1::SCHAFER
Created:Thu Feb 20 1986
Last Modified:Mon Aug 29 1994
Last Successful Update:Fri Jun 06 1997
Number of topics:2852
Total number of notes:33157

2355.0. "Ravel---AI Jazz Improv Program for IBM-PC" by AQUA::ROST (I'll do anything for money) Wed May 30 1990 13:03

    This is pretty fascinating.  A guy from USENET has developed a program
    that supposedly allows your IBM-PC to jam on jazz tunes....I'd like to
    hear this in action sometime!!!
    
From: jrb@shamu.WV.TEK.COM (James Binkley)
Subject: ravel rides again
Date: 29 May 90 20:56:55 GMT
 
A number of years ago, I decided to try and create a jazz
based improvisation system. As a result I ended up first
creating a music programming language that runs on the IBM-pc(mpu 401)
called Ravel. Ravel is a C-like interpreted programming language
that supports MIDI actions in the language. The
main thing is that it is concurrent. It is also modular and supports
an import/export mechanism for encapsulation.
 
There is a jazz guitarist and jazz teacher named Jerry Hahn.
He has a set of books out now (Mel Bay no less) that contain
a rule-based system for jazz improvisation that he came up
with over many years of teaching. I felt that it was extremely
close to being totally algorithmic (but not quite naturally) 
and decided to use his rule base and my model.
 
The current jazz improv program basically has that rule set coded up. 
The structure of the program is that there is a user i/f that
has some runtime parameters that can be changed by the user. Basically
there are four players (a quartet),
 
			drummer
			bassist
		        lead
			piano
 
The drummer is fairly primitive and is not using anything I can
be proud of in terms of algorithms. The piano player basically
plays the chords on the beat (and can jam using a different ruleset
that is based on various harmonization principles, but I wouldn't
rate it too high, poor to bad). The bass player and the
lead both use the Jerry Hahn rule set. The base player uses it to
a lesser extent. One of the user i/f parameters you can change is
a percent of various time durations for notes; e.g, half, quarter,
jazz eighths, that sort of thing. The lead player is a much
better improviser than I am, but that may not be saying a whole
lot. It could be better; it's not bad though.
 
There is a set of known chords and known scales. It can be added to.
It's just kept in arrays as symbolic constants at the moment. 
A piece is an intro + a chord sequence which is looped on forever.
 
The main thing about the system is that it is useful to me as
a vehicle for studying improvisation. I can jam with it. The bass
and piano alone are enough to improvise with. The bass player doesn't
suffer from lack of variety.
 
On the down side: It could stand much work in the area of theme and
variation. The drummer arena could stand some real work. (I need more
cpu too...). The piano player is a hack but...
 
It's fun.
 
Ravel as a programming language system is now in the public domain 
as of May 15, 1990.  If you want more information, please send U.S. mail to:
 
Jim Binkley
5814 SW Taylor
Portland, Oregon 97221.
 
It's free but free with a catch. There is about 370 pages of documentation
at this point + 3 disks of tools + music source. It costs $22.30
to get the manual xeroxed (latest round at Kinko's). 
I am asking slightly more to cover the rest of the materials.
If you get a copy, you can distribute it locally. Again
write me for details.
 
				Jim Binkley
				jrb@jove.cs.pdx.edu  
				
T.RTitleUserPersonal
Name
DateLines
2355.1PLEEZE ignore misspellingsDOOLIN::HNELSONWed May 30 1990 20:598
    I'm going to send away for this. I've been imagining something like it
    myself (only just barely, like I've been thinking of remote controllers
    for turning on multisync monitors from outside x-ray range). I'll
    cheerfully post a copy to COMMUSICers, if anyone else is interested.
    (After the first couple, requesters will be referred to earlier
    requesters.)
    
    - Hoyt
2355.2I like new musicMILKWY::JANZENTom 228-5421 FXO/28Wed May 30 1990 21:0510
    This is what I don't like about rule-based composition, and why I like
    my stocastic program for the Amiga:
    rule-based programs can produce only known styles; they can't make new
    music.  Everything they play I've heard before.  It's boring.  Have you
    heard the one in the Computer Museum?  It calculates music overnight in
    batch and plays it during the day.  It is boring IMHO.
    When you LEARN how to use my stocastic program it makes a wide variety
    of musical textures; is not limited to any instruments; is not limited
    to tonal harmony.
    Tom
2355.3requisite smiley face insertionSALSA::MOELLEREndorphin addictWed May 30 1990 21:595
    Not to be stocastic, but the correct spelling is stocHastic.
    
    Impressive technology, whether rule-based or the other one..
    
    karl
2355.4CRAP programmer in U.K.HUNEY::MACHINThu May 31 1990 08:365
    I'm starting work on an automatic music critique program,
    Critical Rip And Paste. Then we can get rid of all those junk
    music papers and save a few trees...
    
    Richard.
2355.5RE. new music, etc.PROSE::DIORIOKazoos--the great equalizersThu May 31 1990 13:594
Re .2  OK Tom, I'm sold on your program. When will it be available for 
MS-DOS machines? :-)

Mike D
2355.6PRNSYS::LOMICKAJJeffrey A. LomickaThu May 31 1990 15:429
I've never been impressed by any art form generated from randomness.  I
like order to the art I appreciate, whether it be visual or aural - so
have heard neither - I would lean toward the jazz improvisationalist
rather than the stochastic generator - particulary since I get the
impression that the Jazz player will accept you as one of the  players.

If I could play lead and let it provide a drummer improvize a bass line
and some chord progressions, I think I could have a good time with it.