Melodía algorítmica infinita basada en números primos

imagen

Hola Habr! En el último artículo, "un patrón infinito basado en números primos" , hablé sobre un algoritmo que te permite generar patrones infinitos hermosos que son dibujos extraterrestres o algo tecnológico, como un dispositivo de chip. Sin embargo, el algoritmo para generar patrones 2D también se puede usar para crear melodías. Más detalles debajo del corte.

Algoritmo de generación de melodía


Para crear melodías, hice un simple generador de meandros con una señal de desvanecimiento. En este caso, puede superponer varios generadores de meandros uno encima del otro. A continuación, establecemos los períodos de los generadores de meandros de acuerdo con las frecuencias de las notas, y establecemos la amplitud de los generadores dependiendo de la presencia de la tecla "sujeta". Como señal para una pulsación de tecla, utilicé el valor de píxel de una imagen 2D tomada de una columna vertical que se puede mover alrededor de la imagen. La columna contiene 14 píxeles, que corresponden a 7 notas de la segunda y tercera octava. Una tecla tiene solo dos estados: presionada o no.

El generador de meandros y las funciones para almacenar el resultado en un archivo WAV que implementé como una biblioteca separada para trabajar con sonido. Ella esta aqui

El programa para generar música se puede ver aquí . Se llama simple_sound. Listo exe se puede encontrar en el archivo. En la salida, el programa crea un archivo WAV "de ejemplo".

Ejemplos de melodías


Una de las canciones más interesantes, ejemplo_dx1000_dy1000_x2018_y8 . El nombre de la melodía muestra el tamaño del cambio en las coordenadas X e Y, así como las coordenadas iniciales. Otras melodías:

ejemplo_dx_dy_x5678_y7768
ejemplo_dx_dy_y776897123
ejemplo_y47
ejemplo

En teoría, puede refinar el algoritmo y usarlo para juegos primitivos, de modo que las melodías en el juego nunca se repitan.

Source: https://habr.com/ru/post/es420225/


All Articles