1 / 30

Musical Applications of Constraint Programming using a Local Search Algorithm

Musical Applications of Constraint Programming using a Local Search Algorithm. Charlotte Truchet Laboratoire d’Informatique de Nantes Atlantique Nantes University France. Overview. Computer assisted composition and OpenMusic Modelling of musical CSPs Adaptive search OMClouds Guitar.

Télécharger la présentation

Musical Applications of Constraint Programming using a Local Search Algorithm

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Musical Applications of Constraint Programming using a Local Search Algorithm Charlotte Truchet Laboratoire d’Informatique de Nantes Atlantique Nantes University France

  2. Overview • Computer assisted composition and OpenMusic • Modelling of musical CSPs • Adaptive search • OMClouds • Guitar

  3. Introduction Computer Assisted Composition

  4. Introduction Computer Assisted Composition • Common Music / Stella • Rick Taube, ZKM, Germany • EMI • David Cope, USA • OpenMusic • Gérard Assayag, Carlos Agon, IRCAM, France

  5. Introduction OpenMusic, visual

  6. Introduction OpenMusic, object oriented

  7. Overview • Computer assisted composition and OpenMusic • Modelling of musical CSPs • Adaptive search • OMClouds • Guitar

  8. Modelling Previous works • Automatic harmonization: Ebcioglu 87, Tsang Aitken 91, Ballesta 98, Pachet Roy 01 • BOXES (Beurivé, Desainte-Catherine 01), Mosaïcing (Zils, Pachet 01), Pico (Rueda, Valencia 01), MusicSpace (Delerue 04) • In OpenMusic: Situation (Rueda, Bonnet 90), PWConstraints (Laurson 96)

  9. Modelling Harmony, Georges Bloch Une empreinte sonore de la Fondation Beyeler (for ensemble)

  10. Modelling Asynchronous rhythms, Mauro Lanza • Variables: rhythmical patterns of fixed, relatively prime lengths L1 ... Ln • Each pattern is played repetitively on one voice • Constraint: not two onsets played simultaneously for a fixed duration D No solution as soon as D >= lcm(Li , Lj) for any i, j

  11. Modelling Asynchronous rhythms, Mauro Lanza Erba nera che cresci segno nero tu vivi (for voice and eletronics) Burgertime (for tuba end electronics) Aschenblume (for ensemble)

  12. Modelling Special features of these CSPs • Expressivity of the constraint language • Need for diverse solutions • Many overconstrained problems • Solutions are re-written afterwards • The resolution process has to be understood by non-scientific users

  13. Overview • Computer assisted composition and OpenMusic • Modelling of musical CSPs • Adaptive search • OMClouds • Guitar

  14. Adaptive search Adaptive search • Local search method close to GSAT, WalkSAT, WSAT(OIP) • Selman 92, Selman Kautz 94, Walser 99 • Min Conflict • Minton 92 • Tabu-like heuristic • Glover 89 • Shown to be very efficient on classical academic CSPs • Codognet Diaz 03

  15. Adaptive search Local search constraint X = Y error function which measures how much the constraint is satisfied | X- Y | The goal is now to find a configuration with error zero.

  16. Adaptive search projection on each variable Adaptive search constraint X = Y error function which measures how much the constraint is satisfied | X- Y |

  17. Adaptive search Intuitively • Directed search: the structure of the problem is used • at the variable level • at the constraint level • Convergence on variables with bad values • Any kind of constraint can be used, provided the appropriate error functions are defined

  18. Overview • Computer assisted composition and OpenMusic • Modelling of musical CSPs • Adaptive search and musical application • OMClouds • Guitar

  19. OMClouds OMClouds • Homogeneous variables • Three CSPs structures: lists, permutations, cycles • Take advantage of existing musical knowledge in OpenMusic • Visual definition of the constraints • By default, automatic transformation of constraints into cost-functions • Edition of approximate solutions

  20. OMClouds OMClouds objects associated methods • edit on a score • play • ... musical object asvarlist • values • domains • current errors • tabu status • constraints • ... associated methods • update • initialize randomly • descent • resolution • ...

  21. OMClouds instance of asvarlist method for asvarlist

  22. OMClouds Variables Constraint primitive

  23. OMClouds Edition of partial results

  24. Overview • Computer assisted composition and OpenMusic • Modelling of musical CSPs • Adaptive search and musical application • OMClouds • Guitar

  25. Guitar Guitar C major chord : bass + third + fifth Find a playable realization and the associated fingering 5

  26. Guitar Constraints for a single chord • The guitarist uses only four fingers • or three in case of a barré, and then no note can be played below the barré • The hand has a limited size, depending on the position • If the mute is possible, then a minimum of notes must be played • ad lib

  27. Guitar Constraints for two successive chords Several possibilities: • Minimize the number of cases in the position’s change • Minimize the number of position changes • Maximize the number of fingers which stay on the same note • In case of barrés, stay on the same barré Optimize an ad hoc distance in order to combine all of these possibilities

  28. Guitar Resolution • Solved in two steps • first step : find all the solution for one chord • complete method • second step : find a tour in the solutions with minimal error • adaptive search • Visual integration to OM objects by adding the fingergings

  29. Guitar Chords from Mikhaïl Malt

  30. Conclusion • Musical application give new, original CSPs and shows a good example of non-academic use of CP • CP is a flexible programming tool for the composers • OMClouds takes advantage of the whole search process, and naturally copes with overconstrained CSPs

More Related