| CPSC 120 | Principles of Computer Science Using Multimedia Design |
Spring 2009 |
In this project, you, along with a partner from class, will create an audio collage, which is more elaborate than anything you have done in the other sound labs. It will incorporate several sounds and many of the sound transformations we have discussed in class. It will not be a random collection of transformed sounds, but instead will have some overall theme.
As with project 1, to start out, you will need to come up with a theme and plan for your audio collage. This will take some thinking with your group partner outside of class. This will be a significant program (more significant that what you have been doing in the labs), so make sure you come up with a good plan before starting to write any code.
After you have a theme and a plan, you should write a function called createCollage that creates your collage. You should put this in a file called project2.py within your project2 folder, which is within your cs120 folder on your desktop. I should be able to run your createCollage function to create your final collage (you will have to indicate in comments how to run this function, i.e., what parameters to give it, etc.). Furthermore, this function should do everything. You cannot create part of the sound, write it to a file, and then use that modified sound in createCollage. Instead, createCollage should do all the work, including all of the transformations that you use in your final collage.
You will probably also want to define other functions that you can call from your createCollage function. For example, if in one sound you change the frequency , you might create a changeFreq function, which can be called in your createCollage function. Feel free to define as many functions as you want. The only requirement is that you have a createCollage function, which creates the entire audio collage. I do not want to have to run lots of different functions when grading your project.
There are also several requirements for your collage that you must follow in completing this project.
Number of transformations. You must use at least five distinct transformations from class and the textbook (or more if you like). You do not have to apply each transformation to the entire collage, but each must be applied to some part of the collage (e.g., one sound within the collage). These transformations cannot be variations off one general theme. For example, if you increase the frequency from one part of the collage, then decreasing the frequency does not count as a second transformation (although feel free to do both if you need to -- it just won't count as two transformations). However, if you echoed another part of the collage, this would count as a second transformation.
Arrangement. You may not simply transform five sounds and merge them altogether, one after another. You must do some blending and/or splicing. In other words, the sounds must be combined in some non-trivial way.
Length. Your final audio sound must be at least 15 seconds long (or longer if you would like).
Overall theme. Like the picture collage from project 1, the audio collage should not be a random collection of sounds, but instead must have an overall theme. That theme might be fairly general (e.g., different transformations on the sounds you hear in the game of baseball), but there should be some theme that encompasses all of the sounds within the collage.
If you are in doubt about whether your project is meeting the requirements, then ask me. Also, with my permission, some of the restrictions can be lifted so long as you are doing a significant amount of work in the project and the collage you are creating is cool or nifty in some way. Remember, if you have any concerns about any of these requirements, then it is a good idea to talk with me (or at the very least, email me).
Below are some example audio collages from the CS 120 course in the fall semester. You can click on the link to hear each collage.
| ABCs (version 1) | ABCs (version 2) | Techno Remix | Dumb and Dumber |
| Designed by Stacey Rice and April Soriano | Designed by Sandro Valle | Designed by Steve DePatie and Jacob Reile | Designed by Dan Gadigian and Ronald Martin |
Extra credit is possible for particularly cool and nifty audio collages, which take a significant amount of work to create.
kJES only works with wav files so you will need to get a hold of some wav files for use in this project. You can use wav files from a number of different places. First, there are several wav files linked off of the course web page:
http://math.hws.edu/mcorliss/teaching/spring09/cs120/sounds/There are also several web sites that provide free wav files. Here is a site that has links to several free wav file sites:
thefreesite.comIf you don't find what you want there, you can always google "free wav files" to find additional sites. Just remember, you may not use copyrighted files. Furthermore, not all wav files will work within kJES. You will need wav files that are sampled at 22,050 samples per second (some have different sampling rates).
In addition, you can also create your own wav files using software such as: Audacity or ACID XPress. If you would like to make your own original source files (e.g., to record yourself saying something) and you don't feel you have the expertise to do this, then come see me and I may be able to help.
As in project 1, you will work on this project in groups of two. (Note: you can work on this individually but I would strongly advise you to find a partner.) Each group will submit exactly one project. The group will also receive a single grade for the project (i.e., both team members will get the same grade). You and your partner will need to spend some time out of class, thinking and planning your collage and then once you have that plan, you will need to sit down on a computer and program it.
Both members of the group should actively contribute to the project. One team member could receive a lower grade if it is not clear that they contributed in a significant way. If/when possible, you might even split some of the work up in order to be more efficient. For example, one team member could write one of the transformations and another could write a second transformation.
Finally, as you are working in teams, I also expect that you will be able to do a more significant project, and I will grade accordingly. So make sure you do a good job on this project.
For the project, it is especially important to follow the good programming style rules laid out in lab 3. In particular, you will be graded more rigorously on your comments. Also, you should use good variable and function names that indicate the use of that variable and/or function. Most importantly, make sure that your code is readable. You will probably end up with a fairly large program. Make sure that all the parts of that program are clear. Break up different tasks into additional functions, for example, changing frequency, changing amplitude, etc. Take this aspect of the project seriously. It is very important when writing large programs, and its importance will be reflected in the grading of your project.
The project is due in two weeks at 1:45PM on Monday, April 27th (note: it was extended from Friday). To submit the project, you will put the submitted files in the project2 folder within your cs120 folder on your desktop. The submitted files should include the file project2.py, which contains your Python code, as well as all of your original sound files and your final collage file.
In addition, you must put your audio collage on your cs120 web page (cs120.html). You will add it to the table in cs120.html within your www folder. You do not need to put the original sound files into the table, just the resulting audio collage.
Because each team is submitting only one project, you will only need to put the Python file and original sounds in one team member's project2 submission folder (although you are welcome to put the files in both team member's folders). However, the final audio collage sound file must appear on both team member's cs120 web page. In addition, one of the two group members must send me an email telling me the members of the group, the theme of the group's collage, and which team member's project2 folder will be used to submit the project.
|
|