Music 220A: Homework 1: Data Sonification

Audio File:


ChucK Files:

Data Files:

Cars Data

Champagne Sales Data

Milk Stock Data

IBM Stock Data


1. The values for gain are squared so that negative values are still valid. The parameters put into the gain equations need to be between 0 and 1 in order for miniAudicle to play them, and squaring values makes sure they are within this range (assuming they weren't >1 or <-1 to begin with).

2. We use MIDI values for the frequencies so that there is discernible difference between notes. A difference of 1 in MIDI can be a difference of a few hundred Hz, while if you mapped these frequencies linearly to your data, you would not have enough dynamic range (e.g. your frequencies would all be around 800).

3. Changing the 100ms update would simply change the length of each note, and therefore, the whole song. Using 10ms causes most songs to finish playing in seconds, while choosing 400ms (as I did), causes a typical song to be a minute or so in length.

As for how I mapped my data to sound, I concentrated on exploring the different effects and unit generators. I used 4 pieces of data: 1) Perrin Freres monthly champagne sales '64-'72, 2) monthly car sales in Quebec 1960-1968, 3) manufacturer's stocks of evaporated and sweetened condensed milk (case goods) Jan 1971 - Dec 1980, and 4) monthly returns, IBM common stock Jan 1961 - Dec 1967.* I picked this data because it was widely varied and was similar in length.

As for mapping, I wanted to explore the functionality of different unit generators in ChucK. Thus, I used one data set to set the amplitudes, one to set the frequencies, one to set vibrato in a Modulate unit generator, and one to set pitch shifts in a PitShift unit generator. These effects were not very complicated but still gave me a very distinctive sound including noticeable modulation (lower frequency humming) and pitch shifting similar to a wah-wah effect. More importantly, these effects provided me with ample experience in coding ChucK and understanding the language itself. Lastly, I added a fade-out effect in Audacity so as to end the song more naturally.

* All data is taken from DataMarket. Here are the URLs to the different data sets:!display=line&ds=22r5!display=line&ds=22n4!display=line&ds=22vq!display=line&ds=22su