Assigned Date: Friday, Nov. 5
Due Date: Monday, Nov. 15
Due Time: 30 mins before class
Write a Jython program that sonifies some real-world data to generate an interesting, convincing piece of music.
Data Repositories to Work From
Here are some really nice examples of data repositories for you to search and identify what you want to use. Selecting something appealing can go a long way in creating an impressive piece of work. So, pick carefully and creatively.
- UCI Machine Learning Repository – a great collection of amazing datasets for machine learning, and (why not?) for sonification (also this, and this – two different views of the same repository).
- Awesome Public Datasets – a wide variety of public data sets.
- Datasets at the Library of Congress – a research guide.
- and many more (to be searched and found)…
The piece should last about one minute, but longer pieces are OK (as long as they continue to be interesting throughout).
It is OK to include pre-composed (non-data-driven, or deterministic) material, as long as you follow a 20-80% (or 30-70%) rule. That is, since this is an assignment on sonifying data to create new, interesting material, the data-driven parts of your piece should make up 80% (or 70%, or so) of it.
Use an interest curve approach to design the piece structure. Which parts will be driven by the data? How will you sonify things? Will it be pitch, duration, etc.?
The piece can either create an aesthetic effect, or it may help answer a scientific or socioeconomic question, such as global warming, rising sea levels, or distribution of wealth. This is up to you. Both is fine too.
Here are some sonification examples:
- Hard Data (2009),
- Two Trains (2015),
- Migrant (2015), and
- a long list of sonification artworks (also this, and this).
The piece can have any orchestration (instruments) you want.
Start on a paper napkin (yes, preferably with pizza stains…). You will submit it too, so start here.
Draw the interest curve of the piece you are creating. How are you going to achieve these changes in interest (add something, subtract something)?
What instruments will you use?
What rhythms will they play?
Design, design, design – think and make decisions on paper first. Code later. Return back to paper often. Do NOT think in code… think on paper.
Always remember the adage –
“20 hours of coding can save you two hours of design”
Do all three:
- Upload a photo of your paper design for your piece (it should show the interest curve and describe in words what elements are added, and where… and why). We should be able to see the structure of the piece and your choices by looking at this page.
- Upload your program file on OAKS.
- Be ready to perform it in class, on the due date.
Your program should have a meaningful name, e.g., stairwayToHeaven.py.
Follow the documentation instructions from Homework 1. In particular, your header documentation should:
- mention the name of the piece and the composer / band where it comes from, and,
- if you used a score available online, include the URL where the score can be found.
Remember, the Golden Rule of Style: “A program should be as easy for a human being to read and understand as it is for a computer to execute.”  Your code should have general comments at the top, which explain what the program does. You should comment all variables, obscure statements, and blocks of code.
Follow the textbook examples on how to write comments.
Your grade will be based on how well you followed the above instructions, and the depth/quality of your work.
- Cooper, D. and Clancy, M. (1985) “Oh! Pascal”, 2nd ed., W.W. Norton & Company, New York, p. 42.