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 |
|
|