From Hero of Allacrost
Assuming you are using sequencing software, the project starts with creation of the notes using various synthesizers and samplers. This process is really left to the discretion of the composer or producer. All real composition, orchestration, and sound design skill should be done in this phase of audio production. In short, audio production starts with writing the song.
Once the song is completed, it must be bounced into a digital format. The higher the bit rate and sample rate, the better. The drawback of higher fidelity is resource consumption, so a balance must be struck. With a modern computer with a decent sound card, it should not be difficult to achieve 96khz 24bit per channel. It is important to note in the bouncing phase where and when you want to loop audio. It is equally important to loop your tracks not at where it musically makes since, but afterwards (a good measure ahead). This way, any lead in is included, and included decay won't sound abrupt. Only two points are needed (the starting loop position, and the ending loop position, which do not have to be the start and end of the song).
Note that the audio engine in Allacrost allows the definition of multiple looped sections in a song. For example, if we had a 2:00 minute song with an 'A' section in the first 30 seconds, a 'B' section in the next minute, and a 'C' section in the final 30 seconds, in the game we could play the song as: Begin by playing C twice, then play A once, then loop B infinitely until an external event occurs, then blend back into A and loop 5 times, and finally finish C by playing it 3 times and stopping the music. This allows the composer to create a piece of music of related sections all in a single file, rather than being forced to split the music up into multiple files for each section.
With this setup, each channel should be mixed, altered, and adjusted until the desired final audio is achieved. This is called mastering, which will yield an end result of a digital audio file (typically .wav format) that can be played and contains the completed audio in a large file format. The loop points (determined during the bounce stage) should also be identified at the sample level. It is important to find the actual sample and NOT the time at which the looping occurs.
The final stage is to take the audio file and convert it into vorbis (.ogg) format. This format is patent free, and is the standard used within this game. Conversion can be done with a utility, or automatically in Soundforge, Audacity, or many other professional audio applications.
Music File Format Standard
All music in the game is encoded in Vorbis Ogg format, with no exceptions granted. The .ogg file should contain these properties:
- Channels: 2 channels (stereo)
- Frequency: 44,100 Hz (44.1 kHz)
- Compression rate: 5 (this yields an average bit-rate of around 160kbps)
|TITLE||Properly capitalized track title. Add "(tentative)" to the end of the title if the track name is not yet final.|
|VERSION||The first completed draft is always 1.0. If you write only a portion of the track, the first version number should be 0.1.|
|ALBUM||Hero of Allacrost Soundtrack|
|ARTIST||Name of composer(s). The list of names should be in the order in which the most work was done in creating the track (from left to right)|
|COPYRIGHT||2004-2007, The Allacrost Project|
|LICENSE||GNU Public License (GPL)|
|ORGANIZATION||The Allacrost Project|
|DESCRIPTION||A short text description of the contents|
|GENRE||A list of keywords identifying the genre.|
|DATE||The date that the track was recorded.|
|CONTACT||http://www.allacrost.org/ (optionally followed by 'email@example.com)|
Basic design of a sound file
Sounds are very difficult to make from scratch, especially when you have neither a recording studio nor a budget, as the Allacrost project has neither. Below is a list of steps for how we typically approach the production of sounds for the game.
1. Find a freely-available sound to start from.
There are many sounds (of various quality) available for no cost across the internet. Two excellent sites for keeping a searchable repository of wannabe-free sounds are: http://freesound.iua.upf.edu/ and http://www.findsounds.com/ . We usually pull our sound sources from these two sites. http://pdsounds.org/ contains free stuff.
2. Make modifications to the sound source.
Why should we bother to modify a sound that we just discovered? The answer is because Allacrost is not the only project out there (game or othewise) using this repository of free sounds. We do not wish for our game to have noticable simalarities to other forms of media, even though some professionals do it. (You may have noticed a scream originally from the first Command & Conquer game during the movie Star Wars Episode III: Revenge of the Sith). Modifications to the sound may be small, or may be large, depending on the situation and what is needed of the sound.
3. Test loopability, test in-context.
The final step is to test whether the sound loops well (if it is supposed to loop) and then to test the sound in the game itself in a situation that it will be used for. If the sound is unsatisfactory, then the sound artist should go back to step 2 and make additional modifications to the sound, then come back to step 3 and try again. Some sounds will need to be in-sync with a visual animation, which can be very tricky and tedious to get right.
Sound File Format Standard
Sounds are in WAV format with a single channel (mono). The reason sounds are single-channel is because they must be for effects such as distance attenuation to work in the OpenAL audio engine. Stereo channel sounds will still playback in the game, but they will not be able to take advantage of the more advanced features of the audio engine.
Bit Rate - The number of bits in every sample. A 16 bit channel (CD Quality) means that each sample in the channel is a 16 bit signed integer ((2^16)/2 or -32768 through 32767). Essentially, the higher the bit rate, the better the audio quality See Also Sample rate and Channel
Bounce - To take digital midi data and record it as analogue audio, then convert into digital audio. This is typically done by setting a track in your sequencer to digital audio, and recording to that track from your sound module's audio out. See Also Feedback
Channel - A series of samples that are played and mapped to a given device. In general, there are two channels, mapped to left and right speakers. When mixing, there can be any number of channels, each with an optional panning between the two master channels, or a set panning to be applied to the final mix. See Also Panning
Feedback - What happens when the output device and input device are the same device. Usually a feedback loop occurs when a microphone is placed to near to a speaker, causing an irritating loud moan or squeal. Except as an extreme effect, feedback shoudl always be avoided.
Panning - The relative position of a channel between two or more audio outputs. Typically, panning is represented by a number between 0 and 127, 0 being the left channel, and 127 being the right.
Sample - a single signed integer that represents the voltage applied to a given channel. With a series of samples, a wave can be generated, causing vibration on a channel (for example, the left speaker channel), which in turn produces sound of a given amplitude, pitch and timbre.
Sample rate - The ratio of samples per second, measured in kilohertz (khz). A 44.1khz sample rate (CD Quality) means that 44100 samples will be in a second of audio. This is, of course, per channel. See Also Bit rate and Channel