Difference between revisions of "Ripping Sounds"

From The VG Resource Wiki
Jump to: navigation, search
(Some PC games)
m (Common Sound Formats for Consoles: Sorted elements in a more coherent way, added Wii sound formats)
 
(4 intermediate revisions by 2 users not shown)
Line 7: Line 7:
 
|-
 
|-
 
| Dreamcast || Yamaha ADPCM
 
| Dreamcast || Yamaha ADPCM
|-
 
| GameCube || DSP/ADP/DTK ADPCM
 
 
|-
 
|-
 
| Hyperscan || DRM Container Format (Contains either raw PCM or IMA ADPCM stream)
 
| Hyperscan || DRM Container Format (Contains either raw PCM or IMA ADPCM stream)
Line 14: Line 12:
 
| iOS || Core Audio Format (CAF), Advanced Audio Codec (AAC)
 
| iOS || Core Audio Format (CAF), Advanced Audio Codec (AAC)
 
|-
 
|-
| Nintendo 3DS || BCWAV, BSTRM, DSP, Advanced Audio Codec (AAC)
+
| Nintendo GameCube || DSP/ADP/DTK ADPCM
 
|-
 
|-
 
| Nintendo DS/DSi || SWAV
 
| 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
 
| Panasonic 3DO || Squareroot-delta-exact 8-bit DPCM
Line 32: Line 38:
 
| PlayStation Portable || Sony ATRAC3plus
 
| PlayStation Portable || Sony ATRAC3plus
 
|-
 
|-
| XBOX (Original)|| Xbox IMA ADPCM. WMA  
+
| PlayStation Vita || PlayStation ADPCM, ATRAC9
 +
|-
 +
| XBOX (Original) || Xbox IMA ADPCM. WMA  
 
|-
 
|-
 
| XBOX 360 || XMA Variant 1 (Early Games), XMA Variant 2 (Late Games)
 
| XBOX 360 || XMA Variant 1 (Early Games), XMA Variant 2 (Late Games)
Line 42: Line 50:
 
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 [https://www.vg-resource.com/forum-116.html The Sounds Resource Ripping Help] sub-forum to receive aid in these cases.
 
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 [https://www.vg-resource.com/forum-116.html The Sounds Resource Ripping Help] sub-forum to receive aid in these cases.
  
== PS1 and PS2 ==
+
== PS1, PS2 ==
Use [http://snailrush.online.fr/ 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.
+
Use [http://snailrush.online.fr/ 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 [https://github.com/losnoco/vgmstream/blob/master/doc/TXTH.md TXTH] function of vgmstream in order to write a proper fake header for vgmstream to convert the audio codec.
  
 
== Nintendo 64 ==
 
== Nintendo 64 ==
Line 56: Line 64:
  
 
== Raw/Headerless Audio ==
 
== 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 [https://github.com/losnoco/vgmstream/blob/master/doc/TXTH.md TXTH] function of vgmstream in order to write a header that vgmstream can interpret and convert the audio codec with.
+
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.

Latest revision as of 21:23, 2 March 2023

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.
PC-FX PC-FX ADPCM
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.