Viewpoints » History » Version 3
Version 2 (Marcus Pearce, 2013-07-09 05:13 PM) → Version 3/7 (Marcus Pearce, 2014-06-03 07:58 PM)
h1. Viewpoints
Viewpoints are representations of musical structure. The <code>viewpoint-sequence</code> 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.
<pre>
CL-USER> (viewpoints:viewpoint-sequence
(viewpoints:get-viewpoint 'cpitch) :cpitch)
(md:get-event-sequence (music-data: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)
</pre>
h2. 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).
<pre>
CL-USER> (viewpoints:viewpoint-sequence
(viewpoints:get-viewpoint 'cpint) :cpint)
(md:get-event-sequence (music-data: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)
</pre>
<pre>
CL-USER> (viewpoints:viewpoint-sequence
(viewpoints:get-viewpoint 'ioi-ratio) :ioi-ratio)
(md:get-event-sequence (music-data: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)
</pre>
h3. 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):
<pre>
CL-USER> (viewpoints:viewpoint-sequence
(viewpoints:get-viewpoint '(cpint cpintfref)) '(:cpint :cpintfref))
(md:get-event-sequence (music-data: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))
</pre>
Viewpoints are representations of musical structure. The <code>viewpoint-sequence</code> 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.
<pre>
CL-USER> (viewpoints:viewpoint-sequence
(viewpoints:get-viewpoint 'cpitch) :cpitch)
(md:get-event-sequence (music-data: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)
</pre>
h2. 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).
<pre>
CL-USER> (viewpoints:viewpoint-sequence
(viewpoints:get-viewpoint 'cpint) :cpint)
(md:get-event-sequence (music-data: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)
</pre>
<pre>
CL-USER> (viewpoints:viewpoint-sequence
(viewpoints:get-viewpoint 'ioi-ratio) :ioi-ratio)
(md:get-event-sequence (music-data: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)
</pre>
h3. 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):
<pre>
CL-USER> (viewpoints:viewpoint-sequence
(viewpoints:get-viewpoint '(cpint cpintfref)) '(:cpint :cpintfref))
(md:get-event-sequence (music-data: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))
</pre>