Higher-Order and Symbolic Computation

, Volume 22, Issue 1, pp 81–111 | Cite as

Visual Lisp/CLOS programming in OpenMusic

Article

Abstract

OpenMusic (OM) is a visual programming language developed on top of Common Lisp and CLOS, in which most of the functional and object-oriented programming concepts can be implemented and carried out graphically. Although this visual language was designed for musical applications, the focus in this paper is to describe and study OM as a complete general-purpose programming environment.

Visual programming Functional programming Object-oriented programming Lisp Computer music 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Agon, C.: OpenMusic: Un langage visuel pour la composition musicale assistée par ordinateur. PhD Thesis, Université Pierre et Marie Curie (Paris 6) (1998) Google Scholar
  2. 2.
    Agon, C., Assayag, G.: Programmation visuelle et éditeurs musicaux pour la composition assistée par ordinateur. In: 14ème Conférence Francophone sur l’Interaction Homme-Machine IHM’02, Poitiers, France (2002) Google Scholar
  3. 3.
    Agon, C., Assayag, G.: OM: A graphical extension of CLOS using the MOP. In: Proceedings of the International Lisp Conference—ILC’03, New York, USA (2003) Google Scholar
  4. 4.
    Agon, C., Stroppa, M., Assayag, G.: High level musical control of sound synthesis in OpenMusic. In: Proc. International Computer Music Conference, Berlin, Germany (2000) Google Scholar
  5. 5.
    Agon, C., Bresson, J., Assayag, G. (eds.): The OM Composer’s Book, vol. 1. IRCAM—Editions Delatour France (2006) Google Scholar
  6. 6.
    Assayag, G.: Computer assisted composition today. In: 1st Symposium on Music and Computers, Corfu, Greece (1998) Google Scholar
  7. 7.
    Assayag, G., Rueda, C., Laurson, M., Agon, C., Delerue, O.: Computer assisted composition at IRCAM: From PatchWork to OpenMusic. Comput. Music J. 23(3) (1999) Google Scholar
  8. 8.
    Bonnet, A., Rueda, C.: Situation: Un langage visuel basé sur les contraintes pour la composition musicale. In: Chemillier, M., Pachet, F. (eds.) Recherches et applications en informatique musicale. Hermes, Paris (1998) Google Scholar
  9. 9.
    Boshernitsan, M., Downes, M.S.: Visual programming languages: A survey. Technical Report CSD-04-1368, University of California, Berkeley, USA (1997) Google Scholar
  10. 10.
    Bresson, J., Agon, C.: Musical representation of sounds in computer-aided composition: A visual programming framework. J. New Music Res. 36(4) (2007) Google Scholar
  11. 11.
    Bresson, J., Agon, C.: Programs, scores, and time representations: The sheet object in OpenMusic. Comput. Music J. 32(4) (2008) Google Scholar
  12. 12.
    Bresson, J., Agon, C., Assayag, G. (eds.): The OM Composer’s Book, vol. 2. IRCAM—Editions Delatour France (2008) Google Scholar
  13. 13.
    Burnett, M.: Visual programming. In: Webster, J. (ed.) Encyclopedia of Electrical and Electronics Engineering. Wiley, New York (1999) Google Scholar
  14. 14.
    Burnett, M.: Software Engineering for Visual Programming Languages. Handbook of Software Engineering and Knowledge Engineering, vol. 2. World Scientific, Singapore (2001) Google Scholar
  15. 15.
    Burnett, M.M., Baker, M.J.: A classification system for visual programming languages. J. Vis. Lang. Comput. 5(3), 287–300 (1994) CrossRefGoogle Scholar
  16. 16.
    Burnett, M., Atwood, J., Walpole Djang, R., Reichwein, J., Gottfried, H., Yang, S.: Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm. J. Funct. Program. 11(2), 155–206 (2001) MATHGoogle Scholar
  17. 17.
    Citrin, W., Doherty, M., Zorm, B.: Formal semantics of control in a completely visual programming language. In: IEEE Symposium on Visual Languages, St Louis, USA, 1994, pp. 208–215 Google Scholar
  18. 18.
    Cox, P., Giles, F., Pietrzykowski, T.: Prograph: A step towards liberating programming from textual conditioning. In: IEEE Workshop on Visual Languages, Rome, Italy (1989) Google Scholar
  19. 19.
    Cox, P.T., Pietryzkowsky, T.: Using a pictorial representation to combine data flow and object-orientation in a language-independent programming mechanism. In: Glinert, E.P. (ed.) Visual Programming Environments: Paradigms and Systems. IEEE Computer Society Press, Los Alamitos (1990) Google Scholar
  20. 20.
    Dannenberg, R.B.: Machine Tongues XIX: Nyquist, a language for composition and sound synthesis. Comput. Music J. 21(3) (1997) Google Scholar
  21. 21.
    Dannenberg, R.B., McAvinney, P., Rubine, D.: Arctic: A functional language for real-time systems, Comput. Music J. 10(4) (1986) Google Scholar
  22. 22.
    Dannenberg, R.B., Desain, P., Honing, H.: Programming language design for music. In: Roads et al. (eds.) Musical Signal Processing. Swets and Zeitlinger (1997) Google Scholar
  23. 23.
    Erwig, M., Meyer, B.: Heterogeneous visual languages—integrating visual and textual programming. In: Proc. IEEE Symposium on Visual Languages, Darmstadt, Germany, 1995, pp. 318–325 Google Scholar
  24. 24.
    Fukunaga, A.S., Kimura, T.D., Pree, W.: Object-oriented development of a data flow visual language system. In: IEEE Symposium on Visual Languages, Bergen, Norway, 1993, pp. 134–141 Google Scholar
  25. 25.
    Gabriel, R.P., White, J.L., Bobrow, D.G.: CLOS: Integrating object-oriented and functional programming. Commun. ACM 34(9) (1991) Google Scholar
  26. 26.
    Glinert, E.P., Tanimoto, S.L.: PICT: An interactive, graphical programming environment. IEEE Comput. 17, 7–25 (1984) Google Scholar
  27. 27.
    Glinert, E.P., Kopache, M.E., McIntyre, D.W.: Exploring the general-purpose visual alternative. J. Vis. Lang. Comput. 1(1), 3–39 (1990) CrossRefGoogle Scholar
  28. 28.
    Green, T.R.G., Petre, M.: When visual programs are harder to read than textual programs. In: Proceedings of the Sixth European Conference on Cognitive Ergonomics (ECCE 6), 1992, pp. 167–180 Google Scholar
  29. 29.
    Green, T.R.G., Petre, M.: Usability analysis of visual programming environments: A ‘cognitive dimensions’ framework. J. Vis. Lang. Comput. 7(2), 131–174 (1996) CrossRefGoogle Scholar
  30. 30.
    Haddad, K.: Livre Premier de Motets: The time-block concept in OpenMusic. In: Bresson, J., Agon, C., Assayag, G. (eds.) The OM Composer’s Book, vol. 2. IRCAM—Editions Delatour France (2008) Google Scholar
  31. 31.
    Helsel, R.: Visual Programming with HP VEE, 2nd edn. Prentice-Hall, Upper Saddle River (1997) Google Scholar
  32. 32.
    Hiller, L.: Revised MUSICOMP manual. University of Illinois Experimental Music Studio, USA (1969) Google Scholar
  33. 33.
    Hils, D.D.: DataVis: A visual programming language for scientific visualization. In: Proceedings of the ACM Computer Science Conference, San Antonio, USA (1991) Google Scholar
  34. 34.
    Hils, D.D.: Visual languages and computing survey: Data flow visual programming languages. J. Vis. Lang. Comput. 3(1) (1992) Google Scholar
  35. 35.
    Holt, C.M.: Viz: A visual language based on functions. In: IEEE Workshop on Visual Languages, Skokie, Illinois (1990) Google Scholar
  36. 36.
    Kiczales, G., des Rivières, J., Bobrow, D.G.: The Art of the Metaobject Protocol. MIT Press, Cambridge (1991) Google Scholar
  37. 37.
    Kiper, J.D., Howard, E., Ames, C.: Criteria for evaluation of visual programming languages. J. Vis. Lang. Comput. 8(2), 175–192 (1997) CrossRefGoogle Scholar
  38. 38.
    Kimura, T.D., Choi, J.W., Mack, J.M.: A visual language for keyboardless programming. Technical Report, WUCS-86-6, University of Washington, St Louis, USA (1986) Google Scholar
  39. 39.
    Kuuskankare, M., Laurson, M.: Expressive notation package. Comput. Music J. 30(4) (2006) Google Scholar
  40. 40.
    Larkin, J.H., Simon, H.A.: Why a diagram is (sometimes) worth ten thousand words. Cogn. Sci. 11, 65–99 (1987) CrossRefGoogle Scholar
  41. 41.
    Lau-Kee, D., Billyard, A., Faichney, R., Kozato, Y., Otto, P., Smith, M., Wilkinson, I.: VPL: An active, declarative visual programming system. In: IEEE Workshop on Visual Languages, Kobe, Japan, 1991, pp. 40–46 Google Scholar
  42. 42.
    Laurson, M.: PWConstraints. In: Symposium: Composition, Modélisation et Ordinateur, IRCAM, Paris (1996) Google Scholar
  43. 43.
    Laurson, M., Duthen, J.: Patchwork, a graphic language in PreForm. In: Proceedings of the International Computer Music Conference, Ohio State University, USA (1989) Google Scholar
  44. 44.
    Laurson, M., Kuuskankare, M.: PWGL, a novel visual language based on common Lisp, CLOS, and OpenGL. In: Proceedings of the International Computer Music Conference, Gothenburg, Sweden (2002) Google Scholar
  45. 45.
    Laurson, M., Norilo, V., Kuuskankare, M.: PWGLSynth: A visual synthesis language for virtual instrument design and control. Comput. Music J. 29(3) (2005) Google Scholar
  46. 46.
    Lemouton, S., Schaathun, A.: Knitting and weaving: Using OpenMusic to generate canonic musical material. In: Bresson, J., Agon, C., Assayag, G. (eds.) The OM Composer’s Book, vol. 2. IRCAM—Editions Delatour France (2008) Google Scholar
  47. 47.
    Letz, S., Orlarey, Y., Fober, D.: The role of lambda-abstraction in elody. In: Proceedings of the International Computer Music Conference, Ann Arbor, Michigan, USA (1998) Google Scholar
  48. 48.
    Malt, M.: Les mathématiques et la composition assistée par ordinateur (concepts, outils et modèles). PhD Thesis, Ecoles des Hautes Etudes en Sciences Sociales, Paris, France (2000) Google Scholar
  49. 49.
    Mathews, M.: The Technology of Computer Music. MIT Press, Cambridge (1969) Google Scholar
  50. 50.
    McCartney, J.: Rethinking the computer music language: SuperCollider. Comput. Music J. 26(4) (1996) Google Scholar
  51. 51.
    Melen, C.: Six metal fugue. In: Bresson, J., Agon, C., Assayag, G. (eds.) The OM Composer’s Book, vol. 2. IRCAM—Editions Delatour France (2008) Google Scholar
  52. 52.
    Monden, N., Yoshimoto, I., Hirakawa, M., Tanaka, M., Ichikawa, T.: HI-VISUAL: A language supporting visual interaction in programming. In: IEEE Workshop on Visual Languages (1984) Google Scholar
  53. 53.
    Myers, B.A.: Taxonomies of visual programming and program visualization. J. Vis. Lang. Comput. 1(1) (1990) Google Scholar
  54. 54.
    Najork, M.A.: Programming in three dimensions. J. Vis. Lang. Comput. 7(2) (1996) Google Scholar
  55. 55.
    Najork, M.A., Golin, E.: Enhancing show-and-tell with a polymorphic type system and higher-order functions. In: IEEE Workshop on Visual Languages (1990) Google Scholar
  56. 56.
    Orlarey, Y., Fober, D., Letz, S.: Elody: A Java+MidiShare based music composition environment. In: Proceedings of the International Computer Music Conference, Thessaloniki, Greece (1997) Google Scholar
  57. 57.
    Petre, M., Green, T.R.G.: Learning to read graphics: some evidences that ‘seeing’ an information display is an acquired skill. J. Vis. Lang. Comput. 4(1) (1993) Google Scholar
  58. 58.
    Pope, S.T. (ed.): The Well Tempered Object (Musical Applications of Object-Oriented Software Technology). MIT Press, Cambridge (1991) Google Scholar
  59. 59.
    Poswig, J., Vrankar, G., Morara, C.: VisaVis: A higher-order functional visual programming language. J. Vis. Lang. Comput. 5(1) (1994) Google Scholar
  60. 60.
    Puckette, M.: Combining event and signal processing in the MAX graphical programming environment. Comput. Music J. 15(3) (1991) Google Scholar
  61. 61.
    Rasure, J.R., Williams, C.S.: An integrated data flow visual language and software development environment. J. Vis. Lang. Comput. 2(3) (1991) Google Scholar
  62. 62.
    Rodet, X., Cointe, P.: Formes: Composition and scheduling of processes. Comput. Music J. 8(3) (1984) Google Scholar
  63. 63.
    Rueda, C., Alvarez, G., Quesada, L.O., Tamura, G., Valencia, F.D., Díaz, J.F., Assayag, G.: Integrating constraints and concurrent objects in musical applications: A calculus and its visual language. Constraints 6(1) (2001) Google Scholar
  64. 64.
    Schiffer, S., Fröhlich, J.H.: Visual programming and software engineering with Vista. In: Burnett, M., Goldberg, A., Lewis, T.G. (eds.) Visual Object-Oriented Programming: Concepts and Environments. Manning Publications Co., Greenwich (1995) Google Scholar
  65. 65.
    Steele, G.L.: Common Lisp the Language, 2nd edn. Digital Press (1990) Google Scholar
  66. 66.
    Taube, H.: Common music: A music composition language in common Lisp and CLOS. Comput. Music J. 15(2) (1991) Google Scholar
  67. 67.
    Truchet, C., Assayag, G., Codognet, Ph.: OMClouds, a heuristic solver for musical constraints. In: MIC’03 Metaheuristics International Conference, Kyoto, Japan (2003) Google Scholar
  68. 68.
    Tyugu, E., Valt, R.: Visual programming in NUT. J. Vis. Lang. Comput. 8(5–6) (1997) Google Scholar
  69. 69.
    Vose, G.M., Williams, G.: LabVIEW: Laboratory virtual instrument engineering workbench. Byte 11, 84–92 (1986) Google Scholar
  70. 70.
    Whitley, K.N.: Visual programming languages and the empirical evidence for and against. J. Vis. Lang. Comput. 8(1), 109–142 (1997) CrossRefGoogle Scholar
  71. 71.
    Whitley, K.N., Blackwell, A.F.: Visual programming: The outlook from academia and industry. In: Proceedings of the 7th Workshop on Empirical Studies of Programmers, Alexandria, Virginia, United States (1997) Google Scholar
  72. 72.
    Young, M., Argiro, D., Kubica, S.: Cantata: Visual programming environment for the Khoros system. Comput. Graph. 29 (1995) Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2009

Authors and Affiliations

  1. 1.IRCAM—CNRS UMR STMS, Music Representation Research GroupParisFrance

Personalised recommendations