Wiki » History » Version 1

Marcus Pearce, 2012-02-02 11:38 AM

1 1 Marcus Pearce
h1. AMuSE Grouping
2 1 Marcus Pearce
3 1 Marcus Pearce
h2. Requirements
4 1 Marcus Pearce
5 1 Marcus Pearce
* "AMuSE":https://code.soundsoftware.ac.uk/projects/amuse
6 1 Marcus Pearce
* "Digram":https://code.soundsoftware.ac.uk/projects/digram
7 1 Marcus Pearce
* "amuse-viewpoints":https://code.soundsoftware.ac.uk/projects/digram
8 1 Marcus Pearce
9 1 Marcus Pearce
h2. Loading the system  
10 1 Marcus Pearce
11 1 Marcus Pearce
<pre> 
12 1 Marcus Pearce
CL-USER> (asdf:oos 'asdf:load-op 'amuse-grouping) 
13 1 Marcus Pearce
... 
14 1 Marcus Pearce
</pre> 
15 1 Marcus Pearce
16 1 Marcus Pearce
h2. Usage
17 1 Marcus Pearce
18 1 Marcus Pearce
From the README:
19 1 Marcus Pearce
20 1 Marcus Pearce
<pre>
21 1 Marcus Pearce
Special Variable: amuse-grouping:*undefined* 
22 1 Marcus Pearce
 
23 1 Marcus Pearce
  specifies the object used to signify that the boundary strength returned 
24 1 Marcus Pearce
  by an algorithm is undefined at a given boundary location (default 0). 
25 1 Marcus Pearce
26 1 Marcus Pearce
Special Variable: amuse-grouping:*boundary* 
27 1 Marcus Pearce
 
28 1 Marcus Pearce
  specifies the object used to signify a boundary at a given boundary
29 1 Marcus Pearce
  location (default 0). By convention a boundary is indicated on the event 
30 1 Marcus Pearce
  preceding the grouping boundary (i.e., the last event of the segment before 
31 1 Marcus Pearce
  the boundary).
32 1 Marcus Pearce
33 1 Marcus Pearce
Special Variable: amuse-grouping:*boundary* 
34 1 Marcus Pearce
 
35 1 Marcus Pearce
  specifies the object used to signify that no boundary occurs at a
36 1 Marcus Pearce
  given boundary location (default 0).
37 1 Marcus Pearce
38 1 Marcus Pearce
Generic Function: (amuse-grouping:boundary-strengths method monody &key ...)
39 1 Marcus Pearce
40 1 Marcus Pearce
  COMPOSITION is an amuse monody (usually a STANDARD-MONODY) and
41 1 Marcus Pearce
42 1 Marcus Pearce
  METHOD is a keyword indicating the method to use. Currently
43 1 Marcus Pearce
    implemented methods: 
44 1 Marcus Pearce
45 1 Marcus Pearce
     :gpr2a           Grouping preference rules from Lerdahl & Jackendoff 
46 1 Marcus Pearce
     :gpr2b           (1983) as quantified by Frankland and Cohen (2004)
47 1 Marcus Pearce
     :gpr2b-revised
48 1 Marcus Pearce
     :gpr3a
49 1 Marcus Pearce
     :gpr3d
50 1 Marcus Pearce
51 1 Marcus Pearce
     :lbdm            Local Boundary Detection Model of Cambouropoulos (2001)
52 1 Marcus Pearce
53 1 Marcus Pearce
     :saffran         Statistical segmentation after Saffran et al. (1999) as
54 1 Marcus Pearce
                      quantified by Brent (1999) 
55 1 Marcus Pearce
56 1 Marcus Pearce
  ... optional keyword arguments particular to each method. 
57 1 Marcus Pearce
58 1 Marcus Pearce
     :lbdm - weight-pitch, weight-ioi, weight-rest, offset-pitch, offset-rest
59 1 Marcus Pearce
60 1 Marcus Pearce
     :saffran - statistic, feature, training-set
61 1 Marcus Pearce
62 1 Marcus Pearce
  BOUNDARY-STRENGTHS returns a list indicating the boundary strength
63 1 Marcus Pearce
    associated with each note in the melody. By convention, boundary
64 1 Marcus Pearce
    strengths are positive real valued numbers associated with the note
65 1 Marcus Pearce
    before the boundary: e.g., 0.9 means that a note is likely to occur  
66 1 Marcus Pearce
    directly before a grouping boundary between that note and the
67 1 Marcus Pearce
    following one.
68 1 Marcus Pearce
69 1 Marcus Pearce
Generic Function: (amuse-grouping:boundary-locations strengths method &key ...)
70 1 Marcus Pearce
71 1 Marcus Pearce
  STRENGTHS is a list as returned by BOUNDARY-STRENGTHS
72 1 Marcus Pearce
73 1 Marcus Pearce
  METHOD is a keyword indicating the method to use. Currently
74 1 Marcus Pearce
    implemented methods: 
75 1 Marcus Pearce
76 1 Marcus Pearce
    :threshold 
77 1 Marcus Pearce
    :threshold-local-maxima
78 1 Marcus Pearce
    :proportion 
79 1 Marcus Pearce
    :proportion-local-maxima
80 1 Marcus Pearce
    :simplepicker 
81 1 Marcus Pearce
82 1 Marcus Pearce
  ... optional keyword arguments particular to each method. 
83 1 Marcus Pearce
84 1 Marcus Pearce
  BOUNDARY-LOCATIONS returns a list indicating whether each note in 
85 1 Marcus Pearce
    boundary-strength profile derived from a melody is associated with
86 1 Marcus Pearce
    a grouping boundary. By convention, the integer 1 indicates that a
87 1 Marcus Pearce
    note is followed by a boundary whilst 0 indicates that no boundary
88 1 Marcus Pearce
    follows the note.
89 1 Marcus Pearce
</pre>
90 1 Marcus Pearce
91 1 Marcus Pearce
h2. Examples  
92 1 Marcus Pearce
93 1 Marcus Pearce
<pre> 
94 1 Marcus Pearce
CL-USER> (amuse-grouping:boundary-strengths 
95 1 Marcus Pearce
          :lbdm
96 1 Marcus Pearce
          (amuse:monody 
97 1 Marcus Pearce
            (amuse:get-composition
98 1 Marcus Pearce
             (amuse-mtp:make-mtp-composition-identifier 4 103))))
99 1 Marcus Pearce
100 1 Marcus Pearce
=> (0 0.75 0.5 0.6666667 0.4166667 0.75 0 0)
101 1 Marcus Pearce
</pre> 
102 1 Marcus Pearce
103 1 Marcus Pearce
<pre> 
104 1 Marcus Pearce
CL-USER> (amuse-grouping:boundary-locations
105 1 Marcus Pearce
          (amuse-grouping:boundary-strengths 
106 1 Marcus Pearce
           :lbdm
107 1 Marcus Pearce
           (amuse:monody 
108 1 Marcus Pearce
            (amuse:get-composition
109 1 Marcus Pearce
             (amuse-mtp:make-mtp-composition-identifier 4 103))))
110 1 Marcus Pearce
          :threshold-local-maxima
111 1 Marcus Pearce
          :threshold 0.5)
112 1 Marcus Pearce
=> (0 1 0 1 0 1 0 0)
113 1 Marcus Pearce
</pre>