Viewpoints » History » Version 4

« Previous - Version 4/7 (diff) - Next » - Current version
Marcus Pearce, 2014-06-03 07:59 PM


Viewpoints

Viewpoints are representations of musical structure. The viewpoint-sequence returns a representation of a melody (composition 0 in dataset 0) corresponding to the supplied viewpoint (chromatic pitch: cpitch). The output corresponds to the pitch of each note in the melody.

CL-USER> (viewpoints:viewpoint-sequence
          (viewpoints:get-viewpoint 'cpitch)
          (md:get-event-sequence 0 0))
(6500 6200 6000 6000 6000 6000 6500 6500 6500 6900 6900 6900 6900 6900 6700
 6500 6500 6500 6200 6000 6000 6500 6900 6900 6700 6500 6000 6000 6000 6000
 6500 6500 6500 6500 6900 6900 6900 6900 7200 7200 7700 7400 7200 6900 6900
 6900 6900 6500 6700 6900 6500 6500 6500 7700 7400 7200 7400 7600 7700 7200
 7200 7400 7200 7400 7600 7700 7400 7200 7400 7600 7700 7600 7700 7400 7200
 6900 6700 6500 6700 7700 7700 7400 7200 7400 7600 7700 7200 7200 7400 7200
 7400 7600 7700 7600 7400 7200 6900 6900 6900 6900 6700 6500 6700 6900 6500
 6500)

Derived viewpoints

We can also use viewpoints which represent derived features such as pitch interval (cpint) or IOI ratio (ioi-ratio). Note that because these two derived viewpoints represent relationships between notes, they are undefined for the first note in the sequence (which has no predecessor).

CL-USER> (viewpoints:viewpoint-sequence
          (viewpoints:get-viewpoint 'cpint)
          (md:get-event-sequence 0 0))
(-300 -200 0 0 0 500 0 0 400 0 0 0 0 -200 -200 0 0 -300 -200 0 500 400 0 -200
 -200 -500 0 0 0 500 0 0 0 400 0 0 0 300 0 500 -300 -200 -300 0 0 0 -400 200
 200 -400 0 0 1200 -300 -200 200 200 100 -500 0 200 -200 200 200 100 -300 -200
 200 200 100 -100 100 -300 -200 -300 -200 -200 200 1000 0 -300 -200 200 200 100
 -500 0 200 -200 200 200 100 -100 -200 -200 -300 0 0 0 -200 -200 200 200 -400 0)
CL-USER> (viewpoints:viewpoint-sequence
          (viewpoints:get-viewpoint 'ioi-ratio)
          (md:get-event-sequence 0 0))
(1 1/2 1 1 1 2 1/2 1 1 1 1 1 2 1 1/2 1 2 1 1/2 1 2 1/2 1 3 1/3 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 2 1/2 1 1 1 2 3/2 1/3 1 1 1 1 2 1/2 1 1 1 1 1 4 1/4 1
 1 1 1 1 1 1 1 1 1 1 2 1/2 1 1 1 1 1 2 1/2 1 1 1 1 1 2 1/2 1 1 1 1 1 1 1 1 1 2
 1)

Linked viewpoints

Linked viewpoints are represented as a list of component viewpoints. Here is an example of linking pitch interval (cpint) with scale degree (cpintfref):

CL-USER> (viewpoints:viewpoint-sequence
          (viewpoints:get-viewpoint '(cpint cpintfref))
          (md:get-event-sequence 0 0))
((-300 900) (-200 700) (0 700) (0 700) (0 700) (500 0) (0 0) (0 0) (400 400)
 (0 400) (0 400) (0 400) (0 400) (-200 200) (-200 0) (0 0) (0 0) (-300 900)
 (-200 700) (0 700) (500 0) (400 400) (0 400) (-200 200) (-200 0) (-500 700)
 (0 700) (0 700) (0 700) (500 0) (0 0) (0 0) (0 0) (400 400) (0 400) (0 400)
 (0 400) (300 700) (0 700) (500 0) (-300 900) (-200 700) (-300 400) (0 400)
 (0 400) (0 400) (-400 0) (200 200) (200 400) (-400 0) (0 0) (0 0) (1200 0)
 (-300 900) (-200 700) (200 900) (200 1100) (100 0) (-500 700) (0 700)
 (200 900) (-200 700) (200 900) (200 1100) (100 0) (-300 900) (-200 700)
 (200 900) (200 1100) (100 0) (-100 1100) (100 0) (-300 900) (-200 700)
 (-300 400) (-200 200) (-200 0) (200 200) (1000 0) (0 0) (-300 900) (-200 700)
 (200 900) (200 1100) (100 0) (-500 700) (0 700) (200 900) (-200 700) (200 900)
 (200 1100) (100 0) (-100 1100) (-200 900) (-200 700) (-300 400) (0 400)
 (0 400) (0 400) (-200 200) (-200 0) (200 200) (200 400) (-400 0) (0 0))