07-14-2014, 08:23 PM
VGSC (Video Game Sound Converter) 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. I should point out that my program is only a wrapper and I cannot add to or modify the conversion code, so please don't ask me to.
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:
This is just information about the files it's converting. You'll notice that files aren't compatible if you see "failed opening".
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 in the future that affect how the files are converted. For now however, this is probably not the option most people will use.
Compatibility
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), it should probably give you some results.
Download
You can download the latest version, v2.1, here.The program is only available for Windows.
The source code is available up on Github; keep in mind this is the code for the VGSC wrapper and not the vgmstream converter.
History log
Version 2.1 (Latest version)
-Prints stuff a bit nicer
-Added readme
-Fixed a bug that didn't disable looping by default
-Updated vgmstream to r1040
Version 2.0 (Download)
-Rewritten in Haxe
-Better stability
-No installer required
-No runtime required, runs natively
-Updated vgmstream to r1026
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 just want to say how helpful this is, feel free to post here or PM me
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. I should point out that my program is only a wrapper and I cannot add to or modify the conversion code, so please don't ask me to.
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.
On 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 vgmstream library can do. It's not exactly 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.
On 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 vgmstream library can do. It's not exactly 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.
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:
This is just information about the files it's converting. You'll notice that files aren't compatible if you see "failed opening".
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 in the future that affect how the files are converted. For now however, this is probably not the option most people will use.
Compatibility
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), it should probably give you some results.
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.1, here.The program is only available for Windows.
The source code is available up on Github; keep in mind this is the code for the VGSC wrapper and not the vgmstream converter.
History log
Version 2.1 (Latest version)
-Prints stuff a bit nicer
-Added readme
-Fixed a bug that didn't disable looping by default
-Updated vgmstream to r1040
Version 2.0 (Download)
-Rewritten in Haxe
-Better stability
-No installer required
-No runtime required, runs natively
-Updated vgmstream to r1026
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 just want to say how helpful this is, feel free to post here or PM me