should be a chord with no repeated note, i.e. .The third constraint can easily be reduced by a restriction of the domains if we solve the CSP line by line. This problem is closely related to the choral harmonization problem, which has already been modelized with constraints (see Pachet and Roy, 2001) for a survey) The melodic choral line is replaced by a sequence of aggregates, and the four part polyphony is replaced by a ten line polyphony. But the constraints are very similar in the way they formalize restrictions concerning the melodic motions. Of course, the four parts of the choral polyphony are real parts which are supposed to be sung, whereas in the texture analysis, the ten line polyphony is not supposed to be played. It is just an implicit structure expressing the logic of the texture. From a constraint programming point of view, there is another important difference. The choral harmonization problem is known to have many solutions (Dellacherie, 1998). Furthermore, it is possible to deal with musical abstract objects such as harmonic degrees. This allows us to divide the search process into several phases and to reduce the number of variables in each phase (Pachet and Roy, Décembre 1995). On the contrary, the texture analysis is a critical problem, because it has very few solutions, as we shall see. A specific algorithm described in Chemillier (2001) has proven that the analysis of the texture has only six solutions. More precisely, there are three possible transitions from 3 Special features of these CSPBefore entering the details, let’s first insist on the fact that all of these problems have been proposed by musicians, either composers or analysts. This fact confirms the initial hypothesis of this work, that artificial intelligence techniques such as constraint programming have a natural place in music composition or analysis, and not only for the well known harmonization problem. We can then derive some general observations. |