05-12-2012, 09:55 AM
Video Game Sound Converter (a.k.a VGS Converter or just VGSC) is a program that basically has the ability to convert a range of different video game audio formats into .wav files. It can do multiple files at once, and it can be a mixture of formats.
The program uses a library called vgmstream, which does that actual converting. The range of file formats is quite large, and will hopefully include what people here wish to convert.
How to use
There are two ways to use this. The first and most straightforward way is to just open VGSC.exe, you'll see this:
A file opening dialog will come up. Navigate to and select the files you want to convert. Now a folder selection dialog will appear; use that to select the folder you want the converted files to be saved in (note: the folder must exist beforehand). You'll see a bunch of text come up, similar to this:
The other way you can run it is just through the command-line, either using the command prompt or writing a .bat file. This is the usage:
I'm planning to add extra optional arguments that affect how the files are converted in the future. For now however, this is probably not the option most people will use.
Compatability
Here is a list of the currently supported files according to the vgmstream readme (you can find the readme itself in the vgmstream subfolder of the application). I can't guarantee that all or most of these will work, I've only tested a few of them. However I believe that as long as you got the file from the console associated with its extension below (e.g. a .ss2 file from a PSX game), you should have no trouble converting it.
This compatibility list is from the readme, which hasn't been updated in a while. This is most likely because no major formats or features have been added, but there have been slight fixes and tweaks (hence newer vgmstream versions in each release), which you can view on the vgmstream SourceForge changelog. The changes made are mostly relatively small and only matter for specific situations and thus I'm not going to update VGSC for each revision, only when I update VGSC itself or if significant changes have been made to it. However, if you want me to update VGSC to a new revision of vgmstream for a specific purpose, feel free to say so.
Download
You can download the latest version, v2.0, here. The program is only available for Windows.
History log
Version 2.0 (Latest version)
-Rewritten in Haxe
-Better stability
-No installer required
-No runtime required, runs natively
-Updated vgmstream to r1024
Version 1.2 (Download)
-Implemented file adding/removing system
-Allowed dragging files into window
-Allowed adding of folders and their subfolders
-Made the window resizable
-The application now remembers the last folder you added files from
-Updated vgmstream to r1007
Version 1.1 (Download)
-Added save location options.
-Updated vgmstream to r979
Version 1.0 (Download)
Initial release. Uses vgmstream r975.
If you find any bugs, have any questions, or think the compatibility list is wrong, please post here. Comments on how awesome you think this is are also welcome, of course
The program uses a library called vgmstream, which does that actual converting. The range of file formats is quite large, and will hopefully include what people here wish to convert.
Unfortunately I'm not really useful at C++ or C# or any language that could use this library properly. I do know Haxe though, which can run separate programs.
One the very page that I linked to above, there's a link to some builds of a test program. This test program is basically a command-line application that samples what the library can do. Obviously it's not meant to be used properly, but it's got a few parameters that customize how files are converted. Unfortunately this is very tedious and pretty much useless if you want to convert a bunch of files, since it can only do one at a time.
What my application does is it accesses files selected by the user, feeds them through to this program (along with some parameters) and then the program does the rest, producing a .wav file. All my program really does is makes it easier for people to use this program, giving it a UI and the ability to convert multiple files (that is, converting files one after the other).
One the very page that I linked to above, there's a link to some builds of a test program. This test program is basically a command-line application that samples what the library can do. Obviously it's not meant to be used properly, but it's got a few parameters that customize how files are converted. Unfortunately this is very tedious and pretty much useless if you want to convert a bunch of files, since it can only do one at a time.
What my application does is it accesses files selected by the user, feeds them through to this program (along with some parameters) and then the program does the rest, producing a .wav file. All my program really does is makes it easier for people to use this program, giving it a UI and the ability to convert multiple files (that is, converting files one after the other).
How to use
There are two ways to use this. The first and most straightforward way is to just open VGSC.exe, you'll see this:
A file opening dialog will come up. Navigate to and select the files you want to convert. Now a folder selection dialog will appear; use that to select the folder you want the converted files to be saved in (note: the folder must exist beforehand). You'll see a bunch of text come up, similar to this:
The other way you can run it is just through the command-line, either using the command prompt or writing a .bat file. This is the usage:
Code:
VGSC inDir outDir
inDir: Path to directory containing files to convert
outDir: Path to directory where converted files will be saved
I'm planning to add extra optional arguments that affect how the files are converted in the future. For now however, this is probably not the option most people will use.
Compatability
Here is a list of the currently supported files according to the vgmstream readme (you can find the readme itself in the vgmstream subfolder of the application). I can't guarantee that all or most of these will work, I've only tested a few of them. However I believe that as long as you got the file from the console associated with its extension below (e.g. a .ss2 file from a PSX game), you should have no trouble converting it.
vgmstream readme Wrote:--- File types supported by this version of vgmstream ---
As manakoAT likes to say, the extension doesn't really mean anything, but it's
the most obvious way to identify files.
PS2/PSX ADPCM:
- .ads/.ss2
- .ass
- .ast
- .bg00
- .bmdx
- .ccc
- .cnk
- .dxh
- .enth
- .sir
- .filp
- .gcm
- .gms
- .hgc1
- .ikm
- .ild
- .ivb
- .joe
- .kces
- .khv
- .leg
- .mcg
- .mib, .mi4 (w/ or w/o .mih)
- .mic
- .mihb (merged mih+mib)
- .msa
- .msvp
- .musc
- .npsf
- .pnb
- .psh
- .rkv
- .rnd
- .rstm
- .rws
- .rxw
- .snd
- .sfs
- .sl3
- .smpl (w/ bad flags)
- .ster
- .str+.sth
- .str (MGAV blocked)
- .sts
- .svag
- .svs
- .tec (w/ bad flags)
- .tk5 (w/ bad flags)
- .vas
- .vag
- .vgs (w/ bad flags)
- .vig
- .vpk
- .vs
- .vsf
- .wp2
- .xa2
- .xa30
GC/Wii DSP ADPCM:
- .aaap
- .agsc
- .amts
- .asr
- .bns
- .bo2
- .capdsp
- .cfn
- .ddsp
- .dsp
- standard, optional dual file stereo
- RS03
- Cstr
- _lr.dsp
- MPDS
- .gca
- .gcm
- .gsp+.gsp
- .hps
- .idsp
- .ish+.isd
- .lps
- .mpdsp
- .mss
- .mus (not quite right)
- .ndp
- .pdt
- .sdt
- .smp
- .sns
- .spt+.spd
- .ssm
- .stm/.dsp
- .str
- .str+.sth
- .sts
- .swd
- .thp, .dsp
- .tydsp
- .vjdsp
- .waa, .wac, .wad, .wam
- .was
- .wsd
- .wsi
- .ydsp
- .ymf
- .zwdsp
PCM:
- .aiff (8 bit, 16 bit)
- .asd (16 bit)
- .baka (16 bit)
- .bh2pcm (16 bit)
- .dmsg (16 bit)
- .gcsw (16 bit)
- .gcw (16 bit)
- .his (8 bit)
- .int (16 bit)
- .pcm (8 bit, 16 bit)
- .kraw (16 bit)
- .raw (16 bit)
- .rwx (16 bit)
- .sap (16 bit)
- .snd (16 bit)
- .sps (16 bit)
- .str (16 bit)
- .xss (16 bit)
- .voi (16 bit)
- .wb (16 bit)
- .zsd (8 bit)
Xbox IMA ADPCM:
- .matx
- .wavm
- .wvs
- .xmu
- .xvas
- .xwav
Yamaha ADPCM:
- .adpcm
- .dcs+.dcsw
- .str
- .spsd
IMA ADPCM:
- .bar (IMA ADPCM)
- .dvi (DVI IMA ADPCM)
- .hwas (IMA ADPCM)
- .idvi (DVI IMA ADPCM)
- .ivaud (IMA ADPCM)
- .myspd (IMA ADPCM)
- .stma (DVI IMA ADPCM)
- .strm (IMA ADPCM)
multi:
- .aifc (SDX2 DPCM, DVI IMA ADPCM)
- .asf, .as4 (8/16 bit PCM, EACS IMA ADPCM)
- .ast (GC AFC ADPCM, 16 bit PCM)
- .aud (IMA ADPCM, WS DPCM)
- .aus (PSX ADPCM, Xbox IMA ADPCM)
- .brstm (GC DSP ADPCM, 8/16 bit PCM)
- .emff (PSX APDCM, GC DSP ADPCM)
- .fsb, .wii (PSX ADPCM, GC DSP ADPCM, Xbox IMA ADPCM)
- .genh (lots)
- .musx (PSX ADPCM, Xbox IMA ADPCM, DAT4 IMA ADPCM)
- .nwa (16 bit PCM, NWA DPCM)
- .psw (PSX ADPCM, GC DSP ADPCM)
- .rwar, .rwav (GC DSP ADPCM, 8/16 bit PCM)
- .rwsd (GC DSP ADPCM, 8/16 bit PCM)
- .rsd (PSX ADPCM, 16 bit PCM, GC DSP ADPCM, Xbox IMA ADPCM, Radical ADPCM)
- .rrds (NDS IMA ADPCM)
- .sad (GC DSP ADPCM, NDS IMA ADPCM, Procyon Studios NDS ADPCM)
- .seg (Xbox IMA ADPCM, PS2 ADPCM)
- .sng, .asf, .str, .eam (EA/XA ADPCM or PSX ADPCM)
- .strm (NDS IMA ADPCM, 8/16 bit PCM)
- .ss7 (EACS IMA ADPCM, IMA ADPCM)
- .swav (NDS IMA ADPCM, 8/16 bit PCM)
- .xwb (16 bit PCM, Xbox IMA ADPCM)
- .wav, .lwav (unsigned 8 bit PCM, 16 bit PCM, GC DSP ADPCM, MS IMA ADPCM)
etc:
- .2dx9 (MS ADPCM)
- .aax (CRI ADX ADPCM)
- .acm (InterPlay ACM)
- .adp (GC DTK ADPCM)
- .adx (CRI ADX ADPCM)
- .afc (GC AFC ADPCM)
- .ahx (MPEG-2 Layer II)
- .aix (CRI ADX ADPCM)
- .baf (Blur ADPCM)
- .bgw (FFXI PS-like ADPCM)
- .bnsf (G.722.1)
- .caf (Apple IMA4 ADPCM)
- .de2 (MS ADPCM)
- .kcey (EACS IMA ADPCM)
- .lsf (LSF ADPCM)
- .mwv (Level-5 0x555 ADPCM)
- .ogg, .logg (Ogg Vorbis)
- .p3d (Radical ADPCM)
- .rsf (CCITT G.721 ADPCM)
- .sab (Worms 4 soundpacks)
- .s14/.sss (G.722.1)
- .sc (Activision EXAKT SASSC DPCM)
- .scd (MS ADPCM, MPEG Audio, 16 bit PCM)
- .sd9 (MS ADPCM)
- .smp (MS ADPCM)
- .spw (FFXI PS-like ADPCM)
- .stm renamed .ps2stm (DVI IMA ADPCM)
- .str (SDX2 DPCM)
- .stx (GC AFC ADPCM)
- .um3 (Ogg Vorbis)
- .xa (CD-ROM XA audio)
loop assists:
- .mus (playlist for .acm)
- .pos (loop info for .wav)
- .sli (loop info for .ogg)
- .sfl (loop info for .ogg)
Download
You can download the latest version, v2.0, here. The program is only available for Windows.
History log
Version 2.0 (Latest version)
-Rewritten in Haxe
-Better stability
-No installer required
-No runtime required, runs natively
-Updated vgmstream to r1024
Version 1.2 (Download)
-Implemented file adding/removing system
-Allowed dragging files into window
-Allowed adding of folders and their subfolders
-Made the window resizable
-The application now remembers the last folder you added files from
-Updated vgmstream to r1007
Version 1.1 (Download)
-Added save location options.
-Updated vgmstream to r979
Version 1.0 (Download)
Initial release. Uses vgmstream r975.
If you find any bugs, have any questions, or think the compatibility list is wrong, please post here. Comments on how awesome you think this is are also welcome, of course