News » 27 November 2008
Reducing Musical Rendundancy Part 2
The Cosy sequencing language can express this concept like this:
(C4 F4 G4 C4)@($ M2 m2 p5 -M2 -m2)
That syntax means to loop over the base notes C4, F4, G4, C4, and for each base note play the note that is a major 2nd (M2) above the base, then a minor 2nd (m2) above the previous note, then a perfect 5th (p5) above that, a major 2nd down (-M2), and a minor 2nd down (-m2).
This post is a follow up to a previous post that does a similar reduction of a musical pattern. The difference here is that the 5 notes played for each base note are relative to that base. In the previous posting, the 5 notes were the same every time regardless of the base note (they were absolute).
This kind of construct wasn't possible in Cosy until I introduced the concept of relative pitch via these symbols for intervals. Musically, this is important because a musical sequence (a pattern that repeats starting from different pitches) is an important compositional device that is used to extend a small motif into a longer phrase while maintaining coherence. The repetition helps the listener figure out what's going on in the music, and because it moves across a frequency range it engages the listener more than an exact repetition would. Exact repetitions tend to fade from active attention.
It's worth noting that this is an example of an exact transposition, also known as a non-diatonic or chromatic transposition. This means the relative intervals are exactly the same for each base note. In most tonal music, or any music that employs a specific scale, we would constraint the note choices to the notes available in the scale. An exact transposition will tend to produce notes that are not part of a scale, so to limit ourselves to the notes of a scale some of the intervals must be changed depending on the base note of a pattern. This is called a diatonic transposition. Cosy does not support this yet, but I plan to add this feature in the future by introducing the concept of a scale.
You can try out this example (called intervals) and many other examples with the Cosy Online Preview.