Common Music
# Common Music

Common Music (CM) es un entorno de programación orientada al objeto, para composición de música. Basándose en el lenguaje lisp, permite la creación y manipulación de información (objetos) musical, que puede ser transformada en sonido, partituras, u otras representaciones, mediante varios protocolos estándar. El creador y referencia base del proyecto se llama Rick Taube, profesor de composición en la universidad de Illinois.

Common Music comenzó como proyecto en 1989, presentándose como un sistema de programación musical, de interés para compositores, que podía funcionar en máquinas de bajo coste. Algo que también, hace especialmente interesante el lenguaje Common Music, es que una vez comprendido el lenguaje de objetos musicales que ofrece, es posible extender el propio sistema, expresándose en Lisp.

## Relaciones con otros softwares y librerías

Mediante el sistema de instalación de paquetes de lisp, Common Music entabla diálogo con los siguientes protocolos:

* Csound (sound synthesis)
* Fomus (music notation)
* Common Lisp Music (sound synthesis)
* Common Music Notation (music notation)
* MIDI (synthesis control)
* Midishare (MIDI I/O)
* Plotter (data visualization)
* Open Sound Control (synthesis control)
* Supercollider (sound synthesis)
* Portmidi (MIDI I/O)
* RTS and Receive (real time extensions)

## Ejemplo

El siguiente código, genera una sucesión de notas midi con sus parámetros elegidos al azar, entre respectivas listas de valores. La última línea genera efectivamente el archivo midi.

El mismo código se retocaría ligeramente, para proporcionar como salida, una score de Csound, una partitura en notación clásica, u otros formatos de la lista de protocolos que aparece más arriba.

