Cualquier serie de datos puede convertirse en una melodía musical ya que cada nota musical de esa melodía puede identificarse con un número de una serie numérica concreta. En la actualidad los softwares y los instrumentos musicales comparten la codificación MIDI para poder emparejar música y números de una manera standard. En la figura 1 se puede ver la correspondencia entre números y notas musicales que se usa en dicha codificación MIDI.

Figura 1. Relación entre notas musicales y números en la codificación MIDI ( las notas  C, D, E…. se corresponden con las notas Do, Re, Mi…. Donde las primeras están en notación musical anglosajona y las segundas en notación latina)

Para poder convertir los datos en una pieza musical necesitamos un software con el que podamos programar la música correspondiente. En mi caso yo he usado Sonic Pi (https://sonic-pi.net/) con el que de manera muy sencilla podemos programar música mediante el uso de scripts que se pueden escribir en formato texto simple.   Un script básico para este software sería  por ejemplo  (https://sonic-pi.net/files/articles/Live-Coding-Education.pdf) :

play 70

sleep 1

play 75

sleep 0.5

play 82

sleep 1

Donde “play” es la instrucción con la que se toca una nota concreta cuyo número MIDI se escribe tras la instrucción y donde “sleep” es un tiempo de duración del mantenimiento de esa nota y que es proporcional   al “tempo” de la melodía (https://es.wikipedia.org/wiki/Tempo ), tempo  que se ajusta con la instrucción “use_bpm” .  El  tempo  representa la velocidad a la que se ejecutará la pieza musical  expresada en “beast per minute” . De esta manera, para crear una composición musical a partir de una serie de números o datos  con el software Sonic Pi, lo único que hay que hacer es convertir estos datos en los números MIDI  de las instrucciones play consecutivas de un script texto  que posteriormente el software Sonic Pi ejecutará.

Mis datos de partida fueron la serie de las medidas de temperaturas del aeropuerto de Vitoria que se pueden obtener en este link  http://weather.uwyo.edu/surface/meteorogram/europe.shtml  . Estos datos (http://e-ao.org/Apuntes/data_musica.xlsx  ) se corresponden con las medidas de temperatura tomadas cada media hora desde las 19:00 UTM del día 15 de noviembre de 2019 hasta las   19:30 UTM del día siguiente.

Para convertir en una melodía   cualquier serie de números o datos (como son en nuestro caso   la serie de los valores de temperaturas) es preciso utilizar algún algoritmo que transponga cada valor de temperatura (nuestros datos) en una nota MIDI. Este algoritmo debe tener en cuenta los valores máximos y mínimos de la serie, así como la elección de una octava musical adecuada para ejecutar la pieza musical resultante con un sonido que nos sea agradable (por  ejemplo  los de las  octavas centrales 5 o 6). El algoritmo usado en mi caso fue el siguiente:

                    Nota_musical= [(g/max-min)*(temp-min)]+cero                               (1)

Donde:

g= Factor para acomodar el máximo y el mínimo de las notas al máximo y el mínimo de las temperaturas (en nuestro caso g=9)

max y min : Temperaturas máxima y mínima de la serie

temp= Temperatura que se quiere convertir en una nota

cero= Valor MIDI de la nota musical de base que se corresponderá con la Temperatura mínima ( en nuestro caso se eligió 65 – nota F  de la octava 5 – )

Este algoritmo se construyó por tanteo tras varios ensayos previos. Evidentemente este algoritmo no puede ser usado de manera general ya que cada serie de datos particular debería ser convertida en una melodía mediante el uso de un algoritmo propio que consiga el mejor resultado musical posible. 

Para convertir la serie de temperaturas en la pieza musical final se ha usado un script desarrollado en R (https://www.r-project.org/) y que implementa el algoritmo (1) anteriormente descrito. Este script se puede obtener en http://e-ao.org/Apuntes/prog_datos_melod.txt

Mediante este programa en R se puede convertir la serie de valores de temperatura en un archivo texto simple  (script)  ejecutable desde Sonic Pi. Nuestro script de base era un conjunto de instrucciones play y sleep consecutivas en el que se habían  transformado   los números de la serie de temperaturas en una melodía escrita con el código numérico  MIDI. La figura 2 representa el inicio de este script Sonic Pi.

Figura 2. Parte inicial del script Sonic Pi obtenido con los datos de temperaturas y el programa R de transformación de números en notas MIDI

Este script, con la melodía básica,  se modificó añadiéndole algunos detalles rítmicos de sonidos de batería y  de bajos, para así obtener  un script final de Sonic Pi     que  sonara de manera  agradable    ( http://e-ao.org/Apuntes/musica_final3.txt ) . El resultado se grabó con el mismo software Sonic PI en formato WAV, formato que luego se convirtió a MP3. La pieza musical completa final se puede obtener en este link  http://e-ao.org/Apuntes/musica_final.mp3

Finalmente para editar un video donde se puedan ver los datos de manera animada junto a la música creada ( http://e-ao.org/Apuntes/video_datos_f.mp4 ) podremos usar PowerPoint para crear el video. A este video le añadiremos la música   mediante un editor de videos cualquiera (en mi caso yo usé Power Director) pero siempre teniendo en cuenta que hay que adecuar la duración de la animación a la duración de la música.

En PowerPoint la animación se consigue abriendo una diapositiva donde se pega la gráfica Excel correspondiente a los datos y luego se utiliza el menú de la pestaña de ANIMACIONES, donde tras marcar y señalar la gráfica insertada, se eligen las opciones adecuadas (Figura 3). Finalmente con el menú ARCHIVO del propio PowerPoint exportaremos el fichero a un formato MP4. El video así generado se puede editar con cualquier editor de videos y agregarle la música creada.

Figura 3.  En la pestaña ANIMACIONES   de   PowerPoint, y tras marcar la gráfica a animar proveniente de Excel, se pueden elegir las opciones que nos interesen (en nuestro caso Barrido y Duración 26.00 segundos) para obtener el video final.  El PowerPoint  de  esta  animación  se  encuentra  en este  link http://e-ao.org/Apuntes/animacion_datos.pptx