Viewpoints » History » Version 6
Marcus Pearce, 2014-06-03 08:48 PM
1 | 1 | Marcus Pearce | h1. Viewpoints |
---|---|---|---|
2 | 2 | Marcus Pearce | |
3 | 5 | Marcus Pearce | {{>toc}} |
4 | 1 | Marcus Pearce | |
5 | 5 | Marcus Pearce | Viewpoints are representations of musical structure. A number of functions are provided to help the user work with viewpoints and viewpoint data. |
6 | 5 | Marcus Pearce | |
7 | 5 | Marcus Pearce | The [[List of Viewpoints|available viewpoints]] are described in "Pearce [2005]":http://webprojects.eecs.qmul.ac.uk/marcusp/papers/Pearce2005.pdf and implemented in the <code>derived-viewpoints/</code> directory in amuse-viewpoints. It is easy to implement new viewpoints, the examples in the code and [[Adding Viewpoints]] should help you get started. |
8 | 5 | Marcus Pearce | |
9 | 6 | Marcus Pearce | h2. Viewpoint sequences |
10 | 5 | Marcus Pearce | |
11 | 5 | Marcus Pearce | The function <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. |
12 | 5 | Marcus Pearce | |
13 | 2 | Marcus Pearce | <pre> |
14 | 2 | Marcus Pearce | CL-USER> (viewpoints:viewpoint-sequence |
15 | 2 | Marcus Pearce | (viewpoints:get-viewpoint 'cpitch) |
16 | 2 | Marcus Pearce | (md:get-event-sequence 0 0)) |
17 | 5 | Marcus Pearce | (65 62 60 60 60 60 65 65 65 69 69 69 69 69 67 65 65 65 62 60 60 65 69 69 67 65 |
18 | 5 | Marcus Pearce | 60 60 60 60 65 65 65 65 69 69 69 69 72 72 77 74 72 69 69 69 69 65 67 69 65 65 |
19 | 5 | Marcus Pearce | 65 77 74 72 74 76 77 72 72 74 72 74 76 77 74 72 74 76 77 76 77 74 72 69 67 65 |
20 | 5 | Marcus Pearce | 67 77 77 74 72 74 76 77 72 72 74 72 74 76 77 76 74 72 69 69 69 69 67 65 67 69 |
21 | 5 | Marcus Pearce | 65 65) |
22 | 2 | Marcus Pearce | </pre> |
23 | 2 | Marcus Pearce | |
24 | 2 | Marcus Pearce | h2. Derived viewpoints |
25 | 4 | Marcus Pearce | |
26 | 4 | Marcus Pearce | 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). |
27 | 2 | Marcus Pearce | |
28 | 2 | Marcus Pearce | <pre> |
29 | 2 | Marcus Pearce | CL-USER> (viewpoints:viewpoint-sequence |
30 | 2 | Marcus Pearce | (viewpoints:get-viewpoint 'cpint) |
31 | 2 | Marcus Pearce | (md:get-event-sequence 0 0)) |
32 | 5 | Marcus Pearce | (-3 -2 0 0 0 5 0 0 4 0 0 0 0 -2 -2 0 0 -3 -2 0 5 4 0 -2 -2 -5 0 0 0 5 0 0 0 4 0 |
33 | 5 | Marcus Pearce | 0 0 3 0 5 -3 -2 -3 0 0 0 -4 2 2 -4 0 0 12 -3 -2 2 2 1 -5 0 2 -2 2 2 1 -3 -2 2 |
34 | 5 | Marcus Pearce | 2 1 -1 1 -3 -2 -3 -2 -2 2 10 0 -3 -2 2 2 1 -5 0 2 -2 2 2 1 -1 -2 -2 -3 0 0 0 |
35 | 5 | Marcus Pearce | -2 -2 2 2 -4 0) |
36 | 2 | Marcus Pearce | </pre> |
37 | 4 | Marcus Pearce | |
38 | 4 | Marcus Pearce | |
39 | 2 | Marcus Pearce | <pre> |
40 | 1 | Marcus Pearce | CL-USER> (viewpoints:viewpoint-sequence |
41 | 1 | Marcus Pearce | (viewpoints:get-viewpoint 'ioi-ratio) |
42 | 1 | Marcus Pearce | (md:get-event-sequence 0 0)) |
43 | 1 | Marcus Pearce | (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 |
44 | 1 | Marcus Pearce | 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 |
45 | 1 | Marcus Pearce | 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 |
46 | 1 | Marcus Pearce | 1) |
47 | 1 | Marcus Pearce | </pre> |
48 | 1 | Marcus Pearce | |
49 | 1 | Marcus Pearce | |
50 | 1 | Marcus Pearce | h3. Linked viewpoints |
51 | 1 | Marcus Pearce | |
52 | 1 | Marcus Pearce | Linked viewpoints are represented as a list of component viewpoints. Here is an example of linking pitch interval (cpint) with scale degree (cpintfref): |
53 | 1 | Marcus Pearce | |
54 | 1 | Marcus Pearce | <pre> |
55 | 1 | Marcus Pearce | CL-USER> (viewpoints:viewpoint-sequence |
56 | 1 | Marcus Pearce | (viewpoints:get-viewpoint '(cpint cpintfref)) |
57 | 1 | Marcus Pearce | (md:get-event-sequence 0 0)) |
58 | 5 | Marcus Pearce | ((-3 9) (-2 7) (0 7) (0 7) (0 7) (5 0) (0 0) (0 0) (4 4) (0 4) (0 4) (0 4) |
59 | 5 | Marcus Pearce | (0 4) (-2 2) (-2 0) (0 0) (0 0) (-3 9) (-2 7) (0 7) (5 0) (4 4) (0 4) (-2 2) |
60 | 5 | Marcus Pearce | (-2 0) (-5 7) (0 7) (0 7) (0 7) (5 0) (0 0) (0 0) (0 0) (4 4) (0 4) (0 4) |
61 | 5 | Marcus Pearce | (0 4) (3 7) (0 7) (5 0) (-3 9) (-2 7) (-3 4) (0 4) (0 4) (0 4) (-4 0) (2 2) |
62 | 5 | Marcus Pearce | (2 4) (-4 0) (0 0) (0 0) (12 0) (-3 9) (-2 7) (2 9) (2 11) (1 0) (-5 7) (0 7) |
63 | 5 | Marcus Pearce | (2 9) (-2 7) (2 9) (2 11) (1 0) (-3 9) (-2 7) (2 9) (2 11) (1 0) (-1 11) (1 0) |
64 | 5 | Marcus Pearce | (-3 9) (-2 7) (-3 4) (-2 2) (-2 0) (2 2) (10 0) (0 0) (-3 9) (-2 7) (2 9) |
65 | 5 | Marcus Pearce | (2 11) (1 0) (-5 7) (0 7) (2 9) (-2 7) (2 9) (2 11) (1 0) (-1 11) (-2 9) |
66 | 5 | Marcus Pearce | (-2 7) (-3 4) (0 4) (0 4) (0 4) (-2 2) (-2 0) (2 2) (2 4) (-4 0) (0 0)) |
67 | 5 | Marcus Pearce | </pre> |
68 | 5 | Marcus Pearce | |
69 | 5 | Marcus Pearce | <pre> |
70 | 5 | Marcus Pearce | CL-USER> (viewpoints:viewpoint-sequence |
71 | 5 | Marcus Pearce | (viewpoints:get-viewpoint '(cpintfref dur metaccent)) |
72 | 5 | Marcus Pearce | (md:get-event-sequence 0 0)) |
73 | 5 | Marcus Pearce | ((0 24 5) (9 24 4) (7 12 5) (7 12 3) (7 12 4) (7 12 3) (0 24 5) (0 12 4) |
74 | 5 | Marcus Pearce | (0 12 3) (4 12 5) (4 12 3) (4 12 4) (4 12 3) (4 24 5) (2 24 4) (0 12 5) |
75 | 5 | Marcus Pearce | (0 12 3) (0 24 4) (9 24 5) (7 12 4) (7 12 3) (0 24 5) (4 12 4) (4 12 3) |
76 | 5 | Marcus Pearce | (2 36 5) (0 12 3) (7 12 5) (7 12 3) (7 12 4) (7 12 3) (0 12 5) (0 12 3) |
77 | 5 | Marcus Pearce | (0 12 4) (0 12 3) (4 12 5) (4 12 3) (4 12 4) (4 12 3) (7 12 5) (7 12 3) |
78 | 5 | Marcus Pearce | (0 12 4) (9 12 3) (7 12 5) (4 12 3) (4 12 4) (4 12 3) (4 24 5) (0 12 4) |
79 | 5 | Marcus Pearce | (2 12 3) (4 12 5) (0 12 3) (0 24 4) (0 36 5) (0 12 3) (9 12 5) (7 12 3) |
80 | 5 | Marcus Pearce | (9 12 4) (11 12 3) (0 24 5) (7 12 4) (7 12 3) (9 12 5) (7 12 3) (9 12 4) |
81 | 5 | Marcus Pearce | (11 12 3) (0 36 5) (9 12 5) (7 12 3) (9 12 4) (11 12 3) (0 12 5) (11 12 3) |
82 | 5 | Marcus Pearce | (0 12 4) (9 12 3) (7 12 5) (4 12 3) (2 12 4) (0 12 3) (2 24 5) (0 12 4) |
83 | 5 | Marcus Pearce | (0 12 3) (9 12 5) (7 12 3) (9 12 4) (11 12 3) (0 24 5) (7 12 4) (7 12 3) |
84 | 5 | Marcus Pearce | (9 12 5) (7 12 3) (9 12 4) (11 12 3) (0 24 5) (11 12 4) (9 12 3) (7 12 5) |
85 | 5 | Marcus Pearce | (4 12 3) (4 12 4) (4 12 3) (4 12 5) (2 12 3) (0 12 4) (2 12 3) (4 24 5) |
86 | 5 | Marcus Pearce | (0 24 4) (0 36 5)) |
87 | 5 | Marcus Pearce | </pre> |
88 | 5 | Marcus Pearce | |
89 | 5 | Marcus Pearce | h2. Listing defined viewpoints |
90 | 5 | Marcus Pearce | |
91 | 5 | Marcus Pearce | <code>viewpoints:list-viewpoints</code> returns a list of currently defined viewpoints:: |
92 | 5 | Marcus Pearce | |
93 | 5 | Marcus Pearce | <pre> |
94 | 5 | Marcus Pearce | CL-USER> (viewpoints:list-viewpoints) |
95 | 5 | Marcus Pearce | (VIEWPOINTS::ARTICULATION VIEWPOINTS::COMMA VIEWPOINTS::VOICE |
96 | 5 | Marcus Pearce | VIEWPOINTS::ORNAMENT VIEWPOINTS::DYN |
97 | 5 | Marcus Pearce | ...) |
98 | 5 | Marcus Pearce | </pre> |
99 | 5 | Marcus Pearce | |
100 | 5 | Marcus Pearce | Similarly, particular categories of viewpoints can be listed using <code>viewpoints:list-basic</code>, <code>viewpoints:list-derived</code>, <code>viewpoints:list-linked</code> and <code>viewpoints:list-threaded</code>. |
101 | 5 | Marcus Pearce | |
102 | 5 | Marcus Pearce | The function <code>predictors</code> lists the viewpoints which are derived from (and therefore capable of predicting) the supplied basic viewpoints: |
103 | 5 | Marcus Pearce | |
104 | 5 | Marcus Pearce | <pre> |
105 | 5 | Marcus Pearce | CL-USER> (viewpoints:predictors '(bioi)) |
106 | 5 | Marcus Pearce | (VIEWPOINTS::BIOI-RATIO VIEWPOINTS::BIOI-CONTOUR VIEWPOINTS::BIOI) |
107 | 1 | Marcus Pearce | </pre> |