Due 11:59pm on Wednesday, November 3 in the Homework Factory
Create a binaural sound file which sonifies a time series you've chosen to listen to.
Your data source can be anything, and here are some good places to look:
Here are three example data files:
Nighttime temperature measurements from Chris' kitchen this week
Monthly Australia sales of dry white wine: thousands of litres. Jan 1980 – Jul 1995. (from the Time Series Data Library collection)
Monthly Australian sales of fortified wine: thousands of litres. Jan 1980 – Jul 1995. (from the Time Series Data Library collection)
Here are chuck files to get you started:
Defines the class DataReader, which handles reading in a file and sonifying data file passed to it as the first parameter, if any.(Note: You always want to shred this first, so that it has been defined for use in further shreds. You won't see it running itself in the shreduler since it only provides definitions.)
For starters - "solo" example, played one after the other in sequence.(Note: You need to have defined hw4-DataReader before shreding this file)
For starters - "polyphony" example(Note: You need to have defined hw4-DataReader before shreding this file)
New: This example shows how to smooth transitions (using real-time envelopes) and how to subclass (using "extends").
Chuck can be run without miniAudicle. In a terminal, launch chuck by providing the chuck code file and the data filename as an argument to it. Arguments are preceded with a colon. For instance:
reads in and sonify the night temperature data file, while
reads in and sonify the dry white wine sales data file.
Alternatively, we can shred two chuck files, where the first chuck file is hw4-DataReader.ck, and the second chuck file specifies the data file(s) to be used. In the following example, the second chuck file (hw4-SinOsc-wineThenPort) uses two data files and plays them in sequence:
chuck hw4-DataReader.ck hw4-SinOsc-wineThenPort.ck
In this case, no argument is needed to hw4-DataReader.ck because the data filenames are coded in the content of the second file. Since no arguments are passed to hw4-DataReader.ck, hw4-DataReader.ck handles only the reading in files part, while all data-to-sound mappings are defined in hw4-SinOsc-wineThenPort.ck. Also note the syntax: we shred multiple chuck files in the terminal by separating them with a space.
Important: you may need to modify the dataDir variable (line 2 in hw4-SinOsc-wineThenPort.ck and line 5 in hw4-SinOsc-wineWithPort.ck to have the paths point to where you've downloaded the data files on your computer.
For developing your own versions of the homework, you'll want to use the miniAudicle. (Once done developing, you can run them using the terminal, as described above.) Always first define the public class called “DataReader” by opening and shredding hw4-DataReader.ck. Investigate both hw4-SinOsc-wineThenPort.ck and hw4-SinOsc-wineWithPort.ck, see how they map incoming data to musical parameters, and create your own versions.
The first (hw4-SinOsc-wineThenPort.ck) is over-simplified and sounds basic, but the second of these (hw4-SinOsc-wineWithPort.ck) already demonstrates a more musically interesting approach. The left and right channels play the two series in sync and by ear you hear the extent of the correlations.
Questions for the reader: (1) why are the values for gain squared, and (2)why use MIDI keynums for the freq values? What happens if they're mapped linearly, instead? And (3) what happens if the 100 ms update rate is increased or decreased significantly? (Provide your response to these questions in the hw4.html submission.)
Use your imagination to devise some music in which the performer is data. Sound production can be anything available in chuck. Please use all 4 channels and begin to experiment with piping the sound through reverb and/or effects, as in the example above. Submit the finished study in binaural format. The one requirement is to have a “solo” section in it somewhere which contrasts with a polyphonic (multi-voiced) section. In this case, solo means one time series performing one voice and “poly” means two or more series and voices at a time. But don't do only that – develop some music that you like and just provide the required parts somewhere inside it.
Submit to the homework factory hw4.html file that includes the following: