Ripping Sounds

From The VG Resource Wiki
Jump to: navigation, search

Common Sound Formats for Consoles

Unlike others areas of ripping (such as Textures and Sprites) where proprietary formats are game-specific, there are audio format generalizations for each console (For example, you will generally only find PlayStation ADPCM on PlayStation Games, and you would only find Xbox IMA-ADPCM on Original XBOX games). This is a list of consoles, and their console-specific audio formats:

Console Format
Dreamcast Yamaha ADPCM
Hyperscan DRM Container Format (Contains either raw PCM or IMA ADPCM stream)
iOS Core Audio Format (CAF), Advanced Audio Codec (AAC)
Nintendo GameCube DSP/ADP/DTK ADPCM
Nintendo DS/DSi SWAV
Nintendo 3DS BCWAV, BCSTM, DSP, Advanced Audio Codec (AAC)
Nintendo Wii BRSTM, BRWAV (Usually packed in a BRSAR)
Nintendo Wii U BFSTM, BFWAV
Nintendo Switch BFSTM, BFWAV
Panasonic 3DO Squareroot-delta-exact 8-bit DPCM
PC PCM Variants, Really any format possible.
PlayStation 1 PlayStation ADPCM
PlayStation 2 PlayStation ADPCM, ATRAC3, AC3, 16-bit OKI ADPCM
PlayStation 3 PlayStation ADPCM, ATRAC3, MPEG
PlayStation Portable Sony ATRAC3plus
PlayStation Vita PlayStation ADPCM, ATRAC9
XBOX (Original) Xbox IMA ADPCM. WMA
XBOX 360 XMA Variant 1 (Early Games), XMA Variant 2 (Late Games)

While these formats are common, games are not limited to these formats. This is just a generalization of what you may occur when you look into games from these platforms.

PC games

PC games are generally a different case across all consoles. You never know what format you may encounter, until you get into the file-system of the game. Generally speaking, sound formats should be more-so primitive rather than dynamic, and you can usually convert with ease. In cases where you have an unknown audio format, you may need to create a thread in The Sounds Resource Ripping Help sub-forum to receive aid in these cases.

PS1, PS2

Use PSound. Requires Windows or WINE. Open your PlayStation game and drag any files containing sound into the program. Tell it to scan the file if prompted. Then, select all the resulting files (Ctrl+A) and convert them (Ctrl+V). If the files have looping issues, go to the configuration (Ctrl+C) and set the loop count and fade-out time to 0. If the files are playing at the wrong speed, go to the configuration and force the sample rate to the correct value. If the files are too slow, increase this value, and if they're too fast, decrease it. Sometimes, PSound can't necessarily pick-up the audio codec that's found in these games, as it is limited to some forms of PS-ADPCM. In this case, you will have to utilize the TXTH function of vgmstream in order to write a proper fake header for vgmstream to convert the audio codec.

Nintendo 64

Use N64SoundListToolUpdated. Requires Windows and Microsoft Visual C++ 2008 SP1. You may have to correct the speed of certain sounds using an external program such as ffmpeg.

Batch-converting sample rates using ffmpeg (Linux)

for i in *.wav; do ffmpeg -i "$i" -af asetrate=16000 "16000/${i%.*}.wav"; done

Flash games

Use JPEXS. Load your SWF file into it, right-click the "sounds" folder and "Export selection".

Raw/Headerless Audio

Some games store their sounds as raw/headerless audio. Options for conversion are either using Audacity to import raw audio, or using the TXTH function of vgmstream in order to write a header that vgmstream can interpret and convert the audio codec with.