Foley and sound effects editor
From SoftwarePractice.org
This article describes a foley and sound effects editor project. It is suitable for a second-year Java design and programming class.
Description
This project is to design and implement a foley and sound effects editor for movie soundtracks. The foley track is used to create the sounds made by the actors in the film. Traditionally, the foley sounds are created specifically for a particular scene by using various props to create sounds like shoes walking, doors slamming, and so on. This work is done by a team of foley artists and the foley editor, who puts the sounds created by the artists together into the foley track.
The sounds effects crew works a little differently to the foley crew. They are less concerned with intimate sounds made by an actor (such as footsteps and chairs creaking), and more with "big" sounds like explosions and machine noises. They make use of an extensive library of pre-recorded sounds, including some purchased from other companies. Some sound effects will also be recorded or electronically synthesized specifically for a particular film.
There are obviously a lot of similarities between the two tasks. This project is to implement an editor that will work for both. As such, it must be possible to record sounds and add them to a library of sound clips. Then, specific clips from the library can be added to a "track." The track is a list of sound events, where each event consist of the sound clip ID, the time at which it is to be played, its volume, and its "pan" information (see below).
The program is able to store an arbitrary number of tracks, each of which can be played back at any time. To play the track, the program plays back each sound at the appropriate time.
Each sound can be positioned between the left and right speakers. (For simplicity, we will assume that the film only has a stereo soundtrack.) As a starting point, you may wish to simply adjust the relative volumes to the left and right channels. Advanced teams may wish to attempt to make the sound "pan" between the left and right channels while it is playing.
To demonstrate the program, you will construct a track for a 60-second video of your choice, and play it back in sync with the video.
