Herramientas de usuario

Herramientas del sitio


investigacion:herramientas_generativas_composicion_musica

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
investigacion:herramientas_generativas_composicion_musica [2015/08/24 14:08] son0pinvestigacion:herramientas_generativas_composicion_musica [2020/02/11 17:18] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 ====== Herramientas generativas al servicio de la composición musical ====== ====== Herramientas generativas al servicio de la composición musical ======
 +
 +Exploraremos algunos caminos posibles en la generación de partes para la composición musical:
 +
 +===== Generadores de Aleatoriedad =====
 +==== Math.Random2() ====
 +
 +La pseudoaleatoriedad que puede generar un programa de computación se desgasta rápidamente luego de la sorpresa pues no le permite al oyente la fascinación que produce predecir un evento, la menta humana disfruta al deducir un patrón y poder predecir su comportamiento. Esta técnica entonces podría servir para introducciones, interludios, finales, o efectos, pero tiene limitaciones para construir música convencionales, ejemplo: [[https://github.com/son0p/algo-ritmos/blob/master/practicas/10001_random.ck|10001_random.ck]]
 +==== Aleatoriedad restringida ====
 +=== Solo notas temperadas ===
 +=== Solo notas de una escala ===
 +=== Solo notas de una escala con un intervalo máximo ===
 +
 +==== Variaciones de algo conocido ====
 +Otra aproximación es partir de una frase o ritmo conocido y hacer variaciones
 +
 +
 +
 +
 +
  
 ====== Arrays ====== ====== Arrays ======
 Para algunos lenguajes de programación usamos Arrays de valores para describir la presencia y ausencia de eventos musicales tenemos varias aproximaciones: Para algunos lenguajes de programación usamos Arrays de valores para describir la presencia y ausencia de eventos musicales tenemos varias aproximaciones:
 +===== Describir una melodía con Arrays =====
 +Hay varias aproximaciones:
 +==== Usando Arrays Multidimensionales ====
 +Con un array de tres dimensiones se puede describir la altura, la duración, y la posición.
 +La altura se puede referir a la nota MIDI directamente, o a la distancia de la nota raíz, la duración puede darse en un divisor de la unidad metronómica, la posición puede indicar el step en un secuenciador.
 +
 +
  ===== Arrays Multidimensionales =====  ===== Arrays Multidimensionales =====
    
-===== Ventajas =====+==== Ventajas ====
  Permiten extraer cada array conservando las cualidades de array  Permiten extraer cada array conservando las cualidades de array
- ===== Desventajas =====+ ==== Desventajas ====
  Son difíciles de escribir y es difícil la lógica para acceder a sus elementos, tienen que ser del mismo tipo, si un valor es flotante los otros arrays deben definirse como flotantes y el primer elemento debe estar un flotante  Son difíciles de escribir y es difícil la lógica para acceder a sus elementos, tienen que ser del mismo tipo, si un valor es flotante los otros arrays deben definirse como flotantes y el primer elemento debe estar un flotante
  
Línea 25: Línea 51:
  
    
-====== Arrays con Tuplas ======+===== Arrays con Tuplas =====
  
-===== Ventajas =====+==== Ventajas ====
 Al igual que los arrays, cada elemento de una tupla puede ser extraído de manera independiente, pero a diferencia de los arrays, en las tuplas pueden convivir diferentes tipos de objetos o tipos de datos. Al igual que los arrays, cada elemento de una tupla puede ser extraído de manera independiente, pero a diferencia de los arrays, en las tuplas pueden convivir diferentes tipos de objetos o tipos de datos.
 Tambien es importante saber que, las tuplas son Objetos, y como tales pueden ser almacenados también en arrays, con una gran ventaja, la lógica para extraer sus elementos es mucho mas simple que la de un array multidimensional de similares características. Tambien es importante saber que, las tuplas son Objetos, y como tales pueden ser almacenados también en arrays, con una gran ventaja, la lógica para extraer sus elementos es mucho mas simple que la de un array multidimensional de similares características.
  
-===== Desventajas =====+==== Desventajas ====
 Las tuplas no son objetos nativos del lenguaje (chucK) y deben ser definidas como una clase, esto hace que su rendimiento sea inferior. Las tuplas no son objetos nativos del lenguaje (chucK) y deben ser definidas como una clase, esto hace que su rendimiento sea inferior.
  
Línea 46: Línea 72:
 array[0].z // 1 array[0].z // 1
 </code> </code>
-===== Ejemplos =====+==== Ejemplos ====
   * [[https://github.com/son0p/algo-ritmos/blob/master/test/Tuples.ck | Tuples.ck]]   * [[https://github.com/son0p/algo-ritmos/blob/master/test/Tuples.ck | Tuples.ck]]
  
    
 -------- --------
 +==== Problemas semánticos para describir el tiempo en los lenguajes de programación ====
 +
 +Referencia http://www.cl.cam.ac.uk/~dao29/publ/farm14-aaron.pdf
  
investigacion/herramientas_generativas_composicion_musica.1440425281.txt.gz · Última modificación: 2020/02/11 17:17 (editor externo)