This project read a dataset in csv format and outputs music in midi format.
- data_input.csv: The input dataset. The data here is randomized in order the protect the privacy of the original data. The dataset is a record of working on a particular project over the time span of 3 weeks.
- main.py: the main program. Run this program and you will get a sonification of "data_input.csv". ** data_input.py and midi_group.py: header files that defines dependent classes used in main.py.
- Sonification_output.mid: the sonification of the input dataset in midi format.
- others: the rest are demonstrations of the motives and mapping techniques used in the sonification.
-
location: work location is mapped to a motive, because a location is a setting for work and a motif is a setting for music. A motif is a basic musical unit. The examples for four motives used are at below. ".mid" file can be opened by a midi play (such a GarageBand). ".mscz" displays the score as well as plays the score in sound. ".mscz" can be opened by MuseScore.
- alberti_bass.mid, alberti_bass.mscz: Alberti-bass is widely used in classical music. An example of the use is Mozart's Piano Sonata No. 16 in C Major, K.545
- B-A-C-H.mscz BACH.mid: a motif that form's the family name of Johann Sebastian Bach. It is famously used by Bach and many composers after him.
- wanderer.mid, wanderer.mscz: from the opening sequence of The Wonderer's Fantasy by Franz Schubert
- come_write_a_fugue.mid come_write_a_fugue.mscz: from Glenn Gould's song "So you Want to Write a Fugue?"
-
days to deadline: velocity and amplitude. The closer to deadline, the faster and louder the music is.
-
companion: number of voices using chord inversion. To learn more about chord inversion, see "Example_ChordInversion.mscz".
-
mood: harmonic quality. To learn more about chord inversion, see "Example_TriadQuality.mscz".