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:
- 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
See Scaleopia for other
scales.
- 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 |
|
|