Lenguaje de programación para la composición automática de música
DOI:
https://doi.org/10.30973/progmat/2025.17.1/1Palabras clave:
Composición musical automática, Lenguajes de Programación, Cadenas de MarkovResumen
Este artículo presenta un lenguaje de programación que organiza fragmentos de un corpus musical en nuevas y coherentes composiciones de acuerdo con las instrucciones codificadas por el usuario. Para este fin, la sintaxis del lenguaje consiste en una colección de operadores de alto nivel para controlar sistemáticamente los aspectos armónicos y rítmicos de la música compuesta automáticamente. Los operadores principales están basados en un modelo de cadenas de Markov; lo que ocasiona que el proceso de composición sea resultado de varias decisiones aleatorias. Esto permite que para el mismo código, múltiples composiciones diferentes puedan ser producidas. El artículo da una perspectiva sobre los aspectos teóricos del lenguaje y sus sintaxis. Adicionalmente, algunos ejemplos de código y sus composiciones producidas son incluidos y analizados.
Citas
Rameau JP. Treatise on Harmony. New York: Dover Publications; 2012.
García Gago J. Tratado de contrapunto: tonal y atonal. Barcelona: Publicacions Clivis; 1977.
Agon A. OpenMusic: Un langage visuel pour la composition musicale assistée par ordinateur [tesis doctoral]. Paris: Université de Paris 6; 1998.
Sorensen A. Impromptu: an interactive programming environment for composition and performance. Proc. of the Australasian Computer Music Conference. Brisbane. Australia. 2009;2(4):1-6.
Boulanger R. The Csound Book: Perspectives in Software Synthesis, Sound Design, Signal Processing, and Programming. Cambridge (MA): MIT Press; 2000.
Blackwell A, Collins N. The programming language as a musical instrument. Proc. of the Psychology of Programming Interest Group. Brighton, UK. 2005;5(3):284-289.
Tchaikovsky P. Guide to the Practical Study of Harmony. New York: Dover Publications; 2005.
Tymoczko D. A Geometry of Music: Harmony and Counterpoint in the Extended Common Practice. New York: Oxford University Press; 2011.
Rimsky-Korsakov N, Achron J, Hopkins N. Practical Manual of Harmony. New York: C. Fischer; 2005. https://doi.org/10.1177/002743213101800145.
Van Der Merwe A, Schulze W. Music generation with Markov models. IEEE MultiMedia. 2011;18(3):78-85. https://doi.org/10.1109/MMUL.2010.44.
Edwards M. Algorithmic composition: computational thinking in music. Communications of the ACM. 2011;54(7):58-67. https://doi.org/10.1145/1965724.1965742.
Bolch G, Greiner S, de Meer H, Trivedi K. Queueing Networks and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications. 2nd ed. Hoboken (NJ): John Wiley & Sons; 2006.
Lipowski A, Lipowska D. Roulette-wheel selection via stochastic acceptance. Physica A: Statistical Mechanics and its Applications. 2012;391(6):2193-2196. https://doi.org/10.1016/j.physa.2011.12.004.
Deitel HM, Deitel PJ. Cómo programar en C/C++ y Java. 5ª ed. México: Pearson Educación; 2004.
Cooper K, Torczon L. Engineering a Compiler. 2nd ed. Amsterdam: Elsevier Science; 2011.

Publicado
Cómo citar
Número
Sección
Licencia
Derechos de autor 2025 Erick G.G. de Paz, Perfecto Malaquías Quintero Flores, Xavier Quiñones Solís

Esta obra está bajo una licencia internacional Creative Commons Atribución 4.0.
Usted es libre de:
![]() |
Compartir — compartir y redistribuir el material publicado en cualquier medio o formato. |
![]() |
Adaptar — combinar, transformar y construir sobre el material para cualquier propósito, incluso comercialmente. |
Bajo las siguientes condiciones:
![]() |
Atribución — Debe otorgar el crédito correspondiente, proporcionar un enlace a la licencia e indicar si se realizaron cambios. Puede hacerlo de cualquier manera razonable, pero de ninguna manera que sugiera que el licenciador lo respalda a usted o a su uso. |
Sin restricciones adicionales: no puede aplicar términos legales o medidas tecnológicas que restrinjan legalmente a otros a hacer cualquier cosa que permita la licencia. |