List of viewpoints » History » Version 9

Marcus Pearce, 2014-09-18 12:52 PM

1 7 Marcus Pearce
Based on "Pearce [2005]":http://webprojects.eecs.qmul.ac.uk/marcusp/papers/Pearce2005.pdf especially table 5.2, p 80 and the relevant source code - mostly in the subdirectory <code>viewpoints</code>. Entry order is based on category, then order of appearance in source file.
2 1 Marcus Pearce
3 2 Marcus Pearce
h1. Basic Viewpoints 
4 1 Marcus Pearce
5 2 Marcus Pearce
Unless otherwise indicated, these give information about the last event in the sequence
6 1 Marcus Pearce
7 8 Marcus Pearce
* *onset:* Start time in basic time units (by default a crotchet, or quarter note, is 24 units)
8 8 Marcus Pearce
* *cpitch:* Midi pitch number, where chromatic notes are counted up and down from middle C = 60
9 8 Marcus Pearce
* *dur:* Duration in basic time units
10 9 Marcus Pearce
* *keysig:* Integer indicating the position of the key signature on a line of fifths with C major = 0. Corresponds to a positive count of the number of sharps or a negative count of the number of flats (as long as the range is limited to +/-7, avoiding double accidentals).
11 9 Marcus Pearce
* *mode:* Major = 0, minor = 9 (reflecting the fact that the minor mode corresponds to rotation of the pitch class set corresponding to its relative major scale by 9 semitones (see Balzano, 1982). This allows a crude representation of the simpler common modes: Dorian is 2, Lydian 5, etc)
12 2 Marcus Pearce
* *tempo:* Currently applicable tempo in bpm.
13 8 Marcus Pearce
* *pulses:* Number of beats/pulses/tactus units in a bar (essentially the numerator of the time signature).
14 8 Marcus Pearce
* *barlength:* Basic time units (ticks) in a bar, based on the timebase and the denominator of the time signature
15 2 Marcus Pearce
* *deltast:* Gap between last note and its predecessor (returns 0 for first note).
16 2 Marcus Pearce
* *bioi:* Basic Inter Onset Interval between ultimate and penultimate onsets (returns 0 for first note).
17 2 Marcus Pearce
* *phrase:* 1 if event begins a phrase, -1 if it ends a phrase. Otherwise 0.
18 1 Marcus Pearce
19 2 Marcus Pearce
_Additional viewpoints (since Pearce, 2005)_
20 1 Marcus Pearce
21 9 Marcus Pearce
*  *mpitch:* Meredith's morphetic pitch - count of name-notes (white notes) up or down from middle C = 35
22 9 Marcus Pearce
*  *accidental:* Inflection of name note, so 0 for a natural, 1 for a single sharp, 2 for a double sharp, -1 for a flat and so on. 
23 2 Marcus Pearce
*  *dyn:* (dynamics): ppppp = -11; pppp = -9; ppp = -7; pp = -5; p = -3; mp = -1; mf = 1; f = 3; ff = 5; fff = 7; ffff = 9; fffff = 11
24 9 Marcus Pearce
*  *voice:* voice number in a score (voice 1 assumed to be the monody)
25 2 Marcus Pearce
*  *ornament:* note ornaments (0 = no ornament; 1 = accacciatura; 2 = mordent; 3 = trill)
26 2 Marcus Pearce
*  *comma:* 0 = no comma; 1 = comma (breath mark)
27 2 Marcus Pearce
*  *articulation:* 0 = no articulation mark; 1 = staccato; 2 = staccatissimo; 3 = sforzando; 4 = marcato
28 1 Marcus Pearce
29 2 Marcus Pearce
h1. Derived Viewpoints 
30 1 Marcus Pearce
31 2 Marcus Pearce
h2. Primitive derived viewpoints 
32 1 Marcus Pearce
33 9 Marcus Pearce
* *ioi:* (onset) - Like bioi, though giving +undefined+ for the first event in a sequence.
34 2 Marcus Pearce
* *posinbar:* (onset) - Time offset from beginning of bar.
35 2 Marcus Pearce
* *dur-ratio:*  (dur) - Duration of last / duration of previous
36 2 Marcus Pearce
* *referent:* (keysig) - Chromatic interval of tonic from C (e.g. C major gives 0, F minor gives 5, F major also 5, Bb minor 10). Necessary for deriving scale degree.
37 2 Marcus Pearce
* *cpint:*  (cpitch) - Chromatic pitch interval
38 2 Marcus Pearce
* *contour:*  (cpitch) - -1 for a descending interval, 0 unison, 1 ascending (equivalent to d, r and u respectively in [http://en.wikipedia.org/wiki/Parsons_code  Parson&rsquo;s code]).
39 2 Marcus Pearce
* *cpitch-class:*  (cpitch) - cpitch modulo 12 (so C = 0, D = 2, etc.)
40 9 Marcus Pearce
* *cpcint:*  (cpitch) - equivalent to cpint modulo 12 (so both perfect unison and perfect octave = 0), but _preserving sign_, so ascending and descending intervals are still discriminated. (This was originally calculated as cpcint-size and then redefined when cpcint-size was added, making it consistent with cpint.)
41 2 Marcus Pearce
* *cpintfref:* (cpitch) - Chromatic interval from tonic (0 = tonic, 4 mediant, 7 dominant, etc.)
42 2 Marcus Pearce
* *cpintfip:*  (cpitch) - Chromatic interval from first event in piece.
43 2 Marcus Pearce
* *cpintfiph:*  (cpitch) - Chromatic interval from first event in phrase.
44 1 Marcus Pearce
* *cpintfib:*  (cpitch) - Chromatic interval from event at time 0 in bar (+undefined+ if event is itself at time 0 or if there is nothing at time 0).
45 1 Marcus Pearce
* *inscale:* (cpitch) - Returns 1 if event would not require an accidental as a result of the prevailing key signature and 0 if it would (i.e. in A minor, members of the set {A, B, C, D, E, F, G} return true, with all others, including the leading note returning 0).
46 2 Marcus Pearce
47 2 Marcus Pearce
_Additional viewpoints (not in Pearce 2005)_
48 1 Marcus Pearce
49 2 Marcus Pearce
* *ioi-ratio:* (onset) - ioi divided by the previous ioi (requires at least 3 events).
50 7 Marcus Pearce
* *ioi-contour* (onset) - whether ioi get larger, smaller or stays the same between consecutive events
51 7 Marcus Pearce
* *metaccent* (onset) - metrical accent (5 = downbeat, smaller integers fall on weaker metrical beats)
52 1 Marcus Pearce
* *bioi-ratio:* (bioi) - bioi divided by the previous ioi (requires at least 3 events).
53 2 Marcus Pearce
* *bioi-contour:* (bioi) - whether bioi gets larger, smaller or stays the same between consecutive events
54 2 Marcus Pearce
* *lphrase:*  (phrase) - I _think_ that this finds the duration of the preceding phrase iff the last event in the sequence is at a phrase boundary.
55 5 Marcus Pearce
* *cpint-size:* (cpitch) - Absolute value for <code>cpint</code> (not to be confused with <code>pint-size</code>, which is 20fl.oz.)
56 4 Marcus Pearce
* *newcontour:* (cpitch) - Returns 1 if contour is unchanged from preceding contour, 0 if it is different.
57 1 Marcus Pearce
* *cpcint-size:* (cpitch) - Absolute value for cpcint.
58 1 Marcus Pearce
* *cpcint-2:*  (cpitch) - cpcint-size modulo 2. Just because.
59 1 Marcus Pearce
* *cpcint-3:*  (cpitch) - cpcint-size modulo 3.
60 1 Marcus Pearce
* *cpcint-4:*  (cpitch) - cpcint-size modulo 4.
61 2 Marcus Pearce
* *cpcint-5:*  (cpitch) - cpcint-size modulo 5.
62 2 Marcus Pearce
* *cpcint-6:*  (cpitch) - cpcint-size modulo 6.
63 2 Marcus Pearce
* *octave:* (cpitch) - Octave number, where middle C (and the 11 notes above) is 5 (based on chromatic pitch)
64 9 Marcus Pearce
* *tessitura:*: (cpitch) Based on pitch tessitura of the Soprano voice of the Bach chorales (see Pearce, 2005, p. 206). 0 if more than one standard deviation below the mean pitch (F# above middle C), 2 if more than one standard deviation above the mean pitch (the D above middle C) and 2 if between these pitches.
65 9 Marcus Pearce
* *mpitch-class:* (mpitch) 0-7, representing the diatonic pitch set.
66 9 Marcus Pearce
67 9 Marcus Pearce
_Viewpoints based on the Implication Realisation model (Narmour, 1990; Krumhansl, 1995; Schellenberg, 1996)_
68 9 Marcus Pearce
69 6 Jeremy Gow
* *registral-direction:*  (cpitch) Is a large (>= perfect fifth) jump followed by a direction change? Is a small (<= perfect fourth) jump followed by a move in the same direction? If the answer to either is yes, return 1, otherwise 0. (N.B. a tritone move is undefined, I think because it isn't really relevant to the theory - the movement after a tritone is almost always to resolve a harmonic issue. Also, since this is based on chromatic intervals, despite my use of diatonic ones in the description, a diminished fifth and an augmented fourth would look the same).
70 2 Marcus Pearce
* *intervallic-difference:* (cpitch) Is a large jump followed by a smaller (3 semitones smaller if in the same direction or 2 semitones if reversing the direction) jump? Is a small jump followed by a similar interval? I think this returns 1 in these cases, and 0 otherwise. I could be wrong.
71 2 Marcus Pearce
* *registral-return:*  (cpitch) If the last three notes form a move away from and then back to a pitch returns 3. If the returned to pitch is only a semitone away, returns 2, if a tone returns 1. Otherwise returns 0. The pitch contour must be an arch (\/ or /\), with a rising or falling contour or with any pitch repeated, this returns 0.
72 2 Marcus Pearce
* *proximity:* (cpitch) 6 minus the number of semitones in the last interval: 0 if the last interval is a tritone or greater; 1 for a perfect fourth; 4 for a tone; 6 for a unison.
73 2 Marcus Pearce
* *closure:*  (cpitch) Also based on the shape defined by the last 3 notes. Scores 1 point for a change of direction, 1 point for an interval that is more than a tone smaller than the preceding one (so score can be 0, 1, 2)
74 7 Marcus Pearce
75 2 Marcus Pearce
h2. Test viewpoints 
76 1 Marcus Pearce
77 9 Marcus Pearce
So called because they return a Boolean value testing whether a condition is satisfied at a particular point in a melody:
78 1 Marcus Pearce
79 1 Marcus Pearce
* *fib* (onset): First In Bar (is this the first note in the current bar?)
80 2 Marcus Pearce
* *crotchet* (onset): is this note on a crotchet pulse?
81 2 Marcus Pearce
* *tactus* (onset): is this note on tactus pulse?
82 2 Marcus Pearce
* *fiph* (phrase): is this note the first in a phrase?
83 2 Marcus Pearce
* *liph* (phrase): is this note the last in a phrase?
84 2 Marcus Pearce
85 7 Marcus Pearce
86 2 Marcus Pearce
h2. Threaded viewpoints 
87 1 Marcus Pearce
88 2 Marcus Pearce
So called because they return the value of any viewpoint at locations defined by a test viewpoint (and are undefined wherever the test viewpoint is false)
89 2 Marcus Pearce
90 1 Marcus Pearce
* *thrbar* (cpitch onset): cpint % fib
91 2 Marcus Pearce
* *thrfiph* (cpitch onset): cpint % fiph
92 2 Marcus Pearce
* *thrliph* (cpitch onset): cpint % liph
93 2 Marcus Pearce
* *thrqu* (cpitch onset): cpint % crotchet
94 2 Marcus Pearce
* *thrtactus* (cpitch onset): cpint % tactus
95 2 Marcus Pearce
* *thrintfrefliph* (cpitch onset): cpintfref % liph
96 2 Marcus Pearce
97 7 Marcus Pearce
98 2 Marcus Pearce
h2. Linked viewpoints 
99 2 Marcus Pearce
100 7 Marcus Pearce
Any viewpoints, basic or derived, may be linked into product type whose domain (or alphabet) is the Cartesian product of the domains of the component viewpoints. Pearce (2005) limited himself to a fixed collection of links between two component (basic or primitive derived) viewpoints but a link may contain any number of component viewpoints.