| 
  Digital Music Programming II: Homework 2 
 
 
  The sad object  Your assignment, should you choose to pass the class, is to create
a Max object which outputs sad music.
  The object has two inlets: the first inlet is for the MIDI key number
information, and the second inlet is for the velocity that goes with the
key.  There are also two outlets: the first is for the output key numbers,
and the second outlet is for the velocities that go with the key number.
Here is the graphical object specification:
 
    The sad object will convert notes in the C major scale
   into notes in the C-minor scale (harmonic minor).  For example, if the
   performer plays an E note, then the sad object will output
   an E=flat note instead of an E note.  This also holds for the key A.
   Other notes not in the C major scale will be unaffected.  For
   example,  C-sharp will remain C-sharp.
  Here is an example of how the object will filter notes in the
    C major scale and convert them to C minor:
  Input melody:
 
    Output melody:
 
    Additional requirements:
 
 The note translation must occur in all octaves.
 Output note durations must be the same as input note durations.
 No stuck note-ons should be generated by the object.
 
 
  Extra Credit 
  Write a Max object called happy which converts
      C-minor scale degrees into C-major scale degrees.
      (See Andre Previn's 1991 memoir No Minor Chords: My Days in 
      Hollywood.)
 
  Write a Max object called mood which converts
      C-minor scale degrees into C-major scale degrees or vice-versa
      depending on two messages:
      
       a "happy" message which makes the object translate
           C-minor scale degrees into C-major scale degrees.
       a "sad" message which makes the object translate
           C-major scale degrees into C-minor scale degrees.
       
  Add another inlet into your object(s) which accepts the
      pitch class of the tonic note (for example 0 = C major/minor, 
      1 = C# major/minor, ... 7 = G major/minor, etc.).  You could
      also have it input any MIDI note, and then you can extract the
      pitch-class and remove the octave information.
      Test your transposing object by inputting a key analysis from the
      key object. 
 
 Write an object called rescale which can map other
     scales onto the C major scale, or any other pitch-class mapping
     you want to do.  Here are some scales to try:
See Scaleopia for other 
scales. Dorian scale: C D E-flat F G A B-flat
 Phrygian scale: C D-flat E-flat F G A-flat B-flat
 Lydian scale: C D E F-sharp G A B
 Lydian Minor scale: C D E F-sharp G A-flat B-flat
 Mixolydian scale: C D E F G A B-flat
 Aeolian (Natural Minor) scale: C D E-flat F G A-flat B-flat
 Ethiopian scale: C D E-flat F G A-flat B
 Arabian (Major Locrian) scale: C D E F G-flat A-flat B-flat
 Blues scale: C E-flat F F-sharp G B-flat
 Spanish Gypsy (Spanish, Jewish) scale: C D-flat E F G A-flat B-flat
 Double Harmonic (Gypsy, Byzantine) scale: C D-flat E F G A-flat B
 Hungarian Minor (Algerian) scale: C D E-flat F-sharp G A-flat B
 Hungarian Gypsy (Gypsy) scale: C D E-flat F-sharp G A-flat B-flat
 Hungarian Major scale: C D-sharp E F-sharp G A B-flat
 Persian scale: C D-flat E F G-flat A-flat B
 Balinese scale: C D-flat E-flat G A-flat
 Bebop scale: C D E F G A B-flat B
 Egyptian scale: C D F G B-flat
 Oriental scale: C D-flat E F G-flat A B-flat
 Chinese (Mongolian, Country Pentatonic) scale: C D E G A
 Hira scale: C D-flat F G A-flat
 Kumoi scale: C D E-flat G A-flat
 Iwato scale: C D-flat F G-flat B-flat
 Kokin scale: C D-flat F G B-flat
 Prometheus scale: C D E F-sharp B-flat
 
 
 Write a sad object which converts C-major into the
    C melodic minor.
 
 Write an object named bipolar which will play
happy music when the attack velocities are loud, and will play
sad music when the attack velocities are soft.
| The Quigmans, 23 May 2003 |  |   |  
| Mother Goose and Grimm, 29 July 2003 |  |   |  
 
 
 |