Lab 13
For this lab, you are to take a sound object and recreate
the effect of "scratching" used by Hip-Hop DJ's. This is
when the DJ uses a turn-table and quickly moves the record
backwards and fowards a few times.
Here are some
good files for the base sound:
For this lab, about 3-5 seconds into the playing of the sound,
you are to add a scratch effect, after the scratch effect is
over play another 3-5 seconds of the original sound.
The scratch effect should be done as follows:
- About 3/10ths of a second of the sound played quickly forward
- The same amount of the sound played quickly backward
- Steps 1 and 2 repeated two more times.
The scratch effect should have sound played at more than double
speed (triple speed should be good). To "play" a sound at a faster
speed, we copy over only some of the sound samples. If we copy
every other sound sample we get a sound at double speed (which
is what was done on
Lect1118a.java when we
doubled the pitch of a sound). If we copy every third sample,
we triple the speed of the original sound.
To "play" a sound backward, we must reverse the sound as was
done in Lect1116d.java.
Of course there we reversed the entire sound instead of just
a small part of the sound.
To help with this lab, you may wish to look at the code
in Lect1118d.java.
This code has a method that will copy part of a Sound object
into a new Sound object. It also has a method that will
take two Sound objects and combine them together by
appending the second to the end of the first.
Lab Assignment 13
Due: Monday 11/29/2009 by 11:59 pm
Note the change in the normal time when the lab is due.
This is because of the Thanksgiving break.
Create a Java program that will:
- Contain a comment indicating
- your Name,
- Net-ID,
- Course Name,
- Assignment Name and
- a short description of
the assignment
- Contain the main() method that will
- Prompt the user for a sound file and make a sound object
from this file.
- Create 3 new sounds objects from parts of this sound object
- The first 3-5 seconds of the original sound
- About 3/10th of a second of the original sound starting at the
place where the first part ends
- Onather 3-5 seconds of the original sound starting at the place
where the first part ends
- Call the method createScratch( ) to create the Scratch Effect
using the second part of the original sound as the base for the scratch effect.
- Combine the first part, the created Scratch sound and the third part together
- play (or explore) the resulting combined sound and
prompt the user to save it in a file
- The method addScratch ( ) is to:
- Take a sound object as its parameter
- Return a newly created sound object that:
- Has the sound given by the parameter played quickly forward (at about triple speed)
- The same amount of the sound played quickly backward (at about triple speed)
- Repeat steps 1 and 2 two more times for a total of 6 copies of
the original sounds (3 played forward quickly and 3 played backward quickly)
How assignments should be submitted
You are also to submit the Java file
electronically via the link in Blackboard.
Here are some example sound files you can use with this assignment.