Data driven sonification is bringing us huge opportunities regarding experimenting sound of “things”. Things can be an unemployment rate as well as the number of deaths everyday. It can be anything.

As MCT Master students, we wanted to sonify rainfall timeseries data for our python project and apperantly rainfall has a good understanding of harmony! For our project, we used rainfall timeseries data from kaggle which was collected from Power Data Access Viewer.

As it is described in kaggle website:
The POWER Meteorological data is prediction or observation given by NASA’s GMAO MERRA-2 assimilation model. The data collected is monthly frequency data for a particular latitude and longitude in Mumbai for the period 2000 – 2020. The data consists of the following variables:

  • Specific Humidity
  • Relative Humidity
  • Temperature
  • Precipitation (The data consist of precipitation as monthly sum of rainfall )
Do you hear rain singing?

Sound corpus

Firstly we created sound corpus which had three synthesis. Two synthesis were two different musical lines in A Minor and one was the combination of chords responding to the same musical line. As first job for sonification, we calculated the duration of each note from the corresponding midi file by checking start and end time of the first note. Later we used this duration in order to slice the wav file of musical line into multiple wav files of each single note.

At this point, we had 7 wav files for each synthesis with the note names A, B, C, D , E, F and G.

Mapping rainfall data

As second step, we extracted some arrays from our rain data like temperature, humidity and perceived temperature which was a multiplication of specific humidity and temperature. Afterwards we took these values as frequency and mapped them into midi numbers. By doing that, we were able to use “note_number_to_name” function of “pretty midi” library, in order to get note names for each array item.

At this point, we had multiple rain data which were mapped to note numbers and three different corpus data of wav files with note names.

Sonification process

As a final step of our sonification, we created three musical lines based on three synthesis and array data. For each corpus and rainfall array, we started iterating on the array and appending the sound of that note. One sonification was created by “temperature” data while the other two were created by “relative humidity” and “preceived temperature” data and all the data was ordered by time.

And there was our sonification! We summed three output signals and had one sound which was generated by rainfall data! We built conductors from rainfall data features and they played a song for us together!

We had some cracks between sounds which we couldnt fix yet, but we hope you enjoy listening it!