This week, your assignment is to produce a program that chops, slices, and dices an existing piece of music to make something new and pleasing to the ear. In particular, the song we’ll be using is Stevie Wonder’s Higher Ground. For a limited time, you can download it.
Write this program using DrRacket, and the operators we’ve discussed, including these:
rs-read : read a sound file, produce an rsound
rs-write : given an rsound and a filename, write the sound to the file
play : play an rsound
clip : given an rsound and two frame numbers start and finish, produce a new rsound contining the chunk of the sound starting at frame start and ending just before frame finish.
So, for instance, if my-sound refers to a sound with a sample rate of 11025, then (rsound-subchunk my-sound 22050 33075) would produce a sound containing the third second of the given input sound.
rs-append : given two rsounds, join them sequentially to form a longer sound.
rs-append* : given a list of rsounds, join them all sequentially to form one longer sound.
silence : given a number of frames, produce an rsound containing that many frames of silence.
You may also use and/or modify the code in the tiny percussion tracker of lab 4.
Your program must be exactly 30 seconds long.
1 Partners
In this assignment, I’m going to be assigning partners. Each of you should receive e-mail indicating whom your partner is. Introduce yourself to your partner, and try to find a time when you’ll be able to work together on the project.
2 Handin
To hand in your programs, you’ll need to add them to your course web page. You remember, the one you set up in Lab 2. The page needs to contain the following items.
The music that you assembled (use soundcloud or similar to get the music onto the page).
The program that you wrote to produce the music.
A one-paragraph description of the idea that you used to create the music.
Note that both members of the team must do this; I want all of you to be able to make this work.
3 Help!
If you need help, I strongly advise you to post to the piazza group rather than contacting me directly: I’ll respond to both, and that way others can see your questions. Often, you’ll get a good answer more quickly from someone other than me.
4 Due Date
This assignment is due at 11:00 PM on Tuesday night.