Mechanical Music Digest  Archives
You Are Not Logged In Login/Get New Account
Please Log In. Accounts are free!
Logged In users are granted additional features including a more current version of the Archives and a simplified process for submitting articles.
Home Archives Calendar Gallery Store Links Info

End-of-Year Fundraising Drive In Progress. Please visit our home page to see this and other announcements: https://www.mmdigest.com     Thank you. --Jody

MMD > Archives > November 1995 > 1995.11.12 > 09Prev  Next


Re: Genetic Programming and Analog to Midi
By John Rhodes, forwarded by Robbie Rhodes

My brother John is an industrial designer and manufacturing engineer at Hewlett-Packard in Vancouver, Wash.  He reports here about his own experience with genetic evolution.

-- Robbie Rhodes

attachment:

> From: "John D. Rhodes" <jrhodes@teleport.com>
> To: rhodes@foxtail.com (Robbie Rhodes)
> Date:          Sun, 5 Nov 1995 09:43:02 +0000

Hi, Rob.   This thread is fascinating.  Thanks for copying me on it.

Larry Smith sounds pretty sharp.  The "evaluator" he speaks of, of course, *is* the crux of the genetic programming problem.  Here are a couple of additional thoughts:

#1.  It seems to me genetic programming could be used to develop the evaluator.

#2.  I would use a sampled-sound library (from the target music box [or piano] if possible) instead of a MIDI synth.

More on #1, genetic programming:  I played with a Mac-based program at Oregon Museum of Science and Industry some 5-6 years ago which produced computer shape/color "globs" in a series of generations. The program was written by a geneticist, who wanted to illustrate genetics principles to his students. It operated roughly as follows:

  I first imagined a target object which I wanted to selectively breed.
  Let's say it was a symmetrical butterfly shape, black, with
  large yellow spots.

  The program presented me with a field of 8 roughly circular, randomly
  color-speckled shapes.  I selected a "breeding pair" from this field
  of 8, based on resemblance to the target object.  This pair then
  produced 8 new offspring, and I (playing god) again selected the next
  breeding pair.  It was surprising how rapidly I could produce
  relatively arbitrary shape/color targets.

  The underlying genetic traits, I speculate, were things like:
  symmetry, perimeter roughness, color "globbiness" (i.e., speckles
  or patches), color preferences, aspect ratio, etc.

So, how 'bout using this approach to develop the evaluator:  Start with the genetic traits -- which must be both *quantifiable* and *controllable*.  Maybe -- and this gets tough: it's like specifying position based on rate-of-change of acceleration! --  how to employ number and complexity of "voices"; harmony rules; dictionary of standard moves; etc.  Then let "god" grade the evaluator on its ability to converge on target sounds. We evolve the evaluator!

[ John is declaring that the programmer_person is actively guiding the evolution of the evaluator.  Hmmm ... does the buck stop here? --Rob]

More on item #2:

a.  I assume the objective is to create sheet music of the original performance, not simply produce a combination of MIDI-notes/voices which "sounds like" the original.  So let's get the "sounds-like" out of way with sampled notes, and concentrate on combining the notes to produce the target timing and harmony. [ No: the major objective is something like Midi control of a dynamic waveform synthesizer. --Rob]

b.  I think you should be able to extract samples of *individual* notes from a disk recording.  Take advantage of the slight attack descrepencies on simultaneous notes.  Once you have the attack/decay signature isolated for a given note, you should be able to remove it from a chord (within reason) to assist isolating the signature of other notes.

Further thoughts:

Computer scientists (like some manufacturing automation engineers I work with) sometimes produce overly-complex solutions by attempting to program/automate everything.  Some problems (e.g. pattern recognition) are extremely tough to find programmatic solutions for; but humans (in fact, most animals) are *extremely* good at pattern recognition -- in more than the visual domain, I should add. So, swallow some inventor's pride, save lots of time, and put a human in the loop.

For example, Rob, you and brother Doug can listen to a piano recording and play it by ear and write out the notation.  You are bringing far more to bear on the problem than simple aural analysis. You are including:  how many notes can one hand play, what is the intended harmony, how would one voice this, etc.  Use your knowledge to supplement (and teach) the program.

-- John

(Message sent Mon 6 Nov 1995, 03:23:06 GMT, from time zone GMT-0800.)

Key Words in Subject:  Analog, Genetic, Midi, Programming

Home    Archives    Calendar    Gallery    Store    Links    Info   


Enter text below to search the MMD Website with Google



CONTACT FORM: Click HERE to write to the editor, or to post a message about Mechanical Musical Instruments to the MMD

Unless otherwise noted, all opinions are those of the individual authors and may not represent those of the editors. Compilation copyright 1995-2024 by Jody Kravitz.

Please read our Republication Policy before copying information from or creating links to this web site.

Click HERE to contact the webmaster regarding problems with the website.

Please support publication of the MMD by donating online

Please Support Publication of the MMD with your Generous Donation

Pay via PayPal

No PayPal account required

                                     
Translate This Page