Fall2012.CSCI180Homework5 History

Hide minor edits - Show changes to output

Added lines 49-50:

# Make sure you are using the latest music.py and image.py libraries. They are available in the student wiki.
Changed line 44 from:
Select a digital image that you find beautiful or compelling. Create a musical realization of this image using jython. You should design the musical parameters (pitch, dynamics, timbre, panoramic, etc.) through which this image will be realized in sound, with reference to a specific musical tradition:
to:
Select a digital image that you find beautiful or compelling. Create a musical realization of this image using Python. You should design the musical parameters (pitch, dynamics, timbre, panoramic, etc.) through which this image will be realized in sound, with reference to a specific musical tradition:
Added lines 1-115:
''Assigned'': Monday, Nov. 19, 2012\\
''Due Date'': Wednesday, Nov. 28\\
''Due Time'': 10:55am

Last modified on {$LastModified} (see [[http://www.cs.cofc.edu/~manaris/index.php/Fall2012.CSCI180Homework5?action=diff&source=n&minor=n | updates]])

This is a '''pair-programming''' assignment (i.e., you may work with '''one''' partner). You may discuss the assignment only with your partner or the instructor.

(This project has been co-developed with Prof. Blake Stevens, Music Dept.)

!!Purpose

Compose an interesting piece of music through the sonification of an image.

This assignment focuses on:

* musical process
* algorithmic process
* high-level musical structure (e.g., [[http://en.wikipedia.org/wiki/Tintinnabuli | Tintinnabuli]])
* processing information in images (e.g., use as chance material)

(It is OK to use more than one image, if you wish.)

!!Background

In the pluralistic musical culture of present moment, in which many "languages" or "dialects" are spoken simultaneously, it is worth thinking about how composers can find a distinctive musical language that is new, personally meaningful, and "beautiful." This is one of the central questions any composer or "organizer of sound" must face: what musical material will I work with? Diatonic ([[http://en.wikipedia.org/wiki/Arvo_P%C3%A4rt | Arvo Pärt]])? Chromatic ([[http://en.wikipedia.org/wiki/Pierre_Boulez | Pierre Boulez]])? Continuous sound (as [[http://en.wikipedia.org/wiki/Pierre_Schaeffer | Pierre Schaeffer]] and [[http://en.wikipedia.org/wiki/Edgard_Var%C3%A8se | Edgard Varèse]] each did, with dramatically different results)?

Arvo Pärt has been able to achieve something "new" while speaking a diatonic language and working within the tradition of minimalism.

For example, take some time to listen closely (with headphones) to some of Pärt's music:

* [[http://www.youtube.com/watch?v=YUcazplAc58 | Cantus in Memory of Benjamin Britten]]

* [[http://www.youtube.com/watch?v=rxI87CF0XT8 | Spiegel im Spiegel]]

* [[http://www.youtube.com/watch?v=f1CNNf9iU9Y | Salve Regina]]

* [[http://www.youtube.com/watch?v=a-DL9_8z1u8 | Für Alina]]

* Also, [[http://www.youtube.com/watch?v=c08i_9gumJs | Für Alina, explained by the composer]]

!!Assignment

Select a digital image that you find beautiful or compelling. Create a musical realization of this image using jython. You should design the musical parameters (pitch, dynamics, timbre, panoramic, etc.) through which this image will be realized in sound, with reference to a specific musical tradition:

Expressionism (atonality), Serialism, Aleatory Music, Minimalism, Jazz, Rock, Ambient, Rap, etc.

!!!Notes

# You could use only part of the image, or different parts of the image for different part of the music. For example, a bass line (low register) may be generated from a single ("rhythmically" interesting) row (or column) in the image. Or, you may create a recurring theme by sonifying a small (interesting) area of the image, and repeating it through @@Mod.repeat()@@ or @@Mod.cycle()@@. @@Mod.transpose()@@, @@Mod.fadeOut()@@, @@Mod.elongate()@@, etc. may prove useful.

# Explore high-level structure of your music. Do NOT expect that, just because you selected a beautiful image, everything will fall into place musically.

# Explore different possibilities, e.g., identify which image pixels (area? row? col?) will be used or what musical part. One possibility is to experiment with Arvo Pärt's [[http://en.wikipedia.org/wiki/Tintinnabuli | Tintinnabuli]] system. I.e., one part of the image can generate a bass tone, another a diatonic arpeggio, another a stepwise melodic line.

# Decide ahead of time if you will create chromatic, or diatonic music (e.g., @@CHROMATIC_SCALE@@, @@MAJOR_SCALE@@, etc.).

# Start with a sound picture in mind (i.e., what type of sound you want to produce - major, minor, chromatic, etc). This will inform the image(s) you select. The parameters in your algorithm should be shaped by both your intended sound idea and the image. As you explore, you may refine your image selection, type of sound, high-level musical structure, etc.

# You may add ornamental (non-image generated) musical material (no more than, say, 20% of the overall material). For example, you might generate a low-pitched drone or an ambient background sound to give the composition greater density and color.

!!Documentation

Follow 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." [3]

In general, you should comment any variable, obscure statement, block of code, method, and class you create.

Your comments should express '''why''' something is being done, as opposed to '''how''' – the how is shown by the code.

!!!Top Documentation

Additionally, your code should always include opening comments as follows:

(:source lang=Python tabwidth=3 -trim :)
#
# Author: "Your names"
# Email: "Your email addresses"
# Class: CSCI 180
# Assignment: HMWK5
# Due Date: The assignment's due date
#
# Certification of Authenticity:
#
# < ! Delete one of the two statements below - also delete this comment ! >
#
# We certify that this lab is entirely our own work.
#
# We certify that this lab is our own work, but we received
# some assistance from: "add people's names, Web links, or other references"
#
# Purpose: < ! Replace this comment with a simple, yet complete description of
# what your program does - e.g., "This program plays Chopen's Nocturne,
# Op 72. No. 1." The description may be several sentences long. ! >
#
(:sourcend:)

!!Submissions

You will submit your assignment via [[https://lms.cofc.edu/ | OAKS]]. Be prepared to demo your music to the rest of the class. Your submission consists of:

# Your Python program. Give it a meaningful name.

# The MIDI file generated from your program.

# Your image(s).

Provide everything necessary for me to be able and generate your MIDI file from scratch, through your submission, if I wanted to check things out.

!!Grading

Your grade will be based on how well you followed the above instructions, and the depth/quality of your work.

!!!Relevant Quote

"Any amount of work can be done in any amount of time... only the quality varies." ~Joao Meidanis