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.
Write this program using DrScheme, and the operators we’ve discussed, including these:
read-rsound : read a sound file, produce an rsound
write-rsound : given an rsound and a filename, write the sound to the file
play-rsound : play an rsound
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.
rsound-append* : given a list of rsounds, join them all sequentially to form one longer sound.
make-silence : given a number of frames and a sample-rate, produce an rsound containing that many frames of silence.
1 Inputs
Your program should use as input five seconds or less of an existing track, and your output should be at least 30 seconds long. (No, I won’t be impressed if you just loop the one sample six times.)
2 Partners
I want you to do this with a partner. You’re going to be working on larger projects as part of a team, so you need to figure out how to work with a partner. Let me know if you need help finding a partner.
3 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 source music (less than 5 seconds) that you used to create the music.
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.
4 Help!
If you need help, I strongly advise you to post to the google 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.
5 Due Date
This assignment is due at 11:00 PM on Friday night.